Agile Project Management with Scrum
Agile Project Management is a confusing topic for traditional project managers. The Scrum Methodology is a popular approach for agile software development which advocates that project management duties are spread throughout a new set of roles – the scrum team. Using Agile Project Management with Scrum, the Product Owner will be responsible for project profitability along with managing exactly what is actually built. The Scrum Master will work to ensure that nothing impedes the Scrum Team members from managing their commitments and producing a potentially releasable product increment at the end of each Sprint. The Scrum Team members self-organize to swarm to problems and opportunities.
In the Scrum methodology the agile project management is distributed among these roles. Scrum deliberately introduces these new roles without any kind of mapping to traditional project management. Agile project management is a disruptive approach – it suggests that traditional software development approaches are poorly suited to developing novel, custom solutions. So Agile project management and the Scrum methodology in particular, introduce entirely new terminology to stifle efforts to hold onto old practices. Agile software development demands a different approach. Scrum has enjoyed tremendous success even while eschewing traditional and apparently more rigorous project management methods. This is not to say that Scrum is not rigorous but rather it has a completely different focus.
Scrum takes a delivery focus rather a development focus for agile software development.
This is to say that all efforts are focused on the creation of value (in the form of a releasable product increment each Sprint) rather than on completing activities from a work breakdown structure. Agile project management then must focus on those things that deliver value – the prioritization of the Product Backlog – and proper management of the value delivery stream. That is to say that value is not delivered linearly in any software development undertaking. In a traditional software project there is no discernible value delivered to the customer until the very end and then it is all delivered in a large mass. With Agile project management there is value delivered in each iteration (or Sprint in Scrum parlance) except perhaps for the earliest iterations when foundational work is being done.
Agile Project Management and Scrum Maximize the Work NOT done
Its possible to deliver most of the value of any given project without performing all – or even most – of the work originally specified. Agile software development practices are based upon the values and principles of the Agile Manifesto – primary among these principles is Simplicity, the art of maximizing the amount of work NOT done.
Waterfall approaches to software development apparently portray a precise approach through the phases of scope definition, design, development, validation and deployment. The idea is to produce a plan and then follow the plan. Enormous effort is expended to develop and articulate the plan. This done through work breakdown structures (WBS), critical path analysis, resource leveling, time-phased budgeting, etc. Then when scope changes occur the changes are constrained or managed in such a way as to “keep to the plan”. The sad result is that all this work up front does not support adaptive development (changing the plan due to new knowledge or requirements) nor does it permit a constant delivery of true business value.
Agile Project Management vs. Waterfall
Agile project management appears to be disorderly, less precise, less rigorous. Those apparent qualities in Waterfall project management actually obscure the true measurement of progress – working software. True value is not delivered within a waterfall software project until the very end. This is where the Scrum methodology distinguishes itself. The customer can verify the software in increments and changes are easily absorbed and actually encouraged since such changes will ensure that the finished product will meet the customers’ expectations.
Agile project management is a team effort with each of the Scrum roles contributing important elements. However, it is likely that the team will require guidance and that there will be requirements for the coordination of work, output and resources between teams and projects. This is where a professional project manager with a strong background in the disciplines of agile project management is crucial. In future blogs I will discuss some of the things that require a full time professional project manager within any agile software development project. In particular I will use some of Mike Griffiths commentaries to make the connection between the Scrum methodology, general agile project management and the PMBOK project management process groups. Stay tuned.
Consulting Partner – Web Financial Solutions
Certified Scrum Master (CSM)
Certified Scrum Professional (CSP)
PMI-Agile Certified Practitioner (PMI-ACP)
ICAgile Certified Professional (ICP)
IBM Certified Solution Designer — Rational Unified Process
(v) 519 636-1558
Creating high performance software delivery teams
What should you do next?
Web Financial Solutions provides expert Software Development Life Cycle process improvement.
The services we offer include: