Imagine that you’re the parent of a 16-year-old teenage daughter, of course there are going to be plenty of times where she asks to go out with her friends for the evening. Now you’re going to let her go but not before setting a time that you can expect her back. It’s likely, if she’s a typical teenager, that she will simply tell you that she doesn’t know. That’s she’s just going to see what happens and she’ll be home when she’s home.
As a responsible parent are you simply going to take that as an answer and let her go anyway without setting a time, or are you going to tell her that she needs to set a time or she is not leaving the house. You’re going to insist that she gives you at least an idea of when you can expect her home so that you can either wait up for her to make sure that she gets home safely. As human beings, and as parents we need to have at least an estimate of when we can expect our children to come home, we can’t just take whenever as an answer.
The problem is that I have actually heard conversations between Agile practitioners and their business stakeholders that go along these same lines. The stakeholder will ask when they can expect to have a certain piece of work completed, even if it’s just an estimated date of delivery. The practitioner then replies that they can’t give a date, and that their developers will get onto it as soon as possible.
Now this to me is the same as the scenario between the parent and the teenage daughter. There are a lot of things at stake here for the investor who is obviously relying on their work being completed. Until the work is done the stakeholder is left waiting with no idea when to expect it. Is this really acceptable?
I believe that it is perfectly reasonable for any business stakeholder to be able to have at least an estimated delivery date so that they are not just left in limbo waiting for however long. It’s important to remember that when a business owner asks for a delivery date they are not being pushy, awkward or anti-agile, they are simply being human. When you’re paying millions of dollars you have a right to be able to expect that you will be kept informed about the progress of the project.
It’s the same kind of principle that we apply to every aspect of our daily lives. For example, if we were to engage a builder to build us a house, an electrician to give us hot water or a plumber to install our toilet it’s natural for us to expect to get an estimated delivery date, and it’s natural for the contractors that we’re employing to be able to give us an estimate.
Yet there are still Agile practitioners out there, I know, I’ve heard them, that insist that they cannot give even an estimated date for delivery because it’s not Agile to provide a date of any kind. The Agile manifesto states that we should be “Responding to change over following a plan”. Of course that doesn’t mean that we don’t plan and just dive right in and then it will just get done when it’s done.
Most people are not going to be okay with this, and of course it’s only natural that they’re not going to be okay with this kind of approach. People that tell their clients that they just can’t give them a date because they’re Agile, in opinion, give being an Agile practitioner a bad name. People get the perception that Agileists are just a bunch of undisciplined, free-spirited people that run projects like a load of stoned hippies.
They get the idea that we’re all completely resistant to being pinned down over any details, including cost and delivery times. We begin to get the reputation as people that you do not want to be doing business with, and in fact we should be avoided at all costs. Of course, we’re not all like that, many of us believe that it’s extremely important for business stakeholders who have invested a lot of money into a project to at least be able to have some idea of when delivery can be expected, even if it’s not completely fixed.
By all means tell your stakeholders up front that this is the date that you can expect to have the project completed, but of course things can and do happen so this might change. If they know upfront that it is only an estimated date they will be fine if the date has to change because everyone knows that things happen. As Agileists we understand and focus on a plan but we also understand that even the best plans can change. We need to be able to adapt and respond to changes in the plan as they occur.
For me giving an estimated delivery date for the work that we’re doing is not being anti-Agile, it is in fact part of the Agile planning process. We just need to remember that we need to plan and we need to be able to adapt. Without a plan it’s not adapting to the situation, it’s just pure chaos. You can’t deliver an effective agile project when we give that sort of response.