Wiki-like collaborative development for seamless customer involvement
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
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. 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. 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. 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. 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. Ideas for discussion
• Simple changes should be simple to make
• End-user computing
(use with caution)
8
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. Ideas for discussion
• Separate documentation gets old and
outdated
• In-system help is kept aligned more often
10
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
16. A size perspective
Methodology
Quick hacks
Best tool
for the job
Pragmatic
solutions
Standard
tools
Repeatability
Smaller applications
Larger applications
16
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. 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. 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. Ideas for future work
• Better integration with versioning
• Better integration with project/process
management
• More fluid workflow: sketch -> spec ->
prototype -> implementation
31