There is a common misconception that Agile suits every Software Development project. But it does not. How to find the Sweet Spot where Agile works? Read on to know more.
Advantages of Agile
Agile Software Development has several benefits when compared to traditional ways. Following are some of the key ones:
- Changes are embraced and not seen as hindrance to the project progress
- Frequent and incremental deliveries of “working” Software is preferred over extensive documentation
- End user representatives are extensively involved in the solution stage and feedback is obtained on a regular basis
- Interaction between team members is preferred over rigorous process and tools
When done right, the probability of success is definitely high in Agile projects.
Does it mean that Agile is an antidote to every project on planet? Unfortunately, No.
Take a minute to review the diagram below, we will talk more about it soon.
To keep things simple, let’s consider two key parameters that define the complexity in a project.
- Requirements – These form the basis of any Project that is undertaken. More clear and stable the requirements are, higher the chances of a Project success. Stability means consensus on the requirements across all stakeholders
- Technology – Every Project involve some kind of technology to get things done. In some cases the technology is certain or driven by the Organization / Stakeholders while in others there is an open choice
Stable and Clear Requirements, Certain Technology
- These are projects that are “too simple” with very low complexity
- Almost perfect Plans can be made for such projects and the team can work along the plan
- Changes in Scope are relatively low and Risks with Technology are virtually absent
Such projects don’t need to be Agile. Though Agile can make the project ready to face uncertainties, it can add overheads given the simplicity.
Thumb Rule:When Requirements and Technology are Certain, Agile is just good-to-have Click To Tweet
Highly Vague Requirements, Uncertain Technology
- Chaos is the right word for such projects
- The degree of uncertainty is high, both in terms of scope and technology
- Agile can make things slightly better, but it cannot alone rescue such projects
Again, Agile is not very suitable for such projects. The benefits derived will be very small and doesn’t deliver the ROI (Return on Investment).
Thumb Rule:High Uncertainty in Technology and Requirements makes Agile Success Impossible Click To Tweet
Agile Sweet Spot
- The Sweet Spot remains at the intersection of moderate level of disagreement with Requirements and a reasonable level of uncertainty with Technology
- Such disagreement makes the “Responsiveness to Change” characteristic of Agile very vital
- Also the Risks posed by uncertain Technology can be suitably handled with right Agile techniques
Thumb Rule:Agile Sweet Spot is the intersection of moderately uncertain Requirements and Technology Click To Tweet
- Agile isn’t an antidote to all Projects an organization might undertake
- Requirements and Technology are two key attributes that help determine the Complexity of a Project
- When everything with respect to Requirements and Technology are super clear, Agile may be just an overhead. The Project can still do well without Agile
- Chaos is the state when there is high level of uncertainty with Requirements and Technology. Agile is a strict “no no” in such cases, no benefits are possible!
- Moderate levels of uncertainty in Requirements and Technology, call for Agile. This is the “sweet spot” where Agile really works!
How do you determine the project’s suitability for Agile? Please share your thoughts with us, as comments to this post.