Software engineering as an industry has shifted away from waterfall software development life-cycle practices to embrace an agile model of iterative development. The added flexibility and collaborative focus of the agile methodology allows for increased efficiency and adaptability during software development discovery so you can streamline and accelerate the delivery of your products. For teams who have been deeply entrenched in the waterfall mindset, switching to a leaner approach can seem daunting. Phase 2’s approach aims to build trust through transitions...

As Phase 2’s 25th year continues, I’ll be sharing reflections & lessons learned over the first quarter century of Phase 2. Enhance your personal business journey through this series of blog posts. Part 1 is all about our company culture. Culture: Your Personality Matters A mentor once said to me, "culture is what you tolerate." It is a company's personality that shapes how things are done. All companies have a culture, but do you intentionally shape yours or let it evolve...

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

Automated tests set apart good software development from great. However, when testing practices go wrong it can be a drain on your team’s productivity. There are plenty of introductory articles on how to write tests. You know the jargon, you can write a test, and you have a high-level idea of why tests are valuable. We will give you the tools to take your testing strategy to the next level by pointing out what is valuable to test, how to test, and...

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