Tuesday, August 10, 2010

On "Command and Control" in Agile Methods

Someone asked - Why does Agile/Scrum suggest Servant Leadership and No Command and Control management....Another person asked recently....Can we really do without command and control in Scrum...
Worse still...someone made a statement...this concept about NO Command and Control in Scrum in B.S...you just can't deliver Software without CONTROL...

Been thinking....are we taking 2 extreme sides here....ultimately came with my theory..here it is..

Ultimately we all know that "Command and Control" is a Time Tested management technique used to "Balance between Constraints".
As Mr Pressman has been teaching us for long, in software development, managers need to balance the iron triangle of Time, Scope and Resource (i.e PEOPLE)...also Quality...but then that's non negotiable :-)

With this context let's relook at any Agile model (Scrum/XP/DSDM) that highlights the principle of NOT using Command and Control (explicit or implicit)...I think there is a "fine print" here...

What Agile/Scrum postulates is NOT to use command and control on PEOPLE...i.e one of the constraints (resources)....at the same time the idea IS to have command and control on the other 2 constraints i.e Scope and Time...

1) The way Scrum/Agile puts command and control on Scope is by ALWAYS having a prioritized Backlog and fixing the Sprint/Iteration Scope at the start of sprints....The PRODUCT OWNER has total command and control on the Backlog and the sprint team commands the scope.
2) The way it puts command and control on Time is by Timeboxing the sprint AND the ceremonies in sprints...The TEAM (PO, SM and Team) has complete Command and control on this Timebox.

SO according to me Agile methods like Scrum/XP etc  (with its emphasis on people) have explicitly taken away the control on people but equally explicitly places a tight control on scope and time....

Friends who believe some control is needed for SW delivery....the answer is simple....by taking away one control completely AND simultaneously putting explicit/total control on the other two, Agile basically empowers the team with more"usable" and "beneficial" control...
Even though most Agile methods are empirical there is definitely some scientific method is this perceived model (methods in the madness!!).
Remember Boyle's Law in Physics (PV=RT)...if we have 3 variables then you cannot control all 3 of them, your best bet is to control (or fix) 2 so that you can allow the 3rd to vary...so obviously you will provide tge freedom to the most important (priceless) component ..PEOPLE...Don't control them ...rather control your other 2 variables...and that's the People Centric Work Paradigm....

So much for now...let me think on this theory to see if there are any chinks :-)

No comments: