Just applying technology to a problem is not a Silver Bullet towards a solution. Complexity is bound to arise. Essential Complexity is a requirement that, without it, the complete picture cannot be seen. Accidental Complexity happens when we introduce concepts that do not serve the overall design. Therefore, it is imperative to justify the complexity, by demonstrating where it fits into the big picture and how it helps accomplish the larger vision.