We work with a number of people who are addicted to planning. They will devote weeks, months, or even years to planning every piece of their application, before getting any developers involved. Planning is certainly valuable, in moderation, but too much will doom your project before it starts.
We are uncovering better ways of developing
software…Through this work we have come to value: …Responding to change over following a plan
The signers of the Agile Manifesto understood this well; they had learned firsthand the problems with planning.
A software project cannot be fully defined before you begin. Most clients will think their project is the exception, but they are frankly wrong. Inevitably, some new idea will come up in development that will make change desirable, if not necessary. 37signals have written about this extensively, but they use a different term: Getting Real.
With a large, detailed plan (did somebody say
functional spec?), you will spend too much time up front working on things that don’t matter. Don’t start with logins, don’t build fields for every possible piece of data you might someday collect. Start building the parts that matter. You’ll be able to try them out, refine them, and get feedback before you waste time implementing features you won’t need for 6 months (also, chances are, you’ll have a better way to do it in 6 months).
Quit planning. Find some agile developers and start building. You’ll live a longer, happier and more productive life.
Andrei Tallent — June 30, 2007
I am not a programmer, and yet I can completely relate to the concept. I’ve been developing small websites for many years, as well as projects in the “real world.”
I have found myself getting sucked down the planning vortex on many occasions. However, my best projects usually develop organically over time, getting refined or completely reworked. It helps to think of an idea or concept as a seed that will grow into something useful with help and nourishment, rather than as a architectural blueprint that must be followed to the T!
My question to you: How do I find a programmer with a similar attitude? Are you it?
ashton — October 23, 2007