Planning In Software Development 13 Jun 2007
I was just reading the post “Quit Planning”: over at Daniel Morrison’s “blog”:

His comments seem to be down so I felt the need to post my thoughts here. In response to Daniel’s article I think he has it mostly right on the money. Although I would like to change the term “planning” in his article to “upfront planning”.

Dwight D. Eisenhower may have said it best:

Plans are useless, but planning is indispensable.

Unfortunately most definitions of planning involve the upfront and systematic approach rather then focusing on the continuous process which develops daily.

Developing in short iterations allows for short bursts of incremental progress which when used in combination with a quick feedback loop between the developer and the customer gives the customer an upper hand in defining and planning the needs of his software to meet the needs of his business.

It works because the process of planning is continuous and incorporates change, while upfront planning to produce a plan ignores that change will occur, which as Daniel points out, will occur.

If you remove the process of planning (which I don’t think Daniel is suggesting) then you remove a key component to any software endeavor, agile or not. Agile strives to reduce and minimize the concept of upfront planning in favor of iterative planning.

As pointed out on the Agile Journal in a “post”:

Planning isn’t bad

What I believe Daniel is focusing on in his post is that:

… the details [should] emerge throughout implementation.

blog comments powered by Disqus