Skip to main content

Author: John Parker

Dual-Track Agile

Dual-track scrum, or dual-track agile, is an approach to software development growing in popularity that assumes there are two key tracks for agile product development: Discovery and Delivery, as shown in the diagram below:

parkerapr15

This approach has a lot of merit and can eliminate a lot of frustration and costs in agile development. Often, agile teams have long and frustrating sprint planning meetings because backlog items are not well defined, understood, or validated. This often results in slow velocity and extra development iterations because a basic understanding and design details are worked out during the sprint using code. The amount of waste and rework is very high because backlog items have not been defined and validated properly.

To get around this, some agile coaches have recommended that teams spend 10% of their time grooming the backlog. Some agile coaches even recommend conducting separate meetings for grooming, sometimes referred to as “Story Time” sessions, for the sole purpose of grooming the backlog. An agile project, like other projects, is subject to “scope creep” in the form of user stories that get created but do not really yield substantial value, yet were thought to be “good ideas at the time.”

Another problem is that teams and often product owners are not qualified to assess business value and validate ideas for need. A much better method to prevent these problems is to implement a dual track for discovery and delivery. I firmly believe this dual-track approach will increase velocity, provide higher quality products, and at a much lower costs.

The discovery track is all about quickly generating validated product backlog items, and the delivery track is all about generating releasable software. Below is a list of some of the benefits that can be achieved from using this approach.

Elimination of Features that Provide Little or No Value

According to Standish Group Research, 64% of functionality is rarely or never used. This is the result of two things: 1) producing software without validating that there is a real need, and 2) not getting user adoption because not enough attention was placed on the user experience. The discovery track specifically focuses on these two things: validating the need and achieving a good user experience.

Less Rework

Agile is an iterative process. Iterative means that you do not finish a feature in one go. You code, get feedback, and continue this cycle until you have an acceptable product. Reducing the number of iterations reduces the time and costs. Providing the team with better information up front can significantly reduce the number of iterations.

Cost Effective Validation

The current practice of placing items in the backlog that have not been validated is a bad practice and happens all of the time. The goal should be to validate ideas in the fastest, cheapest way possible. Validating ideas using code and development iterations is slow, expensive, and wasteful. In dual-track agile, the Discovery Team can use Lean Startup concepts such as Minimum Viable Products (MVP), which are often paper prototypes and surveys and not code to validate ideas. The Discovery Team’s job is to validate each idea and eliminate ones that do not add value.

Better User Experience

Designing the User Experience is key to user adoption. However, incorporating user experience design into agile has been difficult, as it often disrupts the rhythm and pace of the agile team. Using dual-track agile helps solves this problem. User experience specialists work as an integrated part of the discovery team and focus on building and validating prototypes, which serve as a spec for the delivery team. Most importantly, most user experience validation happens in discovery instead of validating after release of the software, resulting in lower costs and less rework.

Don’t forget to leave your comments below.

Big Payoff from Investment in Business Analysis

Demand for good business analysis skills is high, and for good reason. An investment in improving business analysis capabilities can have huge payback. Simply, organizations that have not developed strong business analysis capabilities are at a competitive disadvantage.

Enterprises with strong business analysis capabilities have achieved many benefits, including:

  • ——Implemented solutions that meet business needs
  • ——Increased ability to adapt quickly to changes
  • ——Reduced risk, complexity, and redundancy
  • ——Aligned business and IT
  • ——Enabled re-use and faster time-to-market
  • ——Presented one face to the business (customer)
  • ——Increased business value

Conversely, studies routinely conclude that poor business analysis is the root cause of many project failures, resulting in, among other things:

  • ——Incomplete requirements capture and definition
  • ——Poor strategic alignment leading to an inaccurate business case
  • ——Solution design that does not deliver requested features and functions
  • ——Applications that are not what the business needs

The International Institute of Business Analysts (IIBA) describes business analysis as “the set of tasks and techniques used to work as a liaison among stakeholders in order to understand the structure, policies, and operations of an organization, and recommend solutions that enable the organization to achieve its goals.” IIBA describes business analysis as a discipline, rather than as the responsibilities of a person with the job title of business analyst. According to IIBA, business analysis may be performed by people with various job titles such as systems analyst, process analyst, project manager, product manager, developer, QA analyst, business architect, or consultant. In this article, I may refer to a business analyst but I am actually referring to the discipline of business analysis.

Anyone who has ever worked on a complex and lengthy software development project knows that effective business analysis skills can mean the difference between success and failure. Generally, business analysts have a broad range of responsibilities on a project, with their involvement starting at the beginning of a project. Most business analysts “own the requirements processes, where they work with key line-of-business executives and users to document just what it is they want from a new application,” says Carey Schwaber, a senior analyst of application development at Forrester Research. “If you believe that software projects succeed or fail based on the quality of the requirements,” Schwaber says, “then you believe that software projects succeed or fail on the basis of business analysts, too.”

Business analysts also have many other important duties beyond gathering requirements, which are often not well known. In fact, according to Schwaber and fellow Forrester analyst Rob Karel, not many people,
including many business analysts themselves, agree on a standard definition for the business analyst position. Below is a list of typical project business analysis responsibilities:

  • ——Identify and understand the business problem and the operational impact of the proposed solution.
  • ——Document solution scope including objectives, added value, and benefit expectations.
  • ——Identify and assess the impact of the solution on all project stakeholders.
  • ——Review impacted business processes and work with business stakeholders to identify and make business process improvements that result in cost savings, higher quality, increased efficiencies, lower risk, and shorter cycle times.
  • ——Elicit needs from stakeholders.
  • ——Develop a clear set of requirements that are complete and understood by development resources and business stakeholders.
  • ——Manage requirements and associated changes through project lifecycle.
  • ——Work with stakeholders and associated business units to reduce resistance and effect organizational change.

Now, let’s examine how a strong business analysis capability can have a very positive influence on a company’s bottom line. A typical method for measuring financial return for an investment (ROI) is to use the measure below.

ROI = [Value Achieved – Solution Cost] / [Solution Cost]

Value Achieved is determined by actual 1) increased revenue, 2) cost reduction, and 3) cost avoidance. Solution Cost represents all costs to design, build, and deploy the solution. For a typical project, good business analysis can impact both sides of the ROI equation above; it can increase the value achieved through the solution to the business problem and can reduce the cost to implement the solution.

At a basic level, business analysis reduces the overall costs for the project. This concept is often counter-intuitive for managers unfamiliar with business analysis. At first glance, it may seem that performing business analysis will produce additional project documentation and add additional cost. This argument is frequently given by the agile development community, but it is simply not true. However, the business analysis methods used must conform and support the development methods used. That means that if agile methods are used for development, then requirements should also be developed iteratively and incrementally similar to the way that development is performed.

How Business Analysis Reduces Solution Cost

Effective business analysis will reduce development costs. This can be measured in the following ways:

  • Improved Project Success Rates
    The five primary causes of project failures from the Standish Chaos report are listed below.  Good business analysis can mitigate all these risks and significantly improve project success rates.
  1. Incomplete requirements
  2. Lack of user involvement
  3. Unrealistic expectations
  4. Lack of executive support
  5. Changing requirements
  • Reduction in Rework
    Project rework is estimated at 40% of an entire project cost, and, of this, 70% is related to incomplete and poorly written requirements. Clearly documented requirements reduce the amount of unnecessary change. There will always be some change, as implementation encourages learning. However, many projects are plagued by constant change because requirements were not well understood. This type of change is waste.
  • Reduction in Underutilized Functionality
    Many industry studies have shown that up to 40% of functionality developed is never implemented or used. This represents extreme waste and results not only in higher development costs but also higher maintenance costs because of the increased complexity from managing a larger code base. This problem stems mostly from poor business analysis where requirements either missed the mark, developers gold plated the solution, or requirements were simply a user’s wish list and were not properly prioritized or validated.
  • Reduction in Requirements Churn
    Stakeholder time is valuable, but without effective business analysis, stakeholders often spend excess time in unproductive discussions. An analyst can help drive logical and efficient decision-making processes, track open issues, and document discussions, reducing the amount of time spent rehashing previous discussions and going down rabbit holes.
  • Discovering more Cost-Effective Solutions
    When business analysts are authorized to find and investigate all available solutions to a problem, including solutions that may not involve information technology, business analysts often help reduce costs by finding more cost-effective solutions.

How Business Analysis Increases Business Value

Business analysts can also help the project team increase the potential benefits yielded by the solution. Some key areas come to mind.

  • Process Improvement and Optimization Reduces Waste
    A key role for business analysis is to assess the performance of business processes and work with business units to implement changes that reduce cost and increase revenues.
  • More Effective Implementation of Business Solutions
    Successful implementation of solutions requires efficient business processes supported by organizational adoption. Effective business analysis requires attention to people, processes, and technology. Focusing on business analysis principles provides clarity and alignment which help the organization prepare for change.
  • New Business Needs or Requirements are Discovered
    Business analysts do not just gather requirements; they work closely with stakeholders to discover the complete range of requirements and avoid gaps. By actively discovering requirements, the business analyst helps the business come to an improved understanding of what is needed from the solution to be successful and deliver maximum value to the business.
  • Prioritization Ensures Focus on Value
    Stakeholders are often reluctant to prioritize requirements and often provide nothing more than a wish list. By using prioritization techniques and working closely with stakeholders, business analysts help ensure that the stakeholders are invested in the requirements with the most potential benefit.
  • Less Organizational Resistance
    Organizational change is one of the toughest parts of all projects. Good business analysis keeps stakeholders engaged and can significantly reduce organizational resistance.
  • Providing a Scalable Framework for IT
    As an organization grows, so does the number of stakeholders, projects, and implementers. As this happens, the natural patterns of communication that worked for a smaller team tend to fall apart. Business analysis is a key component in enabling a small team to scale to a larger one, thereby increasing the benefits realized because more projects can be successfully implemented.

Don’t forget to leave your comments below.