As a Development Manager you have often dealt with challenging business or purely technical solutions that you want to lead your team to implement. Sure, you have always come up with a strategy but sometimes upon reviewing the result, you may have realised that the algorithm approach was inappropriate in terms of scalability. And it may be too late if you find out during UAT or worse, after some months in production.
Ideally you want to capture such an issue early in the design phase but how do you assess an abstract application (aka technical design)? The answer comes from one of the fundamental topics of Computer Science, Algorithm Complexity, In this article I will cover some of the principal concepts of this subject that may serve as a refresher for some or a good intro for others.