Software Rot, Part 2 – What Maintenance Looks Like

Software applications (like homes, cars, and nearly everything else) need maintenance. Even when the software itself doesn’t change, the systems/devices it runs on and the larger software environment are always moving forward. This is called Software Rot. Most software maintenance falls into one of these categories: Updating Dependencies – Upating the frameworks, libraries, etc. that […]

Three Reasons To Keep Your Frameworks Up To Date

Frameworks are constantly changing and evolving—especially open-source ones, which we rely heavily on at Atomic. And it’s not always easy to stay up to date. Updates sometimes deprecate APIs or introduce new architecture patterns. These changes can require significant rework of a project, and they are expensive for customers. Nevertheless, updates are worth it. In […]

Diagnosing Problems: Limit, Threshold, and Quota

If you experience sudden, drastic changes in the behavior of a piece of software, you should immediately suspect reaching some limit, threshold, or quota. I spend a great deal of my time supporting and troubleshooting software deployments. Generally, if a piece of software has been running without issue for a substantial length of time, any […]

How Do We Know Our Software Works?

Yes, really. How do we know that software we build actually works? How can we know that it works? What observations and actions contribute to a holistic, fact-based, confident understanding that software I just helped build does what it was intended to? I want you to feel a little anxiety about that question. Forget for […]

DevOps – Software Delivery Done Correctly

A successful software project consists of much more than actually writing software. There are product development concerns, usability concerns, aesthetic concerns, and, of course, delivery concerns. It often seems that the delivery phase of software development project is neglected. The product is valuable, the design sleek, and the code well-written and tested—but the final handoff […]

Atomic Glossary, Part 1 – Software Terms

Being a non-tech person working for a Software Development company, I hear a lot of things around the office that sound like another language to my ears. In an effort to join the conversation and understand more about what we do, I’ve decided to take it upon myself to create a glossary of terms. Since there are so many […]