🤨 What Random

Everything takes a month

It always starts with the question "How long does this take?"

For context, this might mean a new system, a big enough feature, a complete refactor to a current system to make it faster etc etc.

And I always respond with the same answer - "It takes a month".

It's not intended to be facetious, but rather a strawman that all the stakeholders can attack until it becomes not a month.

"How long does it take?" - is the wrong question to ask. If a product owner asks me this, it tells me that I have the power to decide how long it takes. As a person who likes to "do stuff", I should not have this power. Because given enough time, I will build and perfect a system that nobody wants to buy.

If I get a month to do a week's work, I will do a month's work.

"work expands so as to fill the time available for its completion" ~ Parkinson's law

If I get a month to do 6 months of work, we can talk tradeoffs.

The correct question therefore is: "What can you do in X time?", where X is a month, a week, a year - etc. Then we can have a nuanced conversation about what a X times's work looks like, and whether it's good enough.

Estimating software is hard, and I'm very bad at it. Years of experience have only made me marginally better. Therefore, I tend to gently guide me and my peers from asking and answering the question.

But in case it gets asked - "It takes a month".


P.S., Yes, the month here is a nod to the excellent The Mythical Man-Month


Discuss this on Hacker News

#software-engineering