It's not Software Unless It's in Production

In software development projects, it’s easy to fall into one of many traps which can cause project overruns and impact end dates. Amongst them are frequent and sometimes confusing changes to the scope of work, and also the urge to over-engineer technical solutions. These two traps are so common that they can become the norm for companies building custom software. So how does one avoid becoming stuck on these common snags?

Agree and stick to a principle.

At Alembic, our principle to avoid these traps is, “it’s not software unless it’s in production.” This is how we focus on delivering software. It informs how we work through projects, what decisions we make at key points in projects, and it influences how we hire. Here are some examples of how we plug this principle into our operations and culture:

  • Often when a new project launches, planning deployment is left to last as it’s the “final step.” It might be easier upfront to separate development and deployment, but the ease of that approach disappears quickly when software goes into production. “It’s not software unless it’s in production,” guides our early DevOps decision-making so technical debt doesn’t inadvertently accumulate during development.

  • It’s often easy to forget that internal testing in staged environments is not the end game. Although internal testing is a key for settling on initial functionality and usability, real validation comes from consumer testing with fully deployed software. “It’s not software unless it’s in production,” locks our efforts onto putting software in the hands of those that matter most: the consumer.

We encourage companies to create and adopt their own version of a principle that directly emphasises the goal of all software development: shipping it. If you want to talk about working toward shipping software faster, reach out to us!