The JavaScript NIFE Pattern

Most JavaScript developers are very familiar with the Immediately Invoked Function Expression (IIFE): (function () { var x = ‘loaded’; console.log(x); }()); In this expression, we create a function that wraps all the enclosed code in its scope, and at the end we execute the function with the parentheses. If you aren’t super-careful though, you […]

Decision Making Classifications

The pyramid of good organisational decision making is quite well known these days, as is the inverted-pyramid of command and control organisations. However, it is an interesting exploration to attempt to categorise the rough stages that you will find along the scale from “inverted” to “righted”. Some organisations don’t make it all the way. Decision […]

Testing SQL Query Performance

I was asked about how to test a query without all of the clever caching that SQL performs, this is how you do it… but read on for important information. DBCC DROPCLEANBUFFERS DBCC FREEPROCCACHE GO SELECT * FROM MyTable Very Important Notes There are some very important things to consider before you use these commands. […]

Work Prioritisation vs Stack Ranking

Why is it that modern software development processes prefer stack ranking over priorisation? There is a simple answer – and isn’t (just) the simplistic “everything will be raised as a Priority 1” that you usually hear. The fact is, there will be multiple Priority 1 (P1) items – and without stack ranking these, implicit decisions […]