Making the Critical Connection Between Software Development and Delivering Business Value, Part 2

Agile is a radical alternative to traditional waterfall project planning that frequently falls short when it comes to delivering value for software development initiatives.

Why Agile Software Development is the Key to Unlocking Business Value

Agile software development frameworks—such as Scrum, Kanban, and Lean—involve principles, practices, and benefits that place great emphasis on delivering business value primarily through innovation, adaptive teamwork, nimbleness, and eliminating waste. It is a radical alternative to traditional waterfall project planning and the “command-and-control” style of management that frequently falls short when it comes to delivering value for software development initiatives.

The first principle in the Agile Manifesto—collaboratively written by seventeen independent-minded software practitioners—states the “highest priority is to satisfy the customer through early and continuous delivery of valuable software.” Likewise, the Scrum Guide—authored by the originators of the popular Scrum framework—defines its process as one in “which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value.”

In an article published by McKinsey it was mentioned that agile development has largely become synonymous with digitization. It promises rapidly evolving software development along with substantial business benefits. The Harvard Business Review (HBR) stated that agile innovation methods have revolutionized information technology. Over the past 25 to 30 years they have greatly increased success rates in software development, improved quality and speed to market, and boosted the motivation and productivity of IT teams.

The potential benefits and business value of full-scale agile software development are enormous. It is the key to unlocking tremendous business value. Some of the major business benefits available to any organization that embraces agile include:

  • Accelerated delivery of business value
  • Value-Based collaboration and transparency between the development team and business stakeholders
  • Increased autonomy of the development team to deliver what a business really needs
  • Reduced risk of failed software projects resulting in no value

Each of these agile benefits and its contribution to delivering business value through a successful software development initiative are explored in more detail below.

Accelerated Delivery of Business Value

Unlike traditional development processes, agile frameworks such as Scrum develop software on an iteration-by-iteration basis. Rather than going through an elaborate traditional planning process and delivering all of the software at the end, agile delivers workable or potentially shippable software in increments throughout the development process.

This allows for minimally viable releases when product delivery needs to be accelerated, basically allowing organizations to hit the market early and generate revenue while continuously improving the product. Moreover, stakeholders can decide to stop the project early without compromising the ability to release what has already been built.

Agile recognizes that software engineering is not the same as other traditional engineering projects—such as building a bridge or constructing a skyscraper—where it is usually possible to define stable requirements upfront. In software development, creating stable requirements upfront is usually difficult, in part because stakeholders do not usually know what they want until they see it. Moreover, most software development projects involve some innovation where uncertainty is unavoidable.

By relying on iteration and delivering workable software—sooner than later—for feedback by the business stakeholders, the delivery of tangible business value is significantly accelerated—as opposed to the traditional approach of delivering everything at the end and finding out it is not aligned with business value expectations.

Agile also makes it possible to accommodate change by adding, removing, or modifying requirements to achieve greater business value throughout the entire process. This is sometimes referred to as “adjusting the sails” during each cycle in agile software development.

Unlike the traditional “all or nothing” release approach of waterfall projects, agile development allows for improved return through reduced cycle time along with early and frequent releases of shippable product. The quicker you release, the smaller the capital investment you need to obtain a return on your investment.

This approach decreases time-to-market (TTM) for a software release—a significant advantage that can provide enormous business value in a competitive and constantly changing marketplace. This is frequently accomplished by focusing on the minimal marketable feature set for early release.

Furthermore, by accelerating the delivery through agile development, it is possible to implement the most valuable features first and end the project when the forecast return on remaining features is no longer acceptable. Developers can also dynamically add new features to coincide with new opportunities that emerge over the course of the project. Lastly, the project can be incrementally extended as long as there is further market or business value to be harvested from the software initiative.

Value-Based Collaboration and Transparency Between the Development Team and Business Stakeholders

Agile software development is a joint process between a cross-functional development team and the business or customer stakeholders who are usually represented by a “product owner” who is most accountable for shaping the software so it provides the expected business value. Agile takes people out of their functional silos and puts them together in self-managed and customer-focused multidisciplinary teams.

In an agile environment everyone has some skin in the game. Both the business and development organizations co-develop a product, every day, side-by-side, in a highly visible and interactive process. With the implementation of continuous delivery, agile teams can increase feedback as well as remove waste and impediments. The product owner not only sets the aspirations and vision for the product, but also co-leads decision making about features and value-based development goals with the team.

This process results in an always evolving product that, when finished, will have grown and learned from a collaborative and transparent environment that greatly reduces the chances of not addressing business value or market needs. To avoid stakeholder disappointment, the agile methodology places more value on outcomes than outputs. In other words, ensuring that the team’s goal will always be aligned with finding the most efficient and simplest way to achieve the customer’s business goals.

Agile development provides a comradery and shared workflow among team members that provides flexibility and requires less overhead to shape the product with a clear understanding of critical business requirements and value. Product owners with a strong sense of market needs—including the product features most valuable to end users—can infuse their market knowledge with feedback from software engineers about technical feasibility. This synergistic process results in a valuable software product delivered in workable increments.

Increased Autonomy of the Development Team to Deliver What a Business Really Needs

One of the core principles of agile is to build projects around motivated individuals which includes providing the appropriate environment and support while trusting a self-managed or autonomous team to get the job done.

In the article “Embracing Agile,” published in the Harvard Business Review (HBR), it was said that “Agile innovation depends on having a cadre of eager participants.” It was further emphasized that one of the advantages of adopting agile, particularly Scrum, is that the process rapidly increases team happiness. This is no doubt due in part to the increased level of autonomy given to the development team to facilitate solutions including radical breakthroughs.

It has been said that happy teams are high performing teams. Software developers and engineers tend to really like agile development because it is all about collaboration and communication. Moreover, this project management methodology generally maximizes the contributions of team members through flexible team structures and work cycles. This set up among team members increases transparency while empowering them to do a better job by constantly reminding them of the common, value-based goals related to a software project.

With increased transparency of value-based goals, different teams are able to work together effectively making it more likely to create what a business really needs. Every single member of the team has a real voice. Ultimately, the increased visibility and transparency allows team members to contribute their best work—giving the stakeholders and business sponsors the business value they desire.

Mature, self-managed teams know that business value is like a “secret weapon” that can get almost any discussion back on track. In an article released by Serious Scrum it was noted that business value is the reference point that allows people with different perspectives to understand each other and determine what is important. It was even coined the “common currency” of agile.

Reduced Risk of Failed Software Projects Resulting in No Value

With agile software development, the risk of a failed project is significantly reduced. Unlike traditional methodologies, such as waterfall, that are front-end loaded and control-oriented, agile development encourages shorter releases cycles with more frequent deliveries. This results in a consistent audit of the quality of the product. Because it is checked at every stage, the likelihood of an agile project coming in as a complete failure is highly unlikely.

A paper on “The Business Value of Agile Development” sponsored by Microsoft Corporation explained quite succinctly how the risk of a failed project is reduced by agile:

Agile’s iterative approach lets you measure the right thing, which is whether you’re getting the software you want. In a traditional process, you can only measure whether the project matches the plan, which isn’t what you really care about. Without an agile process, you don’t know whether you’ve gotten the right software until the project is over, when it’s too late to do anything about it.

Agile is far superior to traditional project management in reducing risk of failure—which is really a failure to provide the expected business value to stakeholders and customers. When deploying traditional project management methodologies, value is only received when the project is completed because these processes were designed with risk controls put in place specifically to keep project plans from changing. With agile, it is the complete opposite. Agile development recognizes that for software projects to succeed they must continually adapt to changing conditions.

Accordingly, agile mitigates failed project risk by using a strategy that makes changes easy rather than hard by building software in short iterations that allow for ongoing plan modification. It also reduces the cost of change by allowing and encouraging modifications throughout the project life cycle.

Moreover, by establishing fast-learning teams organized to employ design thinking, agile software development can respond rapidly to value-based and market related changes during the process. It is this way that agile eliminates the risk of spending valuable time on the wrong priorities for software initiatives that do not result in real business value.

The JBS Quick Launch Lab

Free Qualified Assessment

Quantify what it will take to implement your next big idea!

Our assessment session will deliver tangible timelines, costs, high-level requirements, and recommend architectures that will work best. Let JBS prove to you and your team why over 24 years of experience matters.

Get Your Assessment