Friday, February 27, 2009

Assumptions are evil

One thing that always makes me thinking that there's something wrong in our industry is that when building software people always makes assumptions instead of asking clarifications.
For example, if I would go to a construction company asking them to build a building somewhere they will ask me for sure if I'd like to have a new Empire State Building or just a wooden summer cottage, but if I would ask for some software in an unclear way to an average software team they would start building it making their own assumptions, and most likely what they'll produce is something that doesn't fulfill at all my needs.

Quite surprisingly things like that happen also with scrum teams, which is quite unbelievable considering that the product owner should know what he (as team's customer) wants or, if he doesn't know, he should figure those things out. There are companies where if the team doesn't have anything to do (because the PO is not doing his job properly) they would just go surfing (ok, maybe not the wisest thing to do in Finland, but works brilliantly in California where they are) instead of assuming, and I can tell you that the cost of having a team surfing for one day is less than having a team building a wrong software and then fixing (if not rewriting it).

In summary: assumption is the mother of all fuck-ups, don't assume, just ask. It's a simple rule, easy to follow, but its impact is quite big.