The Agile Manifesto is turning twenty-one years old this year and I figured a great celebration would be bringing a post every month on each of the Agile principles.
You know me, I’m all about bringing it back to basics, stripping Agile from frameworks. And I truly believe that sticking to the ideas behind that manifesto are still very on-brand, but most importantly, effective to Agile thinking these days. I have coached, taught, and lead Agile using them as a guidance, more so than Scrum or Kanban or SAFe.
The 4 Agile values are very famous! But less famous and less understood are the twelve principles. And principles are fundamental propositions for a system or belief or a chain of reasoning. So, to understand and act in Agile ways it is imperative to get comfortable with not only what the principles are but also how they manifest themselves through your Agile lifecycle.
So here comes the Agile principle #1, the one we’ll concentrate on today:
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
The priority is the customer
The priority is the customer. And the manifesto also says very specifically, how to satisfy the customer. The specific way is through value. What the customer wants and needs. Not the ideas you and your team have that may or may not be what is best. Not the directives of a manager on the “top 10 priorities of the year”.
That’s a major difference on how products are developed today and reach those ‘viral’ stages, versus products developed in the 1990’s. Back then, whoever created them were solving problems from a more mechanistic manner: think something clunky and bloated such as SAP software for ERP! People had to be trained for weeks on only parts of the system, so complex that stuff was. It solved a big problem for companies, a very specialized one. But it was not exactly a dream come true for its users. Plus, it took years of development before it saw the light of day. Then again, back then, those enterprise resource planning problems were a commodity, never changing and once solved for one company they were more or less solved for others. So, it was considered OK to take that long to be done.
Today, however, products like cellphones, which include both hardware and software, and that are manufactured in different parts of the world, come together with their launch campaign and sales model in about 6 months. The stakes are higher. Can you do it like in the olden days and call all the shots for your product? You could, but that’s on you.
The meaning of value
At our day and age Agile married the thirst for innovation and things like Design Thinking, Human-Centered Design and other technologies for product creation and development were born and quickly became established.
And that brought the new definition of value: what the customer wants or needs. Since they buy and use the products, it’s only fair. OK, you don’t need to trust me. You only need to do so if your company wants to remain competitive and really solve problems for their customers. And here’s the interesting part: the customers might be unaware of those needs and wants (like in latent wishes) but there are human technologies to uncover those. And then the products can continue to be driven by customer satisfaction, even when customers are still dreaming or unaware.
And ultimately, the customer drives everything even for what they ignore. Certain things that are for the customer but they do not necessarily think about them ever, or just would never consider because it’s beyond their usual thinking and knowledge. And in those cases, the specialists, the development team can be of better service figuring out priorities and solutions. Those are things like great levels of quality, security, performance, legal and compliance, etc. The customer might not know that they need certain reconciliations done in their bank account or might only notice they need a faster response time when they are in a hurry and the application does not respond as fast as they wished at that time.
But as you can see, directly or indirectly, the customer satisfaction through value drives the priorities.
So, the principle says that value (what the customer wants or needs) is delivered early and often. Continuous delivery. AKA, whatever you have, as soon as you can.
Today technology is on our side to allow for this, no matter the type of product you develop. I worked on the early days of cell phones development, and I remember we prototyped their models in cardboard with little rocks inside to simulate the weight and shape and looks. That’s one way to prototype and deliver early and often and gather feedback.
I continued for many years in the software industry and let me tell you: quite honestly continuous delivery is an issue solved since many years now. From Git to Jenkins to Docker, the technology is there. Seeing some companies struggling to put software products out in the market while others, like Uber, Google, Booking.com, etc., just sail through giving us something new every day brought me to think a lot about where the issue lies.
And it’s not all about the startups and non-regulated markets. That’s the lazy excuse when someone mentions how Agile is too difficult to be applied into their model. You have ING as a bank doing online and fast and efficient and effective, years ahead, what many brick-and-mortar branches won’t. You have companies where costs are extremely high, lots of hardware needs to be built, lives are at stake, like SpaceX operating in Agile.
The complication is not how to deliver continuously in terms of software or infrastructure. It’s about the mindset for delivering continuously. Value is only realized when it’s out there. A feature, a product, a prototype. The best of these… if not in the hands of the customer, it’s irrelevant. It is just as ethereal as an idea. For actual continuous delivery, things like “done is better than perfect”, “just enough” need to be more than words. They need to be how the product team thinks and how the management thinks.
You don’t want to spend money on the perfect product that comes out 3 years late. You don’t want a perfect idea that never leaves the paper. Value is only realized and will be clear once your customer, the market, the users give feedback. It either works and it’s a success from moderate to viral. Or you’ll learn. And learning is a big element of working in Agile!
While the principle was coined having in mind software development, I would change that today for product:
Our highest priority is to satisfy the customer through early and continuous delivery of valuable product.
Online digital products, tangible goods, services, and software can and is being developed in such a way. The initial signatories of the manifesto hinted at this possibility then and it has fully materialized today: the customer demands will be answered by someone else if you don’t, speed of delivery is a requirement.
Companies, big or small, can choose to satisfy their customers. Through value. Early and often. Or not.
How can you help your team (s) to start adopting this principle?