How to Shift Left: Four Tips to Change Team Culture
As the “shift-left” mindset begins to take hold, it is important to remember that embedding key technical practices earlier in the delivery pipeline will only deliver value if all teams are prepared and on board with the change. Continuous testing, for example, is essential and may require more of a shift in culture than technology.
Most shift-left discussions focus on automation tools and techniques. But an area that many fail to touch on is culture. This is arguably the most important consideration of all. Simply instructing engineering and operations teams that shift-left is the new world order is unlikely to get them onboard. What’s more, it risks furthering the silent divisions between siloed teams. This is why a cross-organizational culture must be addressed. If you do the right thinking up front, confronting behavioral and cultural challenges early, your shift-left strategy is more likely to succeed and improve delivery performance. With this in mind, here are four tips and practices to help enable a shift-left transformation.
1. Transform Around the Company Vision
Shifting left is intended to empower the business, allowing processes that normally occur further down the software delivery pipeline to be embedded earlier and more frequently within a software delivery pipeline.
Shift left should, therefore, be approached as a transformation program. To succeed, it needs buy-in right across the organization.
The best place to start is to align the program to the company’s overall vision. If everyone understands and buys into the ‘big picture' and their role in achieving common company goals, that’s the best place to start in introducing a program to shift the way software is developed and delivered across the board.
Vital questions to ask include: “What do we need to do in order to deliver the best service to our customers so that our company remains competitive in today’s fast-changing world? What is our performance today, and what should it be tomorrow?” It may be the case that today you are delivering software at a certain cadence, but if no one is asking whether this can be done faster or in a more efficient way, you risk stagnation.
2. Incentivize Teams Around a Common Goal
Research demonstrates that shifting left improves both commercial and non-commercial performance. A successful shift-left strategy will connect the transformation investment back to business performance.
The second step to implementing a shift-left culture is to not start with tools but with incentivizing and reorganizing the teams involved in the software delivery pipeline. In a traditional structure, the disciplines required to deliver software exist in silos, with each playing their role at a different stage in a linear software delivery process. A shift-left mindset requires us to identify and break down the inefficiencies created by these silos by eliminating waste. Success enables increased agility through short, iterative delivery cycles without skipping any one discipline. The business can then organize software delivery into smaller, cross-functional delivery teams that are empowered, rather than slowed down, by legacy silos.
A supporting education and change management program is vital. Making the business case for setting up cross-functional, independent delivery teams is a radical change. It’s only natural that an organization’s silos will feel defensive; have questions about how the change affects the way they operate today and the way they measure their success. An effective change management program will help prevent teams from feeling like the ground is shifting beneath them during a shift-left transformation.
3. Assess, Measure, and Evaluate
With the business aligned and the organization empowered, introducing a technical assessment of software delivery performance is the next critical step in shifting left. Analysis of four key metrics allows you to categorize the current level of performance and begin a discovery of where wastage exists in the value chain:
- Delivery frequency
- Lead time to change
- Mean time to repair
- Change failure rate
The first two metrics measure throughput while the second two metrics focus on stability. Measuring them as part of a single assessment framework brings parts of the organization traditionally opposed to one another together. A successful shift-left strategy focuses on throughput with stability.
Technically assessing the value stream will give you a list of concerns that are adversely affecting software delivery performance. From this assessment, targets and objectives for the organization can be created for shifting left, which align with the overall strategy to improve business performance.
Objectives and Key Results (OKRs) are a popular goal management framework that help companies implement strategy. The framework encourages improved focus, increased transparency, and better alignment. Setting OKRs also help companies move from an output — for an outcome-based approach to work. These can then be communicated and socialized internally, showing organizational commitment to the shift in culture.
4. Adopt Successful Key Technical Practices
Now that the groundwork has been laid, an organization can draw upon successful key technical practices to transform. Here are a couple of examples:
‘Pets’ versus ‘cattle’ is a classic shift-left analogy, and when it comes to environments, ‘cattle’ is the ideal model.
Environments that conform to the ‘pets’ model are precious and inflexible, whereas ‘cattle’ environments can be destroyed and replaced at any time through the use of techniques, like infrastructure as code. Introducing this practice shifts the environment definition left and emphasizes repeatability and consistency throughout the software delivery pipeline. It helps break down the mentality of ‘us versus them’ between development and operations teams — as no one team is precious about an environment — and eliminates issues in production that are attributed to environment drift. Confidence grows as the practice becomes more widespread and frequent.
Test Automation and Behavior-Driven Development
If development teams aren’t using test automation and efficient test data management as part of their delivery, the delivery pipeline is inefficient. A test-first mindset coupled with a desire to build automated test assets that can run early and often is essential to cutting wastage in the value chain.
Behavior-driven development (BDD) is a great methodology that can accelerate your shift-left movement. It is a process that facilitates better cross-team collaboration by enabling everyone on the same team, from testers to product owners, to work together via a shared and easy-to-read language. No longer is an individual’s success centered on the completion of a single part of the process but rather a collective understanding of when the job is done. A culture shift has taken place.
This blog previously appeared on DZone.