Agile project management philosophy, though not very different from the traditional management practices and framework, needs to be rationalized to suit the demands of the agile methodologies. The project management practice remains the same for requirements, planning, initiating and tracking the progress of the project in line with the business vision. However, the focus is more on adaptability towards changing requirements, team work, collaboration and the ability to plan and deliver small chunks of useable software in short intervals of time
In one of my own previous client engagements we had to move out of the comfort zone of managing programs based on the more disciplined, planned and process-oriented waterfall delivery approach. Instead the business challenge ahead of us was to align all the existing programs to Scrum-based agile delivery.
The main business driver for our stakeholders to adopt this strategy was a lack of confidence in the existing delivery proposition which was based on a waterfall approach. That delivery model was resistant to changes and was inflexible to our ever changing business needs in scope and introduced delays into our expected time to market with an increased cost.
Our typical waterfall approach was predictive and well planned, but with even with a slight change in scope or requirements it inevitably added unacceptable delays, overshadowing the other unknowns which always threaten the delivery timelines and quality. Based on the organizational requirement for large programs using a Waterfall approach, typically the SDLC life cycle was divided into sequential stages of 3 months each of design, development, testing and deployment to go live.
So in effect what it meant to the business was that the lead time for solution to market effectively took a minimum 12 months after the scope of a service offering was conceptualized. This was based on the assumption that there would be no changes to the scope. This significantly affected stakeholder confidence in spite of best practices and project management methodologies being used to manage this programme since they couldn’t see tangible results quickly and there was nervousness around ROI [return on investment] and financial accountability. Scrum-based agile promised short bursts of useful code being delivered and deployed live to market in 10 weeks, which was a significant reduction in time to market.
Initially I found it extremely difficult to adapt and drive this philosophy across teams since it had very little in common with a conventional waterfall approach. This indeed was a new culture for us, necessitating the need for people from all walks of the SDLC [software development lifecycle] to adapt to this paradigm shift in thinking to improve our chances of implementing it successfully.
Philosophy behind Scrum based Agile delivery
Scrum based software development is an iterative way of rapidly delivering useful software with increased productivity and reduced time to market without losing focus on the quality of the deliverable. The emphasis is on maximizing a team’s ability to rapidly deliver software in increments and running parallel threads of delivery from the SDLC as opposed to the sequential approach in waterfall. It moves away from complex and elaborate process implementation and the need for lengthy documentation. Scrum accepts that the problem cannot be always fully defined and understood. Instead the focus is to respond to emerging requirements. This is suitable for programs where the delivery turnaround time required is a lot quicker and the emphasis is on being more adaptive than predictive to the ever changing demands on a project.
Key Principles of Scrum based agile delivery
- Collaboration and Communication – Emphasis is on face-face meetings and co-location since daily scrum calls and intense communication