I think releasing every 4-6 weeks is probably a bit too often.
Most users won't want to upgrade so frequently, especially at
this stage of an incubator project when new releases may be a bit
unstable.  Another factor is the overhead involved in cutting a
release.  On balance I'd suggest releasing every 2 months would be
reasonable timing, with a release closedown cycle starting perhaps
2-3 weeks before the release goes out.

I think there's value in forward planning for release content.
Our scenarios should provide a basis for deciding what new function
is most needed in the next release, and maybe even thinking a bit
further ahead ("pencilled in" rather than a firm commitment or plan).
For major pieces of functionality, it is likely that forward planning
will be needed to get a realistic idea of what can be fitted into
each release.  Other items that are smaller or less critical to our
users (don't forget that these are the audience for our releases) can
be accomodated with a lot less in the way of pre-planning.

  Simon

Jim Marino wrote:


On Jul 3, 2006, at 11:31 PM, ant elder wrote:

On 7/3/06, Jim Marino <[EMAIL PROTECTED]> wrote:


...and involve a lot less "upfront planning"?
In other words, people work on what interests them and the community
cuts a release when it decides a useful level of new functionality
has been reached.



Can you provide pointers to any other Apache projects that work like this?
I've never seen any other project of significant size, open source or
otherwise, work like that.

There's three main problems I see with the 'do whatever you like' approach.

Please read my words carefully:

- I wrote, "a lot less 'upfront planning'" as opposed to "no upfront planning". I'm not an anarchist :-)

- The rest of the passage was also important in this respect: "Practically, people should just detail the scenarios and features that they think are interesting on the wiki, through email, etc. and work on implementing them". By *documenting* what interests people in some way (we should be flexible here), letting people work on those features, and then deciding at quick intervals (4-6 weeks) when to cut a release sounds pretty reasonable to me. The "lightweight" planning part comes in with the documenting of interests and then the decision process to have a release.

Of course, there is the waterfall approach commonly associated with commercial software development. I don't think this works well in many open source environments for a variety of reasons that I won't go into as they are off topic.

In terms of open source projects, I think you will find this type of "lightweight" planning happening in a lot of projects. For example, AspectWerkz operated very successfully this way as does Spring (although they are taking a little longer for releases, probably due to the maturity of the project). I think you will find some Apache projects as well...


With no clear goals, direction, or coordination we wont end up with anything
very useful that fits together and works in an elegant and seamless  way.


I probably could have gone into more detail on my thinking around release cycles, but it should be patently clear that I was not advocating an agenda of no goals and no coordination. I assume you did notice that I have been spending a lot of time creating scenarios on the wiki? It is also the subject of the current thread. Hyperbole in my opinion doesn't really move the community forward.

I believe scenarios are an excellent way to form a basis for coordination and bring the community together. My point was that by having people detail what interests them, others join in and a consensus emerges when certain scenarios gain momentum. I find this to be a nice balance between the interests of large group as well as smaller pockets of one or two individuals. Under this system, one or two people can make a difference since they are free to implement features they feel strongly about (assuming they are aligned with the project charter).

No
one will do the boring work - documentation, testing, uninteresting bugs in
JIRAs, etc.


That's why we have coding standards. I have been one of the staunchest advocates of unit testing, documentation, etc. as you are aware.

And it will be hard to grow the community.


Modularity, scenarios and having a positive environment which encourages people to work on what interests them are all great ways to grow a community.

Over the past months I've been trying to get new people to come participate
in Tuscany and they all complain about no roadmap of what we trying to
achieve, no wish list of wanted function, and no plan of whats coming up in
the next few milestones.


In the past we had "roadmaps" here:

http://wiki.apache.org/ws/Tuscany/TuscanyJava/Tasks
http://wiki.apache.org/ws/Tuscany/TuscanyJava/Roadmap

There is, however, a general issue related to the SCA specs and Tuscany of what the value adds are. I have been working with others in the spec group to help fix this from the braoder SCA perspective.

In terms of Tuscany, I would suggest we as a community do likewise. To me, that starts with actions of individuals. Could you please begin by posting your "wish list" of wanted function somewhere? I think it would be great to do this as scenarios but emails to the list will do.

Yes we need to encourage new people to come
contribute whatever function they think is useful regardless of if or where we had that function in our plans, but surely the main development team need to have a bit more focus and coordination if we're to create something very
useful.

  ...ant



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Simon C Nash   IBM Distinguished Engineer
Hursley Park, Winchester, UK   [EMAIL PROTECTED]
Tel. +44-1962-815156   Fax +44-1962-818999


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to