1-888-310-4540 (main) / 1-888-707-6150 (support) info@spkaa.com
Select Page

Blog Series: A Deep Dive into the Agile Manifesto’s 12 Core Principles

Published in...Engineering Operations

Published by SPK Blog Post
on March 16, 2018

In this 12-part series we will examine 12 underlying principles behind the Agile Manifesto, starting with principle number 1:

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

Let’s break this statement down see what we can learn about the overall intentions of Agile practices.

First and foremost, take note of the fact that “satisfying the customer” is the highest priority. This is the point of it all. The whole reason for adopting Agile methodologies is meeting customer needs. They may be customers in the traditional sense of the term or “customers” as end users. Regardless, the goal is ensuring recipients get valuable software, the second item of interest.

We will satisfy our customers with valuable. But what do we mean by “valuable?” What makes software valuable? Clearly defining what this goal means helps us flesh out those details.

Software is only valuable when two related conditions are satisfied:

  1. The software does what it’s supposed to do — and it does it well.
  2. The software is deployed to its production environment – however that is defined.

These are the only requirements for software to be valuable: It needs to work, and it needs to be in the hands of users, not stuck in development. A software product is worthless until it can be put to its intended use.

Up to this point there hasn’t been anything particularly “Agile-ish” about what we’ve discussed. Nothing distinguishes this from any other practice. Everyone wants happy customers and everyone wants to produce good code. So what makes Agile different? The next points are the key to understanding.

How are we going to make good code? Early and continuous delivery.

Why early? One defining motivation behind Agile practices is schedule slip prevention. Customers and employers alike become dissatisfied with late projects. Customers incur opportunity costs, losing time they could have spent utilizing the product. Employers have it worse, though. Late projects raise the cost of product production, threaten the relationship with existing customers, and make attracting new customers more difficult. Ultimately, it boils down to the ability to make and keep promises.

Releasing, or at least previewing, software as soon as possible provides several advantages. The first is educational. Providing something to a customer quickly allows them to provide feedback helping direct the project and avoid compounding mistakes. It ensures you’re building the right product aligning with the customer’s expectations of quality. This helps you produce quality code.

Secondly, if we provide a usable version, we allow customers to extract the theoretical maximum amount of value from the product possible. They may not have all the promised features, but they can begin using available features, receiving a greater return on their investment.

Finally, consider continuous delivery. We want to provide customers something regularly so we can reap the benefits of repeated early delivery. If we introduce changes in relatively small batches we reduce the overall risk. Any deviations in quality or direction can be addressed closer to the time of implementation, when they are least costly to fix. Customers are again able to maximize overall value by putting new code to use as soon as it’s available.

Keep your eyes on the SPK and Associates blog for more articles unpacking Agile Methodology.

David Hubbell
Senior Software Engineer
SPK and Associates

Latest White Papers

Atlassian Cloud: Understanding Zero Trust Security

Atlassian Cloud: Understanding Zero Trust Security

Where To Start & Why It Matters What is the Atlassian Cloud Zero Trust Security model? Well, for decades, enterprise security controls were built to protect a large, single perimeter around a corporation. Often described as castle-and-moat security, This approach...

Related Resources

Why Process Automation Is Critical For Engineering

Why Process Automation Is Critical For Engineering

Process automation releases your engineers for the work their brains are intended for. That work is creativity and problem-solving.  By implementing process automation, you improve the team’s morale. Firstly, they get more focus time for deep work and designing better...

Deep Work Improves Engineers’ Productivity

Deep Work Improves Engineers’ Productivity

In this blog we'll explore how the principle of Deep Work by Cal Newport can improve your engineers productivity. Does it feel harder for you to focus on your creative, technical work? When I speak to engineers or management staff and ask this question, the answer...

Engineering Operations Is Essential For Product Development Success

Engineering Operations Is Essential For Product Development Success

This ebook is the key to unlocking and accelerating your business growth, whilst reducing error rates. What Is Engineering Operations? The disruptive and dynamic tech world has created an explosion of new applications and “things” and drove businesses to adapt for...