Just because an organization has the ability to deliver fast doesn't mean the final product will be valuable, useful, or needed. Todd Olsen explains five tips to help increase your chances of delivering the right product.
Waterfall software development often follows the same steps: software developers work in silos, executives frantically worry about getting to market before their competitors, and project managers are stuck in a special kind of purgatory where they coerce developers to code faster and cut out features, all while begging management for more time and more money.
After months of this, developers present the product and by the time it finally reaches the market, it can sometimes be a dramatic failure.
Today, however, the adoption of agile practices—combined with cloud deployments—can reduce the lead-time of shipping software, in some cases bringing it down from months to weeks. Many organizations have noted benefits of time savings and more productive teams.
But here’s the catch: organizations need to find that delicate balance between speed and minding the details. Just because an organization has the ability to deliver fast doesn’t mean the final product will be valuable, useful, or needed.
Here are five tips to help increase your chances of delivering the right product:
1. Connect Strategy to Execution
Though building the right thing is perhaps more important than delivering a project ahead of schedule and under budget, the combination of all three can present a powerful competitive advantage. An organization must ensure that the business strategy is directly connected to the execution. To do this successfully, three things should be clearly identified:
- Why you build something—the reason behind your core company strategy and business goals
- How you will achieve those goals—through the products that you bring to market
- What you bring to market—the final product, which is the result of the software development process
Consider the company Ambit Energy. Ambit was using outdated and ineffective reporting capabilities, forcing product owners to make educated guesses on estimates, which created skepticism around deadlines. There was no formal defect tracking, no backlog grooming, and limited version tracking. On top of this, the business team was unaware of the enormous challenges the development team was facing; there was a huge disconnect between expectations and reality. The company needed a solution that would not only address each of the development issues, but also ensure all projects mapped back to the business goals and strategy.
Ambit was able to use agile methodologies and robust product reporting to align project efforts across the portfolio. The broader visibility and the ability to prioritize work helped close the gap between development efforts and business strategy, allowing the company to connect strategy with execution.
The heartbeat of the agile development philosophy is the iteration, the ability of the team to create working, tested, value-delivered code in a short time frame, with the goal of producing an increment of potentially shippable code at the end of each iteration. This can be a significant challenge for the team, and mastering this skill takes guidance and practice. As customer feedback loops are incorporated into the process, the development team quickly learns what is needed and what is not.
Successful iteration planning meetings should include:
- An iteration theme, or what the iteration is intended to accomplish
- A prioritized list of stories to work on for the iteration
- A commitment by the team to the objectives of the iteration
- Communication of the plan in a visible place or in a widely accessible tool
As is the case with many development teams, there can be a struggle between what product management wants and what development wants to build. These tensions can produce frustration and releases that miss the mark, rather than targeting and delivering the most important features.
This illustrates the importance of communication as a