Software development is all about making decisions - eventually. Programmer makes several or even a hundred choices that impact the product in a single day. Making decisions are the most difficult tasks that we encounter but what is possible if we get them right?