33
Wiki-like collaborative development for seamless customer involvement How can we make a seamless workflow where “Business people and developers work together daily”? [email protected] [email protected]

Wiki-like collaborative development for seamless customer involvement

Embed Size (px)

DESCRIPTION

Presentation at the Italian Agile Day (Reggio Emilia - Nov 30th, 2013)

Citation preview

Page 1: Wiki-like collaborative development for seamless customer involvement

Wiki-like collaborative developmentfor seamless customer involvement

How can we make a seamless workflow where “Business people and developers work together daily”?

[email protected]@nispro.it

Page 2: Wiki-like collaborative development for seamless customer involvement

The problem: communication in real life

2

Page 3: Wiki-like collaborative development for seamless customer involvement

Who is going to use the system?

AlbertAnalyst

We're having a public event next month. We want to have online registrations.

ChrisCEO

Sandra of marketing is in charge of that

ChrisCEO

What goal do you want to achieve?

AlbertAnalyst

At least 400 registrations. The more, the better.

ChrisCEO

An exciting new project

3

Page 4: Wiki-like collaborative development for seamless customer involvement

I'll see what we can do. What is your #1 priority?

AlbertAnalyst

Good, we need to get going quickly. Time is money, can we have it by the end of the week?

SandraMarketing

The registration form must be online ASAP

SandraMarketing And your second most urgent priority?

AlbertAnalyst We need the list of registered participants so we can

send them updates about the event by email

SandraMarketing

Hi, I'd like to discuss your requirements for the new event registration system

AlbertAnalyst

Any ideas about what to ask in the form?

AlbertAnalystWe did an event last quarter and there was a paper form.

Basic stuff: name, business contacts.

SandraMarketing May I have a copy of the form?

AlbertAnalystSure

SandraMarketing Any other requirements?

AlbertAnalystNothing that I can think ofSandra

Marketing4

Page 5: Wiki-like collaborative development for seamless customer involvement

By the end of the week...

Ok, we can sort it out. Just send me the branding files by email.

AlbertAnalyst

Let's have a look. Hmm, looks good but the branding is wrong. We have a special branding for this event.

SandraMarketing

I want Martha, who is a colleague of mine, to have a look at this. Martha....

SandraMarketing

We'll need to improve the back-office functionality a bit

AlbertAnalyst

Here is a first version of the system. The form is on-line and the list of participants is available.

AlbertAnalyst

All right, all right, see you next week

SandraMarketing

Hi. The list of participants is great, but I know some participants will never register online. They call me on the phone and ask me to add them. Others call me to cancel the registration. How can I handle this on the system?

MarthaMarketing

5

Page 6: Wiki-like collaborative development for seamless customer involvement

Ideas for discussion

• Some requirements come out only when the system is available

• Some users are involved only when the system is available

6

Page 7: Wiki-like collaborative development for seamless customer involvement

Ok, what is it about?

RobertDeveloper

The client has asked for a new feature

JohnDesigner

The number of speakers has become so high that the marketing office cannot handle the load. They want the speakers to log in and be able to do a bunch of stuff, like viewing the people interested in their talk or the answers to the feedback form.

JohnDesigner That doesn't sound difficult. The system already has this

functionality for the marketing office. We just need to create a similar view for the speakers.

RobertDeveloperGood, are you available for the implementation?

JohnDesigner Not for the next three weeks

RobertDeveloperOuch. Can I implement it myself?

JohnDesigner

Sure just install the SDK, the platform, the IDE, the build system, the application server and you're good to go

RobertDeveloperHmmm, I don't think I'm ready for that...

JohnDesigner

Three months later, the development teamhandles a new requirement

7

Page 8: Wiki-like collaborative development for seamless customer involvement

Ideas for discussion

• Simple changes should be simple to make

• End-user computing(use with caution)

8

Page 9: Wiki-like collaborative development for seamless customer involvement

One year later, the system is mature and has been used successfully for several events

Documentation?

AlbertAnalyst

Where is the documentation?

MarkTraining

Yes we're rolling out the system to a new office and they need to learn how to use the system

MarkTraining We've exchanged some documents with the customer

that could serve the purpose, but they're almost one year old.

AlbertAnalyst

9

Page 10: Wiki-like collaborative development for seamless customer involvement

Ideas for discussion

• Separate documentation gets old and outdated

• In-system help is kept aligned more often

10

Page 11: Wiki-like collaborative development for seamless customer involvement

Two years later, at the coffee machine

Not sure. Who's coming anyway?

TomDeveloper

So what are the plans for this year's christmas party?

JohnDeveloper

Our team is definitely going, but I'm not sure about the others. Should we send an email to everybody?

JohnDeveloper

We could use the event reservation system to find out

TomDeveloperNo way, it's too complicated. I'll hack an online form in

php over the lunch break.

JohnDeveloper

11

Page 12: Wiki-like collaborative development for seamless customer involvement

Ideas for discussion

• Remember to scale down, not only scale up

12

Page 13: Wiki-like collaborative development for seamless customer involvement

A collaborative workflow is possible in the common ground

Wiki-like development: the practice

13

Page 14: Wiki-like collaborative development for seamless customer involvement

Users/Business analysts Developers

Specs

Testing

Docs

CodingAnalysis

A skills perspective

14

Page 15: Wiki-like collaborative development for seamless customer involvement

Informal Formal

Executablespecs

In-system help

Code

Docs

Free text

Wiki

A formality perspective

15

Page 16: Wiki-like collaborative development for seamless customer involvement

Smaller applications Larger applications

Pragmaticsolutions

Methodology

Standardtools

Repeatability

Quick hacks

Best toolfor the job

A size perspective

16

Page 17: Wiki-like collaborative development for seamless customer involvement

Rough Refined

Frameworks/platforms

Mock code

Mature codeMockups

A refinement perspective

17

Page 18: Wiki-like collaborative development for seamless customer involvement

} Presentation

} Customization

} Security

} Data access18

Page 19: Wiki-like collaborative development for seamless customer involvement

19

An example

Page 20: Wiki-like collaborative development for seamless customer involvement

20

Page 21: Wiki-like collaborative development for seamless customer involvement

21

Page 22: Wiki-like collaborative development for seamless customer involvement

22

Page 23: Wiki-like collaborative development for seamless customer involvement

23

Page 24: Wiki-like collaborative development for seamless customer involvement

24

Page 25: Wiki-like collaborative development for seamless customer involvement

25

Page 26: Wiki-like collaborative development for seamless customer involvement

26

Page 27: Wiki-like collaborative development for seamless customer involvement

Lessons learnt27

Page 28: Wiki-like collaborative development for seamless customer involvement

Do’s

• One installation, from the beginning, shared by all

• Testing and validation early (by/with end users)

• Requirements, implementation and help on the same page

• Configuration AND customization (not VS)

• Prototypes: make them pretty

28

Page 29: Wiki-like collaborative development for seamless customer involvement

Do’s (2)

• Let developers have their local environment if needed

• Require common skills

• Integrate nicely with current technologies

• Integrate nicely with the tools (IDEs, build automation, CI)

29

Page 30: Wiki-like collaborative development for seamless customer involvement

Don’ts

• Don’t make a single skill critical

• End-user computing doesn’t scale well (for complexity)

• Don’t ignore trade offs, learn from them

30

Page 31: Wiki-like collaborative development for seamless customer involvement

Ideas for future work

• Better integration with versioning

• Better integration with project/process management

• More fluid workflow: sketch -> spec -> prototype -> implementation

31

Page 32: Wiki-like collaborative development for seamless customer involvement

References

Portofino:https://sourceforge.net/projects/portofino/http://www.manydesigns.com/en/portofino

32

Page 33: Wiki-like collaborative development for seamless customer involvement

Thank you

Paolo PredonzaniMANYDESIGNS srl [email protected]@manydesigns

Carlo BonamicoSolution Architect & [email protected]@carlobonamico