Is Agile too much bottom-up and not enough top-down?

17 January

Back in the 17th century, Oliver Cromwell said, “No man travels as far as he who knows where he is going.” I think Oliver Cromwell was right.

Unless one has a clear objective, one tends to wander fruitlessly, so before embarking on a software development effort, project by project or via continuous development, I would like to have clarity about the desired outcomes, or benefits, or Business Requirements (interchangeable terms in my mind) resultant from use of the software.

The information that I have received from many people is that although the organisation they work for has an Agile philosophy, and that software is produced efficiently, the software, unfortunately, does little to improve the organisation’s well being because the wrong software is developed or because a software solution is applied to a non-software soluble problem.

Decades ago, there was raging debate about whether to use top-down or bottom-up methods for specifying then developing software.

Neither approach was wholly right or wholly wrong. What is needed is some of each.

“Agile”, as practised by some, is more bottom-up than top-down. A manager kicks off an effort by saying something like, “Here’s the solution I want. Get on and develop it”, before the real organisation problem has been understood and described. This is an inappropriate use of bottom-up and leads to wastage of time, effort, and money.

A top-down approach starts by clarifying the organisation’s strategic, tactical, and operational objectives/outcomes. Before a software development effort is kicked-off, some form of gap analysis needs to take place, based on a comparison between desired and actual objectives/outcomes. If the objectives/outcomes are currently able to be or are being met, then there is no problem. If there is a gap, then after the root cause/s have been identified, ways must be found to eliminate the root causes. If the root causes can be eliminated by developing or enhancing software, then use a bottom-up approach (e.g. user stories and sprints) to implement the software.

So, What’s the worst thing about Agile (other than that too many think it is something you do rather than something you be): too much bottom-up and not enough top-down.

 

Posted by John Watson

Thank you!

Your details have been submitted and we will be in touch.

CHAT
CALL