Selecting the Right Agile Framework
Scrum. Kanban. Lean. XP. SAFe. RUP. Scrum of Scrums. There are many frameworks available to organizations that are maturing their agile software development process.
However, the use of some frameworks can help reinforce agile behaviors, while others can be degenerative and actually drive an organization to revert to more waterfall-like software development.
The choice of agile framework should be a collaborative discussion between teams, organizational leadership, and any stakeholders. Every part of the team should have input into what key features they will need from the framework. The “correct choice” will depend on many variables, including the nature of the work, the experiences of the organization, cultural factors, and changes desired to meet the work objectives.
Ultimately, the right choice should be the appropriate methodology that allows development teams to deliver their best work. If the framework chosen slows development to a glacial pace or imposes rigid processes that stifles a team’s ability to react to change, you’ve probably selected the wrong framework.
If the nature of the work contains complicated dependency management, structured frameworks with an increased focus on planning provide some advantages. Take into consideration that modernization efforts try to reduce complex dependencies at every opportunity. The strategic advantage of a framework that helps manage dependencies should only be considered a transitional step to something else once those dependencies are managed.
Teams should also be allowed to experiment with different implementations to see which allows them to produce the best work in a given environment, which may change over time. Agile embraces change, even in the agile processes themselves. If something isn’t working for the team—for example, daily standups at 9 a.m.—the team needs to be fluid enough to adapt to that need and change the time of the standup so that everyone can participate.
One of the core tenets of agile is “Individuals and interactions over processes and tools.” For this reason, organizational leadership shouldn’t dictate the agile framework; implementing the framework needs to be a collaborative and ongoing discussion that responds to changing needs.
When selecting an agile framework, preference should be given to those that do not perpetuate a waterfall mindset or allow us to fall back on old ways of work. Do not adopt a framework because it seems comfortable and has familiar waterfall tempos. If the organizational culture is steeped in waterfall and there is a fear of easily falling back on old habits, selecting a rigid, prescriptive frameworks such as the Scaled Agile Framework (SAFe) or Rational Unified Process (RUP) may not be the right choice for you. That’s not to say that SAFe or RUP is the wrong framework or can not provide value; it’s just not right for every situation.
At the end of the day, the best move is to select the framework that provides the most value. While it’s often assumed that more work equates to more value, more work doesn't necessarily mean the product is thriving and users are benefiting from the new features. To get the most out of the framework, ensure it allows the entire organization to focus on the needs of the end-users using the software.