How To Tackle A Digital Transformation Project? It’s not just a technology change—process, people, infrastructural changes, and cultural changes alternate. You can create the most beautiful architectural diagram, but more is needed. Once people and processes are involved, the cultural environment that supports continuous delivery and architectural discipline must be created because more than a change in strategy or structure is needed and represents a lasting change.
People need to follow the rules. What does it mean? Simply put, it means that existing legacy organizational structures consolidated over years of activity and management of decision-making power will permanently and inevitably destroy your beautiful architecture.
The key to viewing software or technology as a long-lasting and permanent evolutionary change is that evolution becomes a natural function of its environment. In a company, this is called the company culture.
The modifications necessary to support evolutionary change can be supported by management but cannot be dictated by management. People have to want to change. It’s a question of free will, not strength. Gartner has some numbers: “90% of organizations that attempt to use DevOps without specifically addressing their corporate cultural matrices will fail.” Changing your application’s infrastructure or architecture is easy. To effectively change what you produce, you must first change your culture. This has two related interpretations:
- Changing your architecture or infrastructure will only change if you also change your communication structure and corporate culture.
- Changing the communications structure will result in better processes and infrastructure, regardless of the infrastructure.
DevOps As A First Step
The Agile methodology is an approach to software design that seeks to bring all involved parties—product management, developers, maintainers, etc.—into a more cohesive group.
The idea is based on clarifying goals through short iterations on specific tasks expressed as user goals (stories). This broke with the traditional waterfall software development method, based on a principle where one team would do a task and then pass it on to another group.
However, this still only covered half of an application’s actual lifecycle. Once something has been developed, it is handed over to operations for deployment and maintenance (usually in a weekend maintenance window). The problem is that operations sometimes need to learn what the application is supposed to do, which means they can deploy inefficiently. From their point of view, developers may have no idea about the actual operating environment and may create or develop an application that does not work in the production environment.
DevOps is a cultural shift that seeks to break down the separation between developers, operations, and business stakeholders. The divisions between these groups are fundamental but, at the same time, artificial. A team can include multiple people who share a job function; DevOps seeks to redefine the team to include everyone who shares an application’s lifecycle and open communication between people.
Cultural change goes even deeper than DevOps, agile, or other methodologies. It’s a commitment to actually putting everyone on the same team. If you change your communication patterns, you can change your results. In other words, you start with something different than how you want to build something or what architecture you want to use. You start with your strategic objective and then design the architecture that supports it. This puts the application and the application solution first.
ALSO READ: What’s Behind Keyboards And Access Readers?