The following is an excerpt from an article originally published on our partner, SPAN Digital‘s blog. You can read it in its entirety here.
The success of companies like Facebook, Amazon, Apple and other digitally-enabled enterprises has encouraged many businesses to seek similar agility through Digital Transformation. Organizations aim to rapidly respond to market opportunities and demands by converting existing discrete processes into digitally continuous ones. The result is agility, but the price is managing continuous change. New strategies are needed to manage the uncertainty, and risk of ever-changing systems and new tools are needed to maintain situational awareness, and provide decision support to those grappling with continuous change.
Digital Transformation Strategies
Digital transformation strategies require the conversion of existing manual, or semi-digital, processes to fully automated services that orchestrate core business activities. Digital transformation requires businesses to become proficient at software development and digital service operation. Successful digital companies draw their success from a loose collection of business and engineering practices that enable their agility. Click to learn more about Agile Development Practices, Cloud Deployment, Microservices, Containerization, Open Source, and DevOps.
Where is Digital Transformation Leading?
When DevOps teams create microservices composed of open-source software and deploy them to the cloud using containers, multiple accelerators combine. By leveraging Iaas, Paas and SaaS providers, teams can focus on high-value differentiators. This can result in agile hybrid solutions that can rapidly adapt to market demands. This agility allows an organization to make multiple controlled releases to production in a single day, which is a competitive advantage. But this speed means the production system is continually changing. Tomorrow’s systems are guaranteed to be different from today’s. Continuous change happens rapidly! and creates its own problems.
Which brings us to the elephant in the room seldom mentioned in articles on digital transformation. Staff Turnover! The average tenure of engineering staff in Silicon Valley is less than 24 months and it’s not much better elsewhere. This means half of most organizations’ engineering staff compliment has less than 24 months experience at the company, and 1/3rd have less than nine months.
Loyal staff must train newcomers to extend, maintain, and understand the poorly documented systems that must be continually upgraded to keep up with the latest security patches and open source releases. It is often easier to add a new service rather than try to enhance a poorly documented existing one. This leads to a proliferation of new services that replicate an ever-accumulating collection of legacy services.
Enterprise transformation initiatives create business agility by leveraging the technologies and practices described above to enable and empower themselves to rapidly evolve their offerings in the face of competition. But the same rapid change creates legacy technology faster than ever before! The modern enterprise typically has as many services in production as it has engineers to maintain them and both the engineers and the services they maintain are rapidly changing.
Recognizing and accepting this state of affairs as the “new normal” and then turning it to your advantage is the second step of digital transformation.
Strategies for Managing Continuous Change
Many industries already employ strategies that enable them to effectively function in environments characterized by continuous change, uncertainty, and risk. We have found three strategies, in particular, to be highly valuable when starting to grasp these issues.
- Situational Awareness and Decision Support
- Knowledge Management
- Portfolio Management of Technology Stacks
Situational Awareness for Software Engineers
In rapidly changing environments, designers, developers, and operators of solutions need good situational awareness and access to accurate, timely, structured information about the systems they are trying to maintain and evolve. Here are situation awareness levels you should consider and deploy to ensure your systems are efficient:
Situational Awareness and Decision Support
Situational Awareness Level 1: Ensure engineers can observe the elements in the situation. In addition, they must understand how the teams, and individuals, influence and interact with these elements.
Situational Awareness Level 2: Help decision-makers understand the situation. An understanding of the dynamics of the solution is required to make sound decisions about the evolution of the system over days, weeks and months.
Situational Awareness Level 3: Provide tools so engineers can forecast the future state of the system based on current trends and planned interventions.
Decision support systems must help users plan and execute complex tasks in a consistent manner and create a record of planned and completed tasks for higher-level monitoring purposes. Consistency and efficiency in onboarding new staff, fault diagnosis, design reviews, security and data audits, among many other common tasks is essential in managing continuous change.
Knowledge Management
Knowledge Management is the process of transferring information from a storage medium to the mind of a person who needs it and back again so that it can be shared with others.
The average employment tenure of a software engineer is currently less than 24 months. New engineers must be on-boarded and up-skilled efficiently to reduce the time it takes until they can make productive contributions. At the same time, the valuable knowledge of experts must be transformed into information so that others can learn. The band-aid solution of providing a wiki and hoping staff will ‘do the right thing’ and document their work just leads to a chaotic, repetitive mess. Information and knowledge must be managed and curated by dedicated staff.
Information Asset Management
Engineering Knowledge can be divided into three main categories, external information, inter-team information, and intra-team information. These are based on the intended audience and scope of distribution. Adapting the information life cycle for each type of knowledge is an essential part of a good strategy for knowledge management.
- External information is targeted at third-party partners and customers. This is usually the best-managed knowledge; it’s structured and formally published comprising manuals, instructional content, and training courses.
- Inter-team information is targeted at other teams within the organization. These are teams that consume the deliverables of the team generating the information. In flat organizations with many teams, there are many such dependencies. This area is the worst defined in most enterprise organizations today and yet with the flattening of organizations and adoption of micro-services, this area has the fastest-growth.
- Intra-team knowledge is the team’s internal operational knowledge, it includes, day-to-day, plans and road-maps, lists of defects, and tasks.
Portfolio Technology Stack
A balanced portfolio is key to a good investment strategy. It spreads risk and allows for periodic readjustments to maintain balance. The tendency of some technologies to create lock-in should drive your selection strategy.
Organizations should place long term core technology bets conservatively. Before making this choice, consider the maturity of the technology and the size of the ecosystem it supports. As well as how easy it is to hire qualified people and the stability of the organization that stands behind the technology. Organizations should embrace open source and plan to upgrade continuously.
Organizations should provide support for teams using preferred technologies, but tolerate technical diversity. They should allow teams to deviate from the recommended approach, but make each team accountable for the cost of going alone. This is how engineering organizations learn. Expect some of these experiments will fail and set hard limits on how long experiments can run before showing a return. Invest in helping teams migrate off failed technologies.
Embracing Continuous Change
Digital transformation is the beginning of a journey that leads to the next challenge - mastering continuous change. As companies embark on digital transformations, they should look further down the road at the current challenges of companies that are already fully digital. Digital transformation is not a destination, it’s an enabler for business agility. The price of business agility is continuous change, but with the correct strategy and tooling, continuous change can be harnessed and turned to a competitive advantage. An expanded version of this article originally appeared on SPAN Insights.