A five-stage approach to rationalize your business applicationsRead More
Authors: Sam Fleming and Noah Benedict
Agile adoption has skyrocketed. In the most recent State of Agile survey, 95% of organizations reported adopting at least some agile development methods. 68% of respondents cited the ability to manage changing priorities as a benefit of agile. In addition, 65% of respondents cited increased project visibility and business alignment as benefits.
Agile initiatives are often perceived as creating tension between the need to plan and the need to remain flexible. For example, how does the business manage customer expectations while the development team responds to changing requirements? One approach is to deploy the concept of the Last Responsible Moment. Rather than planning to accomplish everything at once, early in a project, you plan and prioritize work based on when it will be irresponsible to delay it further. If you can delay something – planning a feature, establishing part of an architecture, picking a tool or framework, or developing some code – you should postpone it wherever possible.
Asking whether you can delay work provides several tangible benefits.:
Improved Prioritization: Simply asking the questions, “Do we really need to do this now?” and “Do we need to do all of this now?” provides value. If the answer is “No,” deprioritize it and focus on something more important.
Better Understanding of Dependencies: Don’t just take “Yes” for an answer. When someone says “Yes, we need to do this now,” make sure you understand why. Follow up with, “What is driving the immediacy?” and “What else will consume this functionality?” Deliberately answering these questions forces the team to evaluate dependencies.
Making Better Decisions: Delaying development or decisions wherever possible leads to making better decisions and grows developer communication. Not only will the team have more information in the future, they will also have discussed and considered it in more detail. Your team will understand more about what you are building and how you want to build it.
Understanding What You Don’t Know: If asking why you need to build something immediately results in answers like, “I don’t know,” or “It depends,” or even, “I think…,” you’ve got some more digging to do. Whether that’s understanding what is being asked, or how it will be built, or what it depends on, your team needs to understand more before they can prioritize, design, or develop effectively.
When asking what can be postponed, surprising technical synergies can become apparent. Asking Least Responsible Moment questions during a recent project planning session allowed us to better understand the client’s customer experience. As we pushed the team to better define dependencies, we found that roles in an existing cloud solution matched the client’s requirements. Rather than building something new, we were able to extend an existing solution with a modern Progressive Web Application, reducing ongoing costs and delivering value quickly. The hardest part for the team was asking what we didn’t need to build.
We encourage you to consider the Last Responsible Moment when planning your agile projects. It helps us to prioritize, better understand our work, and make a decision with the best information possible. If you can get your business and development teams to embrace the concept, it will help your agile projects run more smoothly, deliver value earlier, and be more successful. And isn’t that why you embraced agile in the first place? Sometimes, deferring a decision is the right decision.
Samuel Fleming is an architect at RevGen Partners. He is passionate about delivering technology solutions to address big and small business challenges.