Whether you work in an Information technology company or you are working on an exciting product, whether in a technical position as a project manager, developer or software engineer, quality assurance, IT, etc… or in nontechnical positions, you already know how companies and teams are in a race to get their products or new features into the market fulfilling their customer's needs.
In that race, two of the major players are in an endless conflict creating a downward spiral, resulting in a huge increase in technical debt followed by a slower time to market for the product features.
Technical debt is a debt that eventually you have to pay with additional rework (including time, money, and resources) caused by choosing an instant solution or a workaround for the time being, prioritizing speed over quality instead of using a better approach that would take longer.
If you thought about the development team and IT operations team, then you are right.
The It company you work at or the team you are part of usually has two big goals everyone is working towards:
- Respond to rapidly changing requirements.
- Produce stable, reliable, and secure services to customers*.
Then, what about telling you that each of our players is taking a side: developers are taking and responding the those rapidly changing requirements while It guys are working toward stability, reliability, and service security making it impossible for developers to introduce changes to productions.
In this way, both players have opposing goals making the life of the other dramatically hard. Resulting in what is called a downward spiral preventing any achievement of desired business outcomes.
Referring to the DevOps handbook, the authors described the downward spiral in three acts, reading them, most of the IT-involved workers will likely see them as very familiar.
This act begins with the IT guys working on the application infrastructure and trying to keep the system running enabling the company to deliver the needed value to customers. In a daily routine, production problems are usually due to the application and its complex, poorly documented, and fragile infrastructure. Solving those problems with workarounds constantly will definitely increase our technical debt where everyone is promising that the mess will be fixed when they have some time (a time that will never come).
This act begins with someone trying to compensate for the latest broken promise, ending up tasking the developers with new and urgent projects and tasks that require solving new technical challenges and cutting corners to meet the promise and the deadlines, adding more and more technical debt.
When everything just becomes more difficult, everybody is now busier, the tasks queue is much bigger, and each task requires more and more time, communication will absolutely become slower. Eventually, our work becomes more tightly coupled and any small action can cause a big failure making us fearful and less tolerant of making changes.
More communication, coordination, approvals, and dependencies, end up in lower quality, and higher time to market accompanied by high efforts from everyone.
The downward spiral is when we take a step back. Instead of minutes, moving to production will start taking days, weeks, and maybe months, and worse customers will start to experience an increasing number of outages that require more firefighting in operations instead of paying down the debt.
We are no longer able to respond to the rapidly changing customers' needs and requirements, everything is getting worse, and as result, we start losing in the market.
Finally, the real cost of the downward spiral takes a hand in the human workforce, where everyone will start to feel stuck, and feel powerless to change the outcomes and avoid failures. Fatigue, cynicism, and hopelessness will be common feelings and burnouts will start destroying the company culture, and the quality of life not only for the employees but also for their families and friends.
DevOps, enables us to improve organizational performance, reach business outcomes and achieve the goals of all the teams including but not limited to the development, QA, IT, infosec, and M&Es.
With DevOps, we can break down this downward spiral, how to? and what business value DevOps brings, to be discussed in the next articles.
Originally posted on Medium