An overview of open development with a quick look at the essential processes and tools.
Citation preview
1. Open development management and practices in a distributed
team Ross Gardler OSS Watch Service Manager [email_address]
http://www.oss-watch.ac.uk Topic Tag: OSSWatch-OpenDevelopment
Unless otherwise indicated, all materials in this
presentationare 2008 University of Oxford
and are licensed under theCreative Commons
Attribution-ShareAlike 2.0 England & Wales licence .
2. Overview
Who Are OSS Watch?
Who is Ross Gardler?
What is Open Development?
Essential Processes
Essential Tools
Advanced Processes and Tools
3. Who Are OSS Watch?
JISC funded open source software advisory
service(non-advocacy)
Online and Face to Face support
Licencing and IPR management
Open source project support
Evaluating and using open source
Briefing notes and consultations
4. Who is Ross Gardler?
Open source developer
Member of The Apache Software Foundation
Joined OSS Watch in Jan 2007
Service Manager in July 2007
My focus is on open source for sustainability
5. Overview
Who Are OSS Watch?
Who is Ross Gardler?
What is Open Development?
Essential Processes
Essential Tools
Advanced Processes and Tools
6. Open development is... A way for distributed team members
tocollaboratively develop a shared resource 7. Open
Development...
Particularly useful in distributed self selecting teams
Very common in open source projects
Key attributes include:
User engagement
Transparency
Collaboration
Agility
8. Is it Agile Development? Yes, but No, but Yes, but No, but...
9. No
Some Agile methods are not appropriate
e.g. Does not require co-location
Does allow anyone to participate
NOTE: this does not mean that anyone has therightto modify open
source code in the core repository
10. Yes
Many agile practices evolved from or alongside open
development, e.g.
Collective code ownership
Incremental design and architecture
Real customer involvement
Revision Control
11. Overview
Who Are OSS Watch?
Who is Ross Gardler?
What is Open Development?
Essential Processes
Essential Tools
Advanced Processes and Tools
12. Communication
If it didn't happen on the list, it didn't happen
Face to face meetings produce proposals
Decisions are made on mailing lists
Transparency
No hidden agenda
13. Management
Progression through project roles
User -> Contributor -> Committer -> Maintainer
Governance
How are decisions made?
How are conflicts resolved?
How do you gain influence?
IPR management
14. Quality Control
Small reversible steps
Managing contributions
Commit then review
Review then commit
Test Driven Development
No tests or documentation, no commit
15. User Engagement
Today's users may be Tomorrows contributor
Release early, release often
Managing user expectations
Capturing user testing (bug reports)
Capturing user needs (feature requests)
16. Recognition & Reward
Those who contribute to us are as selfish as anybody else.
There's rarely any charitable aspect of this.- Marten Mickos, (Sold
MySQL for $1B)
Recognise why people contribute
A better solution for themselves
Reward all forms of contribution
Peer recognition is valuable
17. Overview
Who Are OSS Watch?
Who is Ross Gardler?
What is Open Development?
Essential Processes
Essential Tools
Advanced Processes and Tools
18. Web Site
Mission statement
Non technical overview
Status
Licence
Communication channels
Downloads
Screenshots and Screencasts
19. Documentation
Users
Getting started
FAQ
Developers
Technical overview
Version Control
How to get involved
20. Mailing Lists or Forums
All lists/forums archived
Project memory
Documentation
Developers List
technical discussion
developer support
Project management
21. Other lists/forums?
Do you really need others?
Don't split your small audience
You may need
Users list for user support
Commit notifications
Management list for sensitive issues
Be careful transparency is everything
22. Issue Tracker
Project management
Project road map
User feature requests
Activity tracking
All changes mailed to developer list
Patch management
23. Revision Control System
Coordinate multiple developers
Project time machine
Reverse mistakes
IPR Management
Enables experimental development
All changes mailed to developer list
24. Overview
Who Are OSS Watch?
Who is Ross Gardler?
What is Open Development?
Essential Processes
Essential Tools
Advanced Processes and Tools
25. Do youreallyneed it?
Tools are not the answer to a failing process
Process is not the answer to a failing project
Before adding new tools or processes thinkDo youreallyneed
it?
26. Adding value
Remove don't add barriers
Aim for participation
Tools that reduce effort = good
Continuous Integration
Patch management
Tools that increase effort = bad(?)
27. Be Realistic, Be Sensible
Building an open development project takes time
they won't come flocking
You will talk to yourself in the early days
Start as you mean to go on
Lead by example, others will follow
Encourage everyoneto help new users
28.
Thank you for listening
[email_address]
www.oss-watch.ac.uk
Ross Gardler
Image: Some Rights Reserved
http://www.flickr.com/photos/ksaad/152579107/