In software development…
- In order to satisfy the customer you have to truly understand what the customer needs.
- Sometimes what a customer wants is very different than what a customer needs.
- Keep asking “Why? Why? Why?”
- This requires the customer to be very much engaged in what is happening. They need to be able to express whether or not they are satisfied in real-time.
- Early and continuous delivery of valuable software is pretty difficult to do.
- What is “early”? Perhaps “incremental” is more appropriate. I’m assuming this wasn’t intended to be “early” in the traditional, calendar-time based meaning.
- Continuous delivery == constantly changing, hopefully for the better.
- There is no such thing as “scope creep” in Agile!
- It is of value if it satisfies the customer, therefore the customer must determine what “valuable” means.
- But… If delivery is continuous, when are we “done”? Perhaps never. Satisfaction is a tricky beast.
- In order to be satisfied, I must actually understand what I really need to be happy.
- What I want is not necessarily what I need.
- Perhaps in order to get at the core of what I really need, I have to ask myself “Why do I want X?”
- I can’t “check-out”. In order for this to work I need to be present and engaged in my life and incrementally improving it.
- I also need to start NOW and continuously deliver on those needs in the form of changes for the better.
- Working software == a means by which the need is satisfied. This could be anything from eating well, getting enough rest, to treating myself with the same kindness and respect I give my friends.
- The key is to first really understand what the needs are — what will it take to be satisfied?
- And finally, admitting that I am a work-in-progress. There is no done.
There is no done, there is progress.
There is no scope creep, there is incremental improvement.
There is no want, there is satisfaction.