team collaborating on a problem on a whiteboard
PHOTO: WOCinTech Chat

Everyone wants to jump on the DevOps bandwagon. This de facto standard for software development that has taken the IT world by storm ensures quicker results, an increase in agility and a reduction in manual errors. Companies like Amazon and Netflix have embraced DevOps principles, which has allowed their teams to produce thousands of builds a day and millions of production releases a year, leading to a truly agile business model.

DevOps not only bridges this gap and enables teams to deliver quality software faster and more efficiently, but more importantly, it is a cultural mindset comprised of diverse and inclusive perspectives of internal and external stakeholders in an organization. If adopted with the right spirit, it could potentially scale an organization’s initiatives and catapult its growth.

So what is DevOps? And how does it tie into elements of organizational behavior to act as a change agent and bring about cultural transformations across an organization, not just in the development arena? How does a technical phenomenon bring about a large-scale organizational change and revolutionize the way we work?

Related Article: Which Fate Will DevOps Choose?

What Is DevOps?

In 2009, Patrick Debois from Belgium and Andrew Clay Shafer from the US coined the term DevOps and held the first “DevOpsDays” event in Ghent, Belgium. The event has now spread to other cities and countries across the world. The term DevOps has been used in multiple contexts, but it is fundamentally about the union of people, processes and technology to enable continuous integration and delivery across the software development and delivery pipeline. 

What does this really mean? In essence, it requires a cultural shift in the way we have been envisioning our software delivery pipeline across the entire organization.

Traditionally, software development has happened in silos. The requirement analysts talked to stakeholders and business users to understand requirements and recorded them in various forms, ranging from static Excel sheets to complex requirements management systems. The developers then took these recorded requirements and developed code based on them. The code was minimally tested and then passed on to testers who developed test cases for the requirements and tested the code. If an error was found, the testers sent the code back to the developers, who made updates, and then the entire process was repeated. 

This progression continued until testing was completed in all the various test environments laid out by an organization and sometimes in a pre-production environment. Once the code was deemed ready for production, it was installed on production machines by the operations support team using documented instructions provided by the development and test teams. At no point in the process did operations (“ops”) ever take part in developing the code. If operations found an error in production, the developers made the change. It was then tested and sent back to ops. If requirements changed over the course of testing, those requirements were usually incorporated into a completely new release and could take over six months to bring to production. 

What's described above is the traditional waterfall approach to software development.

waterfall
Figure 1: The Waterfall Model

Related Article: Don't Go Chasing Waterfalls in Your Software Products

What's Wrong With This Scenario?

Some things stand out, you may have noticed that neither testers nor developers were part of the requirements gathering process. Ops was not brought in until the very end and their perspective was never considered during development. Each area of the software development cycle worked in its own silo, specializing in their area while working towards a larger goal, but unaware of the complete picture. Thus, the product produced in the end was a sum of parts that often ran short of the entire picture.

Enter DevOps

DevOps is a cultural shift to bridge this communication gap within organizations. It has taken us years of scrambling to realize something very fundamental: we do not produce our best work when we work in silos and when we ignore diverse perspectives. DevOps and agile environments have brought these two aspects together. In the morphing software development scenario, although agile bridges the gap in requirements and testing, it keeps apart the operations team that manages and maintains the software and servers. DevOps is revolutionary since it includes all aspects of a diverse software development cycle, where the work in unison to bring about speed and efficiency. In the end, DevOps brings higher quality products to the market within a shorter time span.

Related Article: This Is How We DevOps

Building a Culture of Inclusion

So, what does this have to do with diversity and inclusion? Reams of research show that businesses with a diverse workforce will grow faster, by bringing different perspectives throughout the organization and inculcating a culture where people are encouraged to offer a dissimilar thought process. According to Gartner, “High-performance teams that advocate diversity and inclusive behaviors will help scale digital initiatives, and through 2022, 75% of organizations with frontline decision-making teams that reflect a diverse and inclusive culture will exceed their financial targets. In addition to a mixture of age, gender and cultural backgrounds, we also include 'cognitive' diversity, which is mixing people together with different thinking styles and perspectives.” 

In other words, the simple process of developing a software has proven what research has been telling us for a long time — if you exclude different perspectives from within your workforce, the end-product suffers. Inclusion of diverse perspectives builds better products, and therefore, better organizations.

Related Article: The Need for Diversity and Collaboration in Coding and Design

DevOps as an Organizational Change Agent

DevOps is a not only a process change for software development, it is a cultural shift for organizations. As we move into the digital era, organizations, and not just software organizations, but also government agencies, need to shift their culture to a DevOps-based approach where silos are broken down and various perspectives are included to build efficiency and agility into the system. 

Let us take the example of a government agency such as a tax organization.

Tax reforms happen at the policy level where policy makers establish tax norms. These policies are then passed on from the hands of the business to IT to be built into their software systems. The changes are tested and rolled out as part of citizen services where citizens provide their feedback, and which then goes back into the loop of continuous improvement. In a DevOps based approach, the entire process of tax reform would involve the voice of the policy maker, the business decision-maker, the IT leads, the developers, the operations and ultimately the citizen, who will use the service and provide feedback. The inclusion of every perspective in the development  process, including that of the citizen whose tax dollars are paying for the process change, is critical to build not just an efficiently functioning system but ultimately an efficiently functioning democracy where citizens become agents of change.

DevOps is an immense cultural shift in the way we work with far-reaching consequences if we choose to adopt the basic premises:

  • Building a culture of communication and collaboration.
  • Breakdown silos and barriers.
  • Encourage different perspectives and voices to speak up.
  • Include every perspective/department within an organization when building something new.
  • Accept that building products or running organizations is a process of continuous improvement.

Businesses and organizations are learning to adopt new ways of working as they espouse to a fast-changing world, where static software code gives way to cloud-based and AI-enabled software is altering the way we work and think. A DevOps-based approach not just for software development but for the functioning of the organization itself, is critical to sustainment, growth and ultimately survival in a diverse world as it becomes flatter.