A Software Development Processs scales if (and only if) the effort it takes to manage a project increases at a slower pace than the amount of work being managed!
Relative Effort needed to manage a project when the project size increases Effort to Manage Does not Scale Neutral Scales Work being managed
Proposition 1:Scaling Property needs to apply to all “things” we manage in a project
Experiment Count “things” to manage Assess effort needed to manage those “things” If work to manage them increases faster than the number of things => process does not exhibit the property of Scalability
Growth in effort to manage those “things” Growth in number of “things” >
Nx = effort to manage N requirements without dependencies
When was the last time you saw a simple list of requirements without dependencies?
Effort to manage N requirements with pair-dependencies
Relative effort to manage a flat list of N requirements Effort to Manage Work being managed
In Plain English: Waterfall Requirements Management does not scale!
This is the cost of a non-scalable Requirements Management Process
Question 2: Does Agile Requirements management scale?
N Requirements organization in Agile User Stories 100
N Requirements organization in Agile 10 Features User Stories 100
N Requirements organization in Agile 1 Epics 10 Features User Stories 100
N Requirements organization in Agile 1 Portfolio Items – Customer marketable Epics Longer term planning (more than 1 iteration) 10 Features Where the rubber meets the road – what we do in one iteration User Stories 100
Different content abstractions for different stakeholders Product Marketing and Portfolio Portfolio Items – Customer marketable Epics Longer term planning (more than 1 iteration) Product Owner + Architect + UX Features Where the rubber meets the road – what we do in one iteration User Stories Team + Product Owner
As a Project Manager I want … 1 Epics 10 Features User Stories 100
As a Project Manager I want … 1 Epics 10 Features Less stuff to manage, so that I can keep my sanity!
Effort to manage N requirements with an Agile Requirements model Nx/102 Where N = number of requirements/user stories
The mental sanity graph…(BTW: lower = better) Waterfall Effort to Manage This is the difference between Agile and Waterfall The bigger the project gets… Where you want to be: Work being managed
Recap:Agile Scales, Waterfall doesn’t And hopefully you understand why now :)
Currently an Agile Project Coach in Nokia, Vasco Duarte is an experienced product and project manager, having worked in the software industry since 1997. Vasco has also been an Agile practitioner since 2004, he is one of the leaders and a catalyst in the adoption of Agile methods and an Agile culture at Nokia and previously at F-Secure. Vasco's contributions to the improvement of the software development profession can be read in his blog: http://softwaredevelopmenttoday.blogspot.com. You can follow Vasco on twitter: @duarte_vasco Photo credits: Flickr users http://www.flickr.com/photos/8867029@N07/ http://www.flickr.com/photos/_at/ http://www.flickr.com/photos/quenerapu/ http://www.flickr.com/photos/privatenobby/ http://www.flickr.com/photos/fotopakismo/ http://www.flickr.com/photos/hinkelstone/ http://www.flickr.com/photos/swamibu/ http://www.flickr.com/photos/cdevers/ http://www.flickr.com/photos/jamesbooth/ http://www.flickr.com/photos/dungodung/ http://www.flickr.com/photos/puppydogbites/ http://www.flickr.com/photos/talios/