Too many times we make a set of assumptions (implicit and explicit) about our environment:
- projects we are taking care of
- people we work with
- behaviour we take at work/home/gym/…
I think we should (in random order):
- clearly state our assumptions (implicit and explicit)
- test our assumptions early and often
Do it seem obvious? Let’s think a moment about some well-know examples.
In eXtreme Programming we play with the fact that - despite previous assumptions - requirements can (and will..) change. So instead of fight against that, we embrace the change trying to minimize its impact on project cost/schedule/quality. To say it in another way: the cost of change comes from being exponential over time (assumption) to being asymptotic.
In CMMI a mantra like “document and test your assumptions” is always present. For example in CMMI-DEV we are encouraged (err…it’s mandatory) to take care of requirements avoiding making assumptions (there are two dedicated process area ) on this topic: Requirements Development and Requirements Management).
In (classical) Economics, humans are treated as “rational agents”, but we are really full of biases and far from being so rational. A new branch called Behavioral Economics takes that into account and helps to propose better solutions to human economic issues (see the excellent professor Dan Ariely’s blog/books for some examples).
Cristoforo Colombo didn’t accept the idea that sailing toward west was unfeasible.
Of course we are not discovering another continent, but even a small advance on our (IT) journey could be a little victory.
So, what are you assumptions now?