Implicit assumptions are bad.

Implicit assumptions made by a person or team, can cause smaller or bigger problems. I’ve sometimes encountered them myself. I was working on ASP.NET MVC app, which also utilized AngularJS (< 2.0). At the time, I was more knowledgeable in the ASP.NET field, so when dealing with AngularJS routing, I implicitly assumed, that the router will extract the route params and return objects with correct types, just as ASP.NET MVC framework does (i.e. numeric id would be an int, date would be a Date JavaScript object and others would be strings). This assumption turned out to be false, but that taught me to not have prejudices nor implicit assumptions when switching to a new framework or programming language.

Now, I haven't mentioned consequences of this assumption, but the thing is – I don't remember that detail. It was some minor bug, but still gave me a lesson. Implicit assumptions may however lead far astray. When starting working on a big project, one cannot know the whole system right away. Because of that, if that developer makes some implicit assumption, for example, "This was not yet implemented, so I have to do this", then potentially he may waste time as he is not aware of already existing solution. That's why communication is important – to eliminate (or at least minimize) the risk of going astray, of wasting time on working on the wrong solution.

As a conlusion, this contatins an interesting example. It clearly demonstrates miscommunication and possible effects of implicit assumptions.

One thought on “Implicit assumptions are bad.

Leave a comment