Agile Principle #1 states “Our highest priority is to satisfy the customer through early and continuous delivery of valuable solutions.”
Principle #1 is #1 for a reason! Every team, group or organization has a customer, whether it’s an internal customer, an external customer or both. The utmost concern for our team must be that we are providing value and satisfying our customer, for without that nothing else really matters. In almost all cases, satisfying the customer is economically driven and teams have limited people and resources in doing so. We relatively rank our items to address our most important and valuable items first. This may be easy and quick for a simple “to do” list or we may have to spend more time for a list of more complex initiatives, always with a watchful eye on expending just enough effort to do so and no more.
Peter Drucker stated “There is nothing so useless as doing efficiently that which should not be done at all”. Working on the right thing is important and we can increase our success by adhering to best practice relative ranking exercises. Even in doing so, we can still fall prey to failure. Failure is not necessarily a bad thing. Much is learned by failure, but if we are going to fail we want to expend the least amount of effort to do so – in other words, “fail fast” to learn. By failing fast, we can quickly pivot or pick up something new that will provide customer value.
“Through early and continuous delivery” is a phrase in principle #1 that amplifies two significant points which are “leveraging feedback loops” and “maximizing value”. Feedback is the cornerstone of Agile. Feedback loops are akin to a sailboat tacking to its final destination. The tighter the feedback loop the better we can adjust and stay on line, but also the more effort we expend on the checking process. Determine how long you want to sail along before checking your course. Early and frequent feedback loops with the customer enable us to adapt, pivot and fail fast.
Releasing early and continuously allows us to also maximize value. If we have 20 things prioritized, we then identify the smallest number of those things that will be of acceptable use to the customer and provide maximum value. As an example, if we were building the first Automated Teller Machine (ATM) and we wanted the machine to “Withdraw Cash”, “Deposit Funds” and “Inquire on Balance” would it be wise to wait until all three features were available before delivering it to the customer? Would it be wise to wait for the ATM to be able to remember what your most common withdrawal amounts were and proactively offer those choices? Or would it be wiser to deliver the ATM as soon as possible without certain features? These are decisions that you need to make, but the point is that the longer you wait to deliver value to the customer the longer you wait to receive the economic rewards which in turn is losing you money, along with depriving you of essential customer feedback as they use the solution. So why not deliver the smallest number of features that provides the most economic value and then adhere to Principle #1’s phrase of “through early and continuous delivery of valuable solutions” by then delivering subsequent prioritized features continuously throughout the life of the effort.
Through some of the outlined and other practices we can deliver value to our customers continuously. Continuously Providing Value = Happy Customer! 🙂