Project Design Workflow

POE's development suffers from too many ways to do things. Design notes appear on the wiki, in Rocco's working directories, on the mailing list, in Rocco's personal inbox, in POE's rt.cpan.org queue, and in at least four IRC channels on as many networks. For a few months there was a Blosxom weblog where notes from IRC went to die. Now we have an Orkut community! Nobody can keep up with all that, and it's a terrible pain to maintain.

Matt Cashner has suggested a workflow that he's used successfully before. He proposes that designs be presented to the mailing list, go through community review there, then get posted somewhere if they survive.

1. Someone has an idea! Discuss it locally among friends and co-developers. Think it through, work it out, make it into something you want to share with the world.

2. Share it with the world! Write a proposal for the idea, and post it to POE's mailing list. Explain how it benefits the project. Explain the drawbacks, if any. Show us some mock-up code, if that applies. Tell us why we can't live without it.

3. List discussion ensues. People crawl out of the woodwork to discuss your idea. If they like it, it's probably in. If they don't, we have a record of the discussion. We can dig it up again if it becomes feasable in the future.

4. The idea lives! The proposal is edited into a design document according to feedback from the list. Include a set of steps outlining its implementation.

5. Post the design and implementation plan to POE's RT queue. For example, the design document can be a main ticket with implementation steps beneath it.

6. Track development in POE's RT queue.

Requirements

Support requests that become design issues must not be decided upon until the list has had a chance to evaluate them.

Patches that change POE's public interface must be considered on the list before being applied.