Agile Demystified: Framework Selection Simplified
In the following article, we will explore what a framework is, when it becomes methodology & when to apply different Agile frameworks. To keep things very short and simple I will be using Agile frameworks & methods that are widely popular amongst practitioners.
Before we delve deep into Agile frameworks let’s define what Agile is :
Agile is a mindset that enables us to navigate complexities & unknowns more effectively. 
To explain this statement a little bit clearly, imagine you are walking down the road in a hurry and now you have spotted an obstacle that prevents you from going to your designated location. Your next immediate response would be to figure out a way to get to your location in an effective manner without being delayed.
To do this swiftly you need to change your route and re-route to your destination. Figuring out that path and re-routing your path to meet the expectation effectively is called being Agile or inculcating the Agile mindset.
Now that we have a clear idea of what Agile is, let’s understand a little bit about frameworks & methodology. What is a framework?
A framework is a loosely coupled set of guidelines.
To put the definition into perspective, imagine you must do a presentation. You know what to do but don’t really have an idea how to deliver it without knowing the Audience, the burning need of the audience, or the context of your audience. A framework is such that it provides you with high-level guidelines to do something, but it will not prescribe how exactly you should do it.
To understand this in context, Scrum is a lightweight framework that provides the guidelines required to deliver a usable product in two weeks. If we read the 14-page Scrum guide, it does not prescribe anything with regards to estimates, requirement engineering, or exact documents required from a technical sense. Making it a loosely coupled guideline to deliver value frequently.
Then what is a methodology?
A methodology is a prescriptive documented approach to perform an activity.
To put the definition into context, a doctor will prescribe a patient medicine according to the scientific method. The doctor’s prescription will detail what medicine is required, how to use it and when to take it precisely. By following these instructions, we will get to a desired state.
To understand this in context, let’s consider the Waterfall methodology. PMI details what exactly is to be done in each process group while incorporating input from the 10 knowledge areas. There are specific set methods to calculating project performance and specific documents required to begin work, making waterfall a prescriptive documented approach to deliver a result.
Now that we understand what a framework is & when it is called a methodology. Let’s understand when to apply Agile frameworks in an organization using Stacy’s Matrix.
Stacy’s Matrix explores the application of Agile Frameworks based on Requirements and Technology factors within an organization. Furthermore, the complexity of the factors explored by four levels which include,
The simple state indicates that we know the requirement clearly & technology wise we know how to implement it. There are no unknowns in any of the factors.
In a scenario where everything is known the best approach that would be applied is the waterfall methodology because everything there is to be known is prescriptively detailed allowing us to use the prescribed methodology and deliver results effectively.
In the complicated state there could be factors including social, political & technology wise that are unknowns that impose risk factors. In this situation we may not be able to use one specific framework or method to deliver a result we may have to combine multiple frameworks or transition a framework into a method that works for us.
For instance if there is a clear disagreement amongst stakeholders yet we have a clear idea on Why we are building a solution and What we need to do but how to get there is not clear. We need to combine use one or more frameworks to tackle the situation. A practical approach would be to use Kanban where all stakeholders are present and practice Scrum at a team level or extend the Scrum to a Scrum of Scrums.
The complex state depicts the unknowns that impose high risk in an uncertain environment. In the following instance a prescriptive method will fail because complex problems require an explorative approach.
Scrum is an explorative approach that inspects & adapts processes to deliver value. It will assist teams in creating a transparent space to breaking down complex problems and explore potential solutions that add value in an iterative manner. At each Sprint Planning, feedback on what was built will be incorporated in to building the next version of the solution. This essentially navigates the unknown more effectively while providing us with a flexible explorative framework begin work and adapt accordingly.
While Scrum provides what to do as a framework, the complexities of the problems in the software development domain will be ever evolving. Therefore is recommend to keep an open space for exploration and continuous improvement.
In this state we have got no clue as to what’s going on but we have got to deliver something fast. In other words everything is unknown. We have got no idea of how the technology works or what the requirement states the only aspect we can control is the process.
In a chaotic environment it is recommended to use the Kanban Method. Due to the limited nature of instruction on what to do in Kanban it allows us to start with what we know, measure and commit to continuous improvement. The idea of applying Kanban is to move from a Chaotic state to a complex state where the requirements and technology could evolve while improving. To navigate the complexity zone we apply the decision management approach “Act, Sense and Respond”.
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Based on the above knowledge let’s make a framework selection for our team. Furthermore, let’s use a selection criterion to narrow down the framework that is best suited for the team. To do this I will employ four criteria respectively  :
· Project Constraints — Time, Cost, Scope & Quality are the key project constraints that would have impact to project delivery. 
· Requirements Clarity — Known, Somewhat Known, Unknown, No Visibility. 
· Technological Clarity — Known, Somewhat Known, Unknown, No Idea. 
· Approximate Team Size — 20 People or More, 10 People or Less and 10 People or More.
The identified criteria includes project factors, requirement & technological clarity and team setup within an organization. Imagine you’ve got projects A,B,C & D spanning across the four quadrants of the Stacy’s matrix respectively.
To understand the above picture a bit better
·Project A — Has no unknowns we would use waterfall methodology as requirements and technological clarity is present.
·Project B — Has additional aspects of quality coming into play with limited clarity concerns on requirements and technology therein the team would use a combination of frameworks.
·Project C — Indicating limited constraints on the scope or quality while requirements & technology are unknown and requiring further exploration therefore we would use the Scrum framework.
·Project D — Indicating limited constraints on the scope or quality while requirements & technology have no clarity at all which only leaves the process to be managed in this case therefore the Kanban method is recommended.
Utilizing the expert judgement technique a project manager or an agile practitioner would use various combinations of the criterion identified above with the details available to us at the project inception to recognize the framework fit for the respective project. Furthermore aspects of team size also provide a clear indication of which framework to select based on the guidelines available to us.
This exercise cannot be done alone by the project manager or an agile practitioner it requires the subject matter expertise of Engineering Managers (Both QA & Dev), Architects and Product Owners.
While this model of the Framework selection is in its infancy with the information and research available at this time. Improvements to it are on the way with a more comprehensive score based model with multi-parameters and additional Agile Frameworks. Furthermore if we need guidance for framework selection of solutions developed at scale, The Cynefin Framework could be employed to make a decision.
As organizations mature and scale; processes get set in their ways, frameworks we have identified above will also be set up in a standard manner which works for the organization. This is when frameworks are converted into prescribed formats that work for the organization therein referring to the framework as a methodology.
Few other Agile Frameworks I will be discussing in the future with my articles :
Please feel free to drop a comment or note via social media channels, should you need further clarification or advice on improving this model for future use.
 “MindTools | Home,” www.mindtools.com, 2014. https://www.mindtools.com/atddimk/the-cynefin-framework
 T. Metz, “Agile vs Waterfall? Don’t Risk Failure By Using the Wrong One,” MG RUSH Facilitation Best Practices Blog, Jun. 05, 2018. https://mgrush.com/blog/agile-vs-waterfall/
 M. K. Alqudah and R. Razali, “Key Factors for Selecting an Agile Method: A Systematic Literature Review,” International Journal on Advanced Science, Engineering and Information Technology, vol. 7, no. 2, p. 526, Apr. 2017, doi: https://doi.org/10.18517/ijaseit.7.2.1830.
 “Understanding Frameworks: Why They Matter for Success | Aleph Global Scrum Team,” Globally Accredited Digital Marketing Certifications | IIDMTM’s Impactful Non-Profit for Digital Skills For AllTM. https://thedigitalmarketinginstitute.org/why-framework/