The human case for acknowledging and measuring wasted time
Acme Corporation is a famous software company employing around 2.000 developers. Like many other companies out there it has ensnared its faithful employees in a devious plot. It is murdering them, legally and out of sight, by wasting their time.
Acme Corporation is proud of its unified software development workflow. Despite multiple acquisitions, all of Acme’s developers share the same way of working. This means Acme can act swiftly on new market opportunities because re-organizing teams and shifting resources around is easy.
All of the teams have adopted and love Continuous Integration. However, mistakes can still slip through and break a project’s master branch. But, it’s no big deal, these are highly motivated developers who are always quick to fix the build right away.
And this is exactly how Acme Corporation legally murders a developer every year. “Hang on. What?”
Let’s do some back-of-the-napkin maths. Let’s say each developer wastes around 8 hours per week on fixing broken builds. Granted, that’s rather high, but let’s roll with it for now. With 2.000 developers, that’s 16.000 hours wasted by broken builds per week, or 2.286 hours per day. As puny humans we only have around 700.000 hours to live. One can therefore conclude that Acme wastes an entire human life every 306 days with broken builds alone.
Acme doesn’t exist, but there are many real corporate behemoths out there trampling their employees’ precious hours underfoot with poorly optimized marches for profit. The Acmes of the world often don’t acknowledge such waste, so they can’t work to remove it by, say, adopting pre-tested integration. The question is, how can you, as a faithful employee, prevent yourself from being slowly murdered at your desk?
Many (all?) developers complain about having their time wasted, but few actually get up and do something about it. Fewer still manage to do anything besides waste more of their time. Waste definitely isn’t removed by complaining, nor is it removed by lone cowboys. No, removing waste starts with acknowledging and measuring it.
So, when you end up wasting time due to a failure or manual task don’t shrug it off. Ask yourself, has this happened before? Could it happen again? If so, record the time you lost. Even a rough estimate is fine.
Once you have a few data points extrapolate and do some quick maths. Find out who owns the problem. If the company loses around three days of time per month to an issue, and six days of the owner’s time could resolve that issue forever, that’s a pretty clear return on investment. Sharing these numbers with your team, manager or boss is a great way to make sure the issue gets the attention it needs and is resolved properly.
Or, you can continue to sit there complaining at your desk, waiting to be murdered.
Looking for reading material on tackling waste besides my humble post? Check out the following brilliant book by Nicole Forsgren, Jez Humble and Gene Kim:
The Continuous Delivery and DevOps Conference in Scandinavia
Continuous Integration and Code Review are strongly correlated with success. Many use Pull Requests for code review, but for co-located teams this can be an obstacle for CI. Is there a better way?
How can Teams Collaborate without Pull Requests?
A short story about Pre-tested Integration
A developer that pushes their changes and goes on a celebratory walk to the water cooler is done. But, they’re not done done, their changes have yet to be thoroughly tested, added to future release notes, properly peer reviewed and more. These are pains we want to rid the software industry of, and here’s how we do it.
A Continuous Delivery storyline
How we tell the Continuous Delivery story
When you embark on your cloud native journey there will be important choices to make about cloud providers, continuous deployment, environments’ setup and separation. This guide will help you make the right choices by sharing lessons learnt from running cloud native apps in production.
Kubernetes has become the de facto container orchestration platform. When we help clients of different sizes and domains start their cloud native journeys in Kubernetes, we assist them in making sound decisions and technology choices. There is no one-size-fits-all solution when it comes to choosing cloud providers, CI tools, continuous deployment pipelines etc., so it is important to make the right decisions at the start. Failing to do so can be very costly in terms of lost time and money.
Start well with Kubernetes
How to make the right technical choices on your cloud native journey
Learn how Docker and Kubernetes work and the key benefits they bring. Using real demos, I show how Docker is a great packaging and distribution technology, and how Kubernetes provides a powerful runtime for containerized applications.
Video - Docker and Kubernetes in 40 minutes
Watch this introduction to Docker and Kubernetes at the Trondheim Developer Conference (TDC)
In the world of Agile and DevOps we use many figures, charts and diagrams to argue and reason about our world and how we prioritize and make choices. However, at all levels of the organization, we misuse and misinterpret figures. It’s time to be explicit, measure the right things and act on them. Watch this talk from DevOpsDays Zurich in May 2019.
Misused Figures of DevOps
Watch this talk from DevOpsDays Zurich
Summer is a great time to catch up on reading, whether you’re at the beach, in a summer house, or cozy at home. If your book backlog is on the short side, don’t worry! We compiled a list of great books for summer reading.
Six books you should read when working with DevOps
Inspiration for your summer reading list
At Praqma we believe in knowledge sharing, and we love to teach our technical expertise. Watch this series of videos to learn how traefik reverse proxy works step by step.
How to use Traefik reverse proxy
A video seminar to learn how Traefik works
What testing steps should you include in your Continuous Delivery pipeline? Don’t just string together existing manual processes - use simple, collaborative tools to design something better!
Pipeline - The Game that Delivers!
A new card game to design Continuous Delivery pipelines
In the Accelerate book, researchers explain several metrics which they have shown will measure the performance of a DevOps organization, and crucially, drive performance of the organization as a whole. I will explain why this is important, using an analogy with your risk of a heart attack.
Winning with DevOps and Reducing Your Risk of a Heart Attack
Clinical Trials and Software Process
Your repositories are cluttered, you’re storing irrelevant builds, and your disks are full. Luckily, you’ve come to the right place for advice. Here’s how to set up automatic cleanup.
Artifactory Retention Policies
How to set up automatic Artifactory repository cleaning
In many security and safety critical environments there can be requirements for long-term reproducibility of artifacts that are created. In this talk from NDC Tech Town, Mike Long shows how to use Docker to create binary reproducible applications from a C++ application.
Binary Reproducible Builds
How to Create Binary Reproducible Builds using Native Build Tools and Docker
Hear about upcoming events in Scandinavia, latest tech blogs, and training in the field of Continuous Delivery and DevOps