March 17, 2021 | AGILE, All Posts, Knowledge Sharing

THE AGILE MANIFESTO – A LOOK AT PRINCIPLE #1

By Aaron G. Tucker, M.Ed, SPC

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

Unlike traditional approaches to #productdevelopment, which have notoriously long development cycles, the #agile principles seek to minimize the lead time between ideation and delivery and put a high-quality working product in the hands of your customers as quickly as possible. Doing agile successfully facilitates fast feedback which is used to improve the product development process and inform future releases. The agile manifesto is a set of values and principles that guide these processes, facilitating a more focused, faster, quality driven approach to product delivery. You can read more about them here.

While originally written specifically for software development, the principles and values can be applied to almost any type of development effort. The purpose of this article is to explore Principle #1, “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” In doing so, we will examine what is meant by satisfying the customers needs as well as the practices that facilitate early and continuous delivery of value.

For all intents and purposes, I will be examining this from a broader sense than software alone. So, let us get started…

Deliver High Quality, Early and Often

The goal of agile is to build a product that is useful to the customer and release it as early and often as possible. The customer can then use the product and provide the team (or team of teams) feedback. The team can then incorporate this feedback into their processes and the product itself, to increase its value.

As with any business, customers must be the highest priority. We must understand the problems they face and then build valuable solutions to solve those problems. We must build products that work as intended, and consistently. However, it is not enough to deliver a product that simply works, rather we must do so in a timely manner.

Customers do not always know what they want, however, or what can solve their immediate needs, but they often have an idea. If we were to fix all requirements up front and build exactly what the customer describes, it may not satisfy their expectations or satisfy them quick enough. Depending upon how big this solution is, the amount of time spent on the effort may create a Just Too Late scenario instead of a Just in Time one, potentially exacerbating a bad situation. Instead, focus on delivering value iteratively, satisfying an immediate need, integrating more features into the solution, and becoming increasingly and incrementally valuable over time.

Consider this landscaping scenario:

A homeowner wants their 5-acre property to be exquisite and beautiful. They want each side of their home landscaped a particular way and have a fairly good idea of what they expect. However, the landscaper they hire believes the homeowners design to be flawed and expects the homeowner to change their mind halfway through the project. This would cause the cost to grow exponentially and the customer to be dissatisfied. 

After discussing their concerns, the homeowner and landscaper decide to emerge the design over time, based on input from both parties. The homeowner knows they do not have the expertise of the landscaper and the landscaper knows the solution must meet the customers’ needs. 

So, instead of the landscaper spending months on the homeowners design, then tearing the old landscaping out and digging holes, purchasing more plants, and then planting everything, they do things incrementally. Instead of having a homeowner stressed out about the condition of their yard, the landscaper delivers small sections of value incrementally and allows the homeowner to see their yard emerge into a true beauty they can be proud of.

A good landscaper focuses on small sections of the landscaping at a time, gets feedback from the homeowner and adjusts accordingly. Each iteration of feedback provides the customer with a small portion of beautifully manicured yard, while the landscaper achieves a greater understanding of what the customer genuinely likes. In the end, the customer is far happier with this approach and the landscaper likely has a lifelong customer. Value is increased for both parties.

Best Practices.

To satisfy our customers we must focus on communication. This does not mean we communicate everything up front, defining every requirement early, designing the entire solution, building it, then validating it with the customer at the end, likely leading to rework; such traditional approaches take far too long and create far too much variance. Instead, look to communicate and collaborate with your customers throughout the process and deliver small increments of value to them. This allows both parties to set realistic expectations, provide fast continuous feedback, and enables the team (or team of teams) to implement changes quickly. This also prevents drastic (and costly) changes from occurring after significant effort has been applied.  As teams mature, continuously ask how you can get earlier and more detailed feedback from your customers, as this will decrease the cost to make any changes that would further satisfy your customer.

You must also understand what your customers value most. While gold plating on everything may make it shiny, it is not always functional or necessary. Instead, have open communication with your customers to best understand their current needs, and welcome changing requirements. Today your customer may need one thing, but tomorrow something else is more important. Your customers’ needs could change depending on how long something takes to deliver, its functionality or cosmetics, the value that can be extracted from it, and/or the cost of delaying the delivery of that product or solution as compared against others. So, prioritize your efforts based on your customers goals and stop all efforts that do not help you meet those goals quickly. In doing so, you will speed delivery (flow) and provide greater satisfaction to your customers.

Furthermore, we need to build quality in the products and solutions we deliver. Building poor quality products cause rework, costing more money and lowering its value. Worse, if your customers complain about the same issues repeatedly, and the teams do not fix those issues, your customers will likely find another provider.

Lastly, there is an expectation that products must improve over time. The most effective way to improve the value of your product is to communicate with your customers on their likes and dislikes, what they use and don’t use, and what they’d like to see improved.

Summary.

Your highest priority is to satisfy your customers through early and continuous delivery of valuable products and solutions. 

Do this by:

· Focusing on those things that are most important to your customers

· Understanding their needs and setting proper expectations

· Prioritizing their needs above everything else and deliver it iteratively.

· Building quality into our products and solutions

· Delivering value early and often

· Gaining their fast continuous feedback

· Communicating with them regularly throughout development

· Welcoming changing requirements and implementing them quickly

· Continuously evolving and improving your processes and products

Have no product in the cart!
0