Hello, I've been thinking a bit about how we can achieve three[1] things: * avoid reworking features * avoid working on silly features * make our features so good that we have annoying fanboys queueing outside our retail outlets on release day
Ultimately, it's not going to happen unless we all refuse to make anything short of excellent. However, maybe some structure can help. In particular, I think a little structure around the area of defining features will go a long way toward achieving those three goals. By a coincidence that I can only explain by appealing to astrology, I've written three documents to help with this. 1. https://dev.launchpad.net/ReadyToCode It's a very short list. I'm proposing that before we begin work on _anything at all_, we run through this checklist: bugs, refactoring, features, whatever. It might be a useful thing to use for pre-implementation calls. 2. https://dev.launchpad.net/LaunchpadEnhancementProposalProcess If getting ready to code is actually non-trivial, then you might want to use this to help get there. I've tried hard to keep it as simple as possible. It's worth noting that the LEP is *absolutely not* the place where implementation design happens. It's where we collect requirements. I only grudgingly included the "UI mockup" section. In the process, I suggest that we use blueprints for keeping track of these proposals. I think it's time we started eating our own dogfood again.[2] 3. https://dev.launchpad.net/LaunchpadEnhancementProposalTemplate This is a template for 2. Should be quite straightforward. Finally, I said this earlier in an email with smaller circulation, but it bears repeating: """ I really, really believe that big design up front is a wasteful practice that produces crappy software and unhappy developers. I would only be happy with these things becoming a part of our process if they were iterative and if the documents do not become ends in themselves. """ With that in mind, I want to know your thoughts on the whole thing. Expect a follow-up email "soon" with notes and questions on the nitty-gritty of actually using blueprints. jml [1] Also, selfishly, I want to make the role of the Product Strategist a bit clearer. [2] Also, again selfishly, I want an excuse to code on Launchpad. _______________________________________________ Mailing list: https://launchpad.net/~launchpad-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~launchpad-dev More help : https://help.launchpad.net/ListHelp

