Wiki-like collaborative development
for seamless customer involvement
How can we make a seamless workflow where
“Business p...
The problem: communication
in real life
2
An exciting new project
We're having a public event next month. We want to have
online registrations.
Chris
CEO

Who is go...
Hi, I'd like to discuss your requirements for the new event
registration system
Good, we need to get going quickly. Time i...
By the end of the week...
Here is a first version of the system. The form is on-line
and the list of participants is availa...
Ideas for discussion
• Some requirements come out only when
the system is available

• Some users are involved only when t...
Three months later, the development team
handles a new requirement
The client has asked for a new feature
John
Designer

O...
Ideas for discussion
• Simple changes should be simple to make
• End-user computing
(use with caution)

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

Where is the documentation?
Mark
T...
Ideas for discussion
• Separate documentation gets old and
outdated

• In-system help is kept aligned more often

10
Two years later, at the coffee machine
So what are the plans for this year's christmas party?
John
Developer

Not sure. Wh...
Ideas for discussion

• Remember to scale down, not only scale up

12
Wiki-like development: the practice

A collaborative workflow is possible in
the common ground
13
A skills perspective

Specs
Analysis

Testing

Coding

Docs

Users/
Business analysts

Developers
14
A formality perspective

Free text
Wiki

Informal

Executable
specs
In-system help

Code
Docs

Formal
15
A size perspective
Methodology
Quick hacks
Best tool
for the job

Pragmatic
solutions

Standard
tools
Repeatability

Small...
A refinement perspective

Mockups

Frameworks/
platforms

Mature code

Mock code

Rough

Refined
17
} Presentation
} Customization
} Security
} Data access

18
An example

19
20
21
22
23
24
25
26
Lessons learnt
27
Do’s
•
•
•

One installation, from the beginning, shared by all

•
•

Configuration AND customization (not VS)

Testing and...
Do’s (2)
•
•
•
•

Let developers have their local environment if needed
Require common skills
Integrate nicely with curren...
Don’ts
• Don’t make a single skill critical
• End-user computing doesn’t scale well (for
complexity)

• Don’t ignore trade...
Ideas for future work
• Better integration with versioning
• Better integration with project/process
management

• More flu...
References
Portofino:
https://sourceforge.net/projects/portofino/
http://www.manydesigns.com/en/portofino

32
Thank you
Paolo Predonzani
MANYDESIGNS srl founder
paolo.predonzani@manydesigns.com
@manydesigns
Carlo Bonamico
Solution A...
Upcoming SlideShare
Loading in …5
×

Wiki-like collaborative development for seamless customer involvement

773 views
705 views

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
773
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Wiki-like collaborative development for seamless customer involvement

  1. 1. Wiki-like collaborative development for seamless customer involvement How can we make a seamless workflow where “Business people and developers work together daily”? paolo.predonzani@manydesigns.com carlo.bonamico@nispro.it
  2. 2. The problem: communication in real life 2
  3. 3. An exciting new project We're having a public event next month. We want to have online registrations. Chris CEO Who is going to use the system? Sandra of marketing is in charge of that Albert Analyst Chris CEO What goal do you want to achieve? Albert Analyst At least 400 registrations. The more, the better. Chris CEO 3
  4. 4. Hi, I'd like to discuss your requirements for the new event registration system Good, we need to get going quickly. Time is money, can we have it by the end of the week? Sandra Marketing I'll see what we can do. What is your #1 priority? The registration form must be online ASAP Sandra Marketing Albert Analyst And your second most urgent priority? We need the list of registered participants so we can send them updates about the event by email Sandra Marketing Albert Analyst Any ideas about what to ask in the form? We did an event last quarter and there was a paper form. Basic stuff: name, business contacts. Sandra Marketing Albert Analyst May I have a copy of the form? Albert Analyst Sure Sandra Marketing Sandra Marketing Albert Analyst Any other requirements? Nothing that I can think of Albert Analyst 4
  5. 5. By the end of the week... Here is a first version of the system. The form is on-line and the list of participants is available. Let's have a look. Hmm, looks good but the branding is wrong. We have a special branding for this event. Sandra Marketing Ok, we can sort it out. Just send me the branding files by email. I want Martha, who is a colleague of mine, to have a look at this. Martha.... Sandra Marketing Albert Analyst Albert Analyst 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? Martha Marketing We'll need to improve the back-office functionality a bit All right, all right, see you next week Sandra Marketing Albert Analyst 5
  6. 6. Ideas for discussion • Some requirements come out only when the system is available • Some users are involved only when the system is available 6
  7. 7. Three months later, the development team handles a new requirement The client has asked for a new feature John Designer Ok, what is it about? 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. John Designer 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. Good, are you available for the implementation? John Designer Robert Developer Sure just install the SDK, the platform, the IDE, the build system, the application server and you're good to go Hmmm, I don't think I'm ready for that... John Designer Robert Developer Not for the next three weeks Ouch. Can I implement it myself? John Designer Robert Developer Robert Developer 7
  8. 8. Ideas for discussion • Simple changes should be simple to make • End-user computing (use with caution) 8
  9. 9. One year later, the system is mature and has been used successfully for several events Where is the documentation? Mark Training Documentation? Yes we're rolling out the system to a new office and they need to learn how to use the system Mark Training Albert Analyst We've exchanged some documents with the customer that could serve the purpose, but they're almost one year old. Albert Analyst 9
  10. 10. Ideas for discussion • Separate documentation gets old and outdated • In-system help is kept aligned more often 10
  11. 11. Two years later, at the coffee machine So what are the plans for this year's christmas party? John Developer Not sure. Who's coming anyway? Our team is definitely going, but I'm not sure about the others. Should we send an email to everybody? John Developer Tom Developer We could use the event reservation system to find out No way, it's too complicated. I'll hack an online form in php over the lunch break. Tom Developer John Developer 11
  12. 12. Ideas for discussion • Remember to scale down, not only scale up 12
  13. 13. Wiki-like development: the practice A collaborative workflow is possible in the common ground 13
  14. 14. A skills perspective Specs Analysis Testing Coding Docs Users/ Business analysts Developers 14
  15. 15. A formality perspective Free text Wiki Informal Executable specs In-system help Code Docs Formal 15
  16. 16. A size perspective Methodology Quick hacks Best tool for the job Pragmatic solutions Standard tools Repeatability Smaller applications Larger applications 16
  17. 17. A refinement perspective Mockups Frameworks/ platforms Mature code Mock code Rough Refined 17
  18. 18. } Presentation } Customization } Security } Data access 18
  19. 19. An example 19
  20. 20. 20
  21. 21. 21
  22. 22. 22
  23. 23. 23
  24. 24. 24
  25. 25. 25
  26. 26. 26
  27. 27. Lessons learnt 27
  28. 28. Do’s • • • One installation, from the beginning, shared by all • • Configuration AND customization (not VS) Testing and validation early (by/with end users) Requirements, implementation and help on the same page Prototypes: make them pretty 28
  29. 29. 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
  30. 30. 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
  31. 31. Ideas for future work • Better integration with versioning • Better integration with project/process management • More fluid workflow: sketch -> spec -> prototype -> implementation 31
  32. 32. References Portofino: https://sourceforge.net/projects/portofino/ http://www.manydesigns.com/en/portofino 32
  33. 33. Thank you Paolo Predonzani MANYDESIGNS srl founder paolo.predonzani@manydesigns.com @manydesigns Carlo Bonamico Solution Architect & Trainer carlo.bonamico@nispro.it @carlobonamico

×