The first and prevailing principle behind the Agile Manifesto says, “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” There’s a lot of power packed into that sentence so let’s examine it a bit more closely. What is our prime directive? Our highest priority is to satisfy the customer (or client, in the consultancy case). How do we accomplish this? Through early and continuous delivery of valuable software. I think most in the technology consultancy space would readily agree that the prime directive for a consultancy company is to satisfy the client. Without a long history of satisfied clients, it’s nigh impossible for a consultancy firm to continue to exist. Pixo believes in not just making clients happy but in a deeper satisfaction that comes from delivering value towards business goals and serving the needs of the end-users of the products we build. We all want to satisfy our clients and their end-users, sure, but how exactly do we do that? Well, according to the first principle, we have to continuously deliver valuable software and we have to start doing that right away (early). Notice the words that I highlighted in bold.
This means that the client will receive more than one release of the software from your team. This is vitally important and should be the core of your company’s process. Why? Because it’s crucial that you receive the client’s feedback on what you deliver so that your team can incorporate that feedback into future deliverables. Decades of software research has concluded that you cannot, as a development team, take a set of requirements and go away for a long while and then come back with a software solution that meets the client’s needs. Once you deliver that software, the client is going to want to make changes after their team has had a chance to play with it. Once they see the software in action, ideas and thoughts will begin to solidify in their minds that maybe weren’t that clear at first. Other thoughts will start to take shape based on the things they’re experiencing with the software in their hands. If you wait until you think all of the software is finished before you give it to the client, the cost of making those changes will be much higher than if you’d simply built the software that way in the first place. By delivering continuously, you give the client a chance to engage with early versions of the software and supply invaluable feedback that will shape the rest of the system before that part of the system has been finalized.
Creating valuable software is both the consultant and client’s responsibility. The client must have a role in defining what is the most valuable function for the consultant to deliver. Once functionality has been delivered based on their needs, by listening to the concerns and feedback of our clients and incorporating that feedback into subsequent releases, each version of the software that the client receives will be inherently more valuable to them. This value will steadily increase over time as the software starts to solve more and more of the customer’s problems. It doesn’t benefit you or your clients for your team to deliver software that doesn’t add value to their organization. Gathering your clients’ feedback through continuous access to the software is the first step in keeping them satisfied.
It should be pretty easy to tell by now what the early part of that principle is talking about. The sooner you can get that first deliverable into the hands of your client, the sooner your team can start gathering and integrating feedback from their team. This greatly reduces the amount of “throw-away” code that your developers have to produce and gives your UX experts the user data and feedback that they need to continuously evolve and improve the user experience. Everybody wins. SO… Assuming that as consultants we all want to satisfy our clients, we must incorporate a process that facilitates early and continuous delivery of valuable software. The good news is that there are many different ways to accomplish this. Contrary to what you may have heard elsewhere, there isn’t just one solution that fits the needs of every company. As such, don’t feel discouraged if you’re not “doing Agile” exactly the way you or someone on your team has heard about. The one common thread that runs through all of the methods is that everyone on the team has a role to play in ensuring success. There are responsibilities for management, the development team, and even the client. Keeping our clients happy really boils down to forming and maintaining a symbiotic partnership that has responsibilities and rewards for both consultant and client.