Why is everyone in software development always optimistic? Imagine the following situation….
A development team is working on a new product with a new architecture. They did six iterations of two weeks and realised twice their commitment in those six iterations. Their average velocity is 10 gummy bears. The load for the last two iterations of the release is 25 gummy bears.The team is discussing the progress of the release together with the product owner. Phrases that are used are:
- If everything goes well…
- We have estimated 5 gummy bears, it could be 1 and if we have bad luck 10….
- We have done the difficult part…
- I think it is possible. However, I will not bet…
Do you recognize such a situation, have you ever been in such situation? How often did it go well? How often did your project have all the luck it needed? How often was the user story over estimated? I think when you are honest… it almost never happened.
Why is almost everyone in software development teams always optimistic?
We believe we should please our customer almost always. I could agree with that. However, I don’t agree in which way a customer should be satisfied.
Imagine you buy a second hand car of 15 years old for you girl-friend or boy-friend. The salesman tells you there has never been a problem with the car, not a single issue. Do you believe this salesman?
You are looking around for a new house. You and your partner visit two houses. The broker of the first house shows you around. The kitchen is pretty old and some hinges are old and need replacement. There was a leak in the bathroom and it has been fixed by an official plumber. For the rest the house looks pretty well. The second broker shows you around in his house and explains all the great things in the house, no single issue.
Do you trust the car salesman and which broker do you trust most?
What is different in software development? I think nothing. Let’s go back to the case that I described in the begin. Imagine, there are two teams, with the same history. Team 1 is acting as in the described scenario. However, team 2 is acting different. They explain it will be very difficult to deliver all the user stories. They will definitely do their best. However, no commitment is given on the reminder user stories for the release.
You are the product owner, which team do you trust and with which team would you like to do business?
We should be realistic to our customers! When a project is difficult, when a release scope is not realistic, when the architecture is new, we should communicate this to the customer. I would say be honest and realistic to yourself and the customer. What do you think?