In the past few weeks we've been engaged in the necessary but unglamorous process of building a development organization which fires on all cylinders. I'm excerpting an email I sent to our development group. It will come as no surprise to anyone who's been directly involved with a large-scale development project. Individual brilliance pales without an effective group dynamic. We have some catching up to do and are settings ourselves to that task
Folks,
In the past couple of weeks several of you have come to me with concerns and suggestions about improving our overall effectiveness as a development organization. I want to thank you for taking a risk and speaking up. I welcome your initiative and I'm learning from all of you.
One decision we've reached is to hire a development manager for the group. In the interim, we mustn't be waiting for a knight to ride in on a white horse. There are a number of things we can and should be doing now.
First, we should make sure everyone in the group is up to speed on what decisions have been reached so far . As Mitchell [Baker] has said, it's not a decision if it's not written down and communicated. We have some catching up to do.
In addition to working on an initial release of code, we need to be developing an overall architecture for Chandler we can all agree on, in order to enable subsequent work to be done in parallel, with designated individuals taking responsibility for specifics aspects of the architecture. This is appropriate given that we are already too large to work using the "Vulcan mind-meld" methodology. There needs to be a sequence of group sessions and periods of individual work to work on the architecture as a whole.
There may be other things we should have as top-level priorities as well and if so they need to be identified quickly.
I need your help to meet these goals. With your help, I'll sign up to direct the process.
The first thing I'd like to do is to get the group together to help formulate a more detailed and actionable plan. Everyone is welcome to come, or participate by phone if you can't come in person. I'm hoping we can have a critical mass of people this Monday... Please let me know your availability.
Mitch
Posted by mitch@osafoundation.org at December 28, 2002 05:19 PMExtreme Programming might be useful here. I've only followed a few of the rules (small releases, do the simplest thing that could possibly work, unit tests) but you might find portions of it useful.
Posted by: Aaron Swartz at December 28, 2002 05:51 PM
Argh. My links got lost. All the rules are linked from:
http://www.extremeprogramming.org/rules.html
Posted by: Aaron Swartz at December 28, 2002 05:52 PM
As a Zope3 developer, I suggest you take a look at the process proposed and exercised for now almost one year (cfr http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/Zope3DeveloperInfo).
I would like to stress on three points :
- develop in at least readonly public CVS
- develop the corresponding(?) unit tests suite
- include the community through sprints (cfr http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/SprintSchedule)
Posted by: Godefroid Chapelle at December 30, 2002 12:50 AM
You may want to consider Scrum as a very light development process. It's an agile process that uses 30 day iterations (sprints) to develop increments of functionality. Each iteration is driven by what the team selects as "doable" from a prioritized "to do" list of product functional and non-functional requirements ("product backlog"). To get going, take what you want for the product and list it... it doesn't have to be a complete list, it will evolve and emerge. Then prioritize it. Then have the developers meet the development manager to select as much from the top of the list as they think they can build over the next 30 days. At the end of the 30 days, review what they've been able to do. Compare it to the new product backlog (evolved and repriorized over the 30 days also) and the team chooses and starts another Sprint. Every day there is a 15 minute status meeting.
Very simple and regularly produces the best possible product every thirty days of the top priority work.
If you'd like me to help you figure out how to use this, let me know. There are a bunch of articles at www.agilealliance.org, and more articles and part of a book at my website, www.controlchaos.com.
Posted by: Ken Schwaber at December 30, 2002 12:15 PM
I'll second what Aaron says about Extreme Programming.
Read the C2 Wiki at
http://c2.com/cgi/wiki?ExtremeProgramming
and also pick up a copy of "Extreme Programming Explained".
Posted by: Chris Hanson at December 30, 2002 08:03 PM
Scrum does seem to be a good fit for your audience as much as the vast feature opportunities your embarking on. Primarily it will give a clear focus on expectations to all stakeholders, while balancing "release early/release often" with a set interval release. The "backlog" gives a place to acknowlege all feature requests by supporting the feeling that they will be reviewed periodically during the reprioritizion (sprint planning). Scrum also throws out the time-wasting speculation of Pert charts, freeing up the project project manager to be an active team member contributing to the completion of the sprint.If their not a coder, then the more time to document (a feature!) and collaborate with customers.
But how is this different than XP? Some might say "not much" as there is a lot of room for overlap. So for those who love XP let them integrate XP practices into the Scrum framework. This may work well as there are factors of XP that don't agree with some personalities and locale that might not make it well suited for site-wide implementation.
Look forward to hearing from you or your cohorts on the Scrum mailing list. http://groups.yahoo.com/group/scrumdevelopment/
Posted by: Dean at January 1, 2003 08:24 AM
"No doubt having to wait longer for the complete delivery of Agenda-like and ECCO-like functionality is going to be disappointing for many of the loyal and faithful."
-> mitch let me know if u might be interested in prying some of the ecco source from it's owner... i doubt they're doing anything with it anyway. maybe we can convince them to release it publicly.
Posted by: tom at January 24, 2003 05:33 PM