On Jan 6, 2009, at 10:13 AM, Alan D. Cabrera wrote:

You've made a good point. Rather than generating the process in an ad hoc fashion, we should whip one up as soon as possible.

There are no standard development processes in the ASF. There are rules about releases and what can go into them. The ASF likes to let projects define the specifics how they want to work. There are, however, guiding principles that influence how projects define their process. The top priority is building and maintaining community.

This priority takes precedence over everything else. It can be frustrating at times and this is usually the hardest for new projects to grok. But it is so important that building and maintaining community takes equal weight in the eyes of the Incubator PMC to code base vetting. So important that this is the usual reason that incubated projects take longer than expected to graduate or, worse, are withdrawn.

So with that in mind, here's a phrase that has me worries "We have a lot of work/submissions over the next couple of months". There's been no discussion on this list about architectural/feature additions and modifications. This worries me. We're not a SourceForge where code can be developed externally then dumped into our repositories when it's done.

With that said, I invite the current project team to come up with a development process that makes planning and development transparent. You should be thinking of ways to get more members of the community involved in this project. Part of this is requiring architectural and development conversations in public on this list. Simply posting roadmaps and Jira issues won't do. You should not be having development meetings at your office as you previously have done. It precludes involvement of the community.

Finally, some tactical advice. Never work on anything unless there's a Jira issue for it. When you check in your code place the Jira issue number in the checkin comment, e.g. "VCL-325 added SNMP MIBs to storage management". This allows products such as Fisheye to index the two together. Road maps are great. Architectural diagrams are great. Creating Jira issues for everything that you will do or want to do is great. It allows people to volunteer to pick up work or offer to help. I will remind you that community is the raison d'etre for VCL being here. This means that no person "owns" a chunk of technology. If a person is working on a a corner of this project and someone else wants to help that person must be accommodating and share the work; there is no such thing as "dibs" on an area of architecture.

Alan raises excellent points. The absolute key is communication via public discussion on the dev list. Wiki roadmaps and jira issues are nice, but not sufficient. Public discussions are what allow "communities" to form and grow.

Some of the specifics (e.g. Jira issues for all svn commits) are a community decision. There's no getting around the communication requirement.

--kevan

Reply via email to