These days and age, we can hardly go by without an Executive, Customer or even our team members mentioning the word “Agile”. The question is how does one or any organization choose the “right” Agile framework?
According to Agile Alliance, the definition of Agile is as follows.
“Agile is the ability to create and respond to change. It’s a way of dealing with, and ultimately succeeding in an uncertain and turbulent environment.”
As we can see from the definition of Agile here, it’s often called a mindset that one can adopt. So, the question is why do people call scrum (and other frameworks) Agile then? Well, Agile is an umbrella that embraces various and different forms of interpretation that one can implement. How so, you may ask?
As you can see from the “umbrella” diagram above, there are many implementations of Agile like SCRUM, Kanban, Lean, Extreme Programming (XP), Dynamic System Development Method (DSDM) and Scaled Agile Framework (SAFe). They all are classified as Agile which allows you to implement it.
So how does one choose which type of Agile framework to implement and follow here? Well, as a rule of thumb; it depends on the type of work that you need to carry out. If you are mainly dealing with Software/Application development focus, then selecting SCRUM as an Agile framework would work.
What if my organization adopted SCRUM as the default go-to Agile framework and we needed to implement an infrastructure project, would it work? Technically, the Agile concepts in SCRUM can be used to implement an infrastructure project, however, it would not be a 100% fit per se. The reason is that the SCRUM framework was developed focusing on the Software/Application type of work. From implanting an infrastructure project when we look at the backlog/prioritized requirements listings itself, there are work items that need to be done in a sequential way that we cannot simply prioritize as what we need.
A good example is to ensure network connectivity needs to be in place as a pre-requisite prior to going live on the call center system per se. We cannot go live on a call center system without any network connectivity. However, in adopting the Agile mindset, we can do work from a concurrent perspective where it makes sense.
In terms of the Agile concepts in SCRUM that are transferable in implementing an infrastructure project includes.
Daily Stand-up rituals – What did I complete yesterday? What have I planned for today? And are there any obstacles that I need help with?
Kanban board – tracking of progress to demonstrate control.
Sprint Planning – pulling down backlog/priority requirements listing items.
Sprint Kick-off – Start/commencement of actual sprint.
Sprint Review + Retrospective – Close out of Sprint and internal review.
For infrastructure type of projects, we would recommend the adoption of the Dynamic System Development Method (DSDM) which has clear phases and governance in place. DSDM is a proven framework for Agile project management and delivery, helping to deliver results quickly and effectively.
Traditional Water-fall approach vs DSDM Approach.
One of the major advantages of adopting DSDM as the Agile framework is the strategic and clear focus on Time, Cost and Quality; where features will be a variable (which we will prioritize on what the business needs).
There are six stages in the Dynamic System Development Method (DSDM) namely.
Pre-Project – Justify and position the project within a portfolio.
Feasibility – Initial project shaping and tentative schedule.
Foundation – Strategy for deployment, iterative development with integrated testing, committed timescale and cost.
Evolutionary Development – Planning development timebox, refinement of delivery plan, and benefits realization.
Deployment – Deployment and Go-live.
Post-Project – Document and check realized benefits.
Dynamic System Development Method (DSDM) Framework.
At each of the stages specific DSDM Products are deemed mandatory for governance and compliance needs of organizations.