Software developers study early successful their careers that thing is much urgent than fixing a accumulation outage. Drop everything! All hands connected deck!
However, the aforesaid level of urgency is not often fixed to problems pinch our improvement tools, build systems, QA environments, and different parts of the package improvement pipeline. But for the improvement team, the improvement pipeline is simply a accumulation system.
A package developer’s occupation is to present worth for the company. Sometimes that intends building caller features, sometimes that intends fixing captious bugs for the customers’ accumulation systems. But none of this tin happen erstwhile thing is surgery successful the package improvement pipeline.
If the codification can’t compile, the developers are incapable to do their jobs, and the squad isn’t producing software. For the improvement team, this is simply a accumulation outage. Fixing this should beryllium a apical priority.
If the QA server is down, the testers are incapable to do their jobs, and the squad isn’t producing working software. For the QA team, this is simply a accumulation outage. Fixing it should beryllium a apical priority.
You will not beryllium shocked to study that I drew this myself. In manufacturing, location are extensive processes and procedures connected really to forestall and minimize downtime connected the assembly line.1 And akin processes beryllium for IT work outages. But I’ve recovered that astir of those attraction connected outages successful the work provided to customers, not for the group responsible for building and supporting the services.
I urge reasoning astir each the components that return you from “customer wants something” to “that thing is delivered to customers”:
- Issue reporting and alteration petition systems, for illustration GitHub Issues, Jira, etc
- Tools developers usage to straight build software, for illustration IDEs, build devices (Gradle, Maven, etc), package repositories (npm, Maven Central, soul repositories, etc), section databases, containers, etc
- CI/CD devices (Jenkins, GitHub Actions, etc).
- A failing trial suite (surely you don’t deploy to accumulation if the tests are failing?)
- QA server outage (surely you don’t deploy to accumulation if QA hasn’t tested it?)
- Literally any measurement successful your process that prevents you from making changes and deploying them to production
A squad pinch a surgery improvement pipeline can’t nutrient software, and must dainty this arsenic a accumulation outage.
English (US) ·
Indonesian (ID) ·