This letter was written by a developer and was addressed to all software project managers. This is purely fictional and any resemblance to actual individuals or events is not coincidental. Please note that this (fictional) developer is French. Here is the text of the letter, as I have deciphered it.
Liberty, Democracy and #NoEstimates
Dear Project Managers,
Have you already heard about Democracy? I think so, but strangely, this does not seem to apply in the workplace. In democracy, everyone has the right to give his opinion. Decisions are taken by a majority of the voters. When you, Project Managers, come and ask the developers in your team for an estimate and they answer that they cannot estimate this stuff, shouldn’t you listen to them?
Do you know how we vote in a democracy? Yes you know that: in a referendum, you have three different possible votes: Yes, No or… no vote. It is the same thing for polls. You have 3 possible answers to a question: Yes, No or I don’t know.
In the workplace, it doesn’t seem to be the same. If a Project Manager asks a developer if she can estimate a task and the developer answers “I don’t know”, this answer is rarely taken into consideration or accepted. If the developer answers “No I cannot estimate this, I do not have enough information, or enough knowledge about this particular thing” it is even worse: it is as if he refuses to collaborate. When you do not really have the right to answer “No” or “I don’t know”, is that democracy in the workplace? When you have to answer “yes” and you don’t really know how to provide an accurate estimate, isn’t it some… abuse of power?
When you want to hire a developer, do you tell her during the interview what are the real rules. You know the rules that will be imposed to the developer… don’t you? Yes you know because you make the rules. Let me just remind those rules that were established:
- If I – Project Manager – ask you – developer- to do something that you cannot do (like estimating a task that you tell me you cannot estimate), you must do it. I don’t know how you will make it, but it does not matter to me.
- If I ask you to do something that you are not sure you can do, you must also do it. So if you tell me that you are not sure about what you are estimating, and how to estimate, I don’t really care. That’s your business, not my business.
I do not fully disagree with this second rule, but let me add that if I am asked to estimate a task that I am not sure I can estimate, I have the right to fail, that is to say I have the right to provide an estimate that will not be really accurate.
When you come to ask me for an estimate, and I tell you that I need more details to do so, why are you unable to give me those details? Why are you guys – Project Managers, Business Analysts, Customers Ambassadors, Products Owners or whatever you call them – paid for? Why do you ask me to complete a task, when you are not able to complete your task – gathering enough details about the requirement – that would help me do my own task? Why do I have the impression that it is not really a Democracy when you ask me to do something and you do not do you own work?
Also, when you ask me for an estimate that I am not really able to provide but that I provide anyway, why do I sometimes have the impression that the result was sort of suggested to me… when you tell me, we have to deliver this in two weeks, do you think we can do it… the question seems to imply the answer… Is that not a sort of abuse of power again? Particularly when I later begin to understand that if I don’t deliver the task in the estimated time, I will be judged responsible for that.
You see, I am asked to do a task (estimating) that will imply another task (doing the task that I estimated) and I will be held responsible for both tasks: the estimate, and the development of the estimated task. That is to say that I will take the full responsibility for two tasks that require very different qualities: event if I am a very good developer, I am perhaps not as good in estimating things. But if my estimate is not accurate, that means that I deliver later than expected. So it is as if I fail in the estimate – not accurate – and in the programing – presumably delivered late, because not in line with the estimate.
It is the same if the programming takes longer than expected: I will be held responsible for the presumably bad estimate, and presumably late delivery of the program. And moreover, the whole project will be at risk, and I often feel that I will have to endorse the full responsibility for that.
Dear Project Managers, as you see, talking about estimates, for me developer, is more talking about Democracy at work. Or dictatorship.