(AKA: Keys to Building Amazing Software) Building amazing software doesn’t happen by accident. It’s the result of a disciplined team who understands the importance of key principals, or cornerstones of software. These key principles set the foundation for a successful piece of software. Software that’s both rewarding for the end users as well as the team responsible for building it. In part one, we talked about the first two cornerstones of software that set the foundation needed for a project to succeed....

(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...

With all of the resources Google and Apple have poured into their ecosystems, creating cross-platform mobile applications is easier than ever. However, you still can’t get around the fact that building a native application means developing it twice - once for iOS and once for Android. Well, now thanks to a framework called Flutter, developers can create for both platforms at the same time. ...