(AKA: Keys to Building Amazing Software) Software is squishy. It’s an engineering discipline unlike any other. Software is like building a bridge where the materials are unknown, the river you are building over is constantly changing course, and the laws of physics could reverse halfway through the project. Without a firm foundation, product teams cancel about 19% of software projects before completion. A staggering 47% are over budget, behind schedule, or fail to meet the expected quality standards. With the odds...