Five Ways to Build the Right Thing

[article]
Summary:

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.

2. Iterate
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

3. Communicate
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 truly vital component to the success of on-time project delivery. Daily stand up meetings give the team transparency and visibility. Leveraging tools to provide visual assistance, like kanban boards, can help the team literally see backlog, work in progress and completed tasks. kanban facilitates open communication and provides a single source of truth for the team.

As a global e-commerce and integration services company, GXS knew that open communication was needed to ensure it was delivering the right products on time while also meeting high level business goals. Open communication required complete, accurate and transparent reporting in order to make informed business decisions. To accomplish this, GXS used existing agile platforms to enhance its reporting capabilities, allowing product managers to look at historical data and work directly with developers to re-scope projects and determine which features were truly essential to the customer. This visibility and communication allows the executive team to focus on the right information to effectively steer the business and provide clear timeframes to customers.

4. Collaborate
While collaborative cultures can ultimately create stronger, more productive teams with a vested interest in an organization’s success, the move to collaboration can sometimes be challenging. When organizations adopt agile practices, a fundamental shift in culture is required. Not only does this mean creating a project development plan and establishing methods of open communication, but teams are also required to participate in the decision-making process and to take ownership of commitments. Project leaders are expected to create and facilitate this shift to a collaborative culture.

To facilitate positive collaboration, move the team dynamics from divergent to convergent thinking as shown in Figure 1.


Figure 1. Moving Team Dynamics

5. Customer Feedback
Customer feedback is an important aspect of communication that is often overlooked in the software delivery process. While you can always ask customers what they want, there is no replacement for feedback from actual usage. Putting software in the hands of actual customers can be the most important step towards building the right thing.

Providing frequent demos to customers to validate decisions and to bring in the customer perspective is key. Customer feedback can tell you if what you are building is useful and valuable to your target market. In fact, your customers might surprise you and tell you there is enough value to release earlier than you planned.

The company Gazillion, for example, understood just how important it was to bring in the customer voice earlier in the development process, and how easy it was to do this after implementing agile methodologies. As an online game creator, one of the biggest challenges is predicting what gamers actually want. By putting the game in front of players within four months to test—a process that, without agile, could exceed a year—the company could quickly integrate user feedback to create a better game and deliver it ahead of schedule.

Following these five steps can help you as you strive to deliver projects on time, under budget and can likely help you to build the right thing: a valuable product that your customer wants and the market will buy.

Tags: 

About the author

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.