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

Or: Building the Right Thing Requirement Driven Development (RDD) focuses on the attributes of a product the dev team needs to keep top-of-mind as they work. Clients and key stakeholders propose the requirements and the contractor refines them, talking with the client back and forth throughout development. In order to do this successfully, features must be constantly tested and requirements vetted through formal testing and evaluation. The purpose of a formal Test and Evaluation (T&E) program is to accomplish two goals;...

For 22 years, Phase 2 had focused on our clients first and refining our methodology for digital transformation. But, our solid foundation and accelerating growth revealed to leadership a need to refine our brand and position Phase 2 for the continued growth ahead. So, for our 22nd anniversary, we redesigned our brand to be fresher, more flexible, and reflect our growing future for many years to come....

Have you ever heard the expression, “you can have it cheap, fast or good – choose two”? This is an important concept to remember when contracting work out, especially software development. Here, we explain why the two options you choose are important and why you can’t have all three. In today's society, everyone wants things immediately. Instant gratification is trending to the point of being a way of life (thanks, Amazon Prime.) The faster we get something, the better. As new...

Building code and releasing code are not the same, despite what some may think. Most organizations become proficient at the act of creating software including writing code, adding new features, fixing bugs, etc. However, many struggle mightily when it comes to releasing what they’ve made into the world. I would argue releasing code is somewhat of an afterthought for most development teams; it continues despite the recent rise of the DevOps culture. In an effort to kick-start improvements in your...