When people asked what is the most important part of Microsoft’s success – is it vision, strategy, or execution? – Microsoft CEO Satya Nadella said they’re all important, but in the end, it was their purpose and growth mindset.
In the last post we mentioned why every organization should adopt DevOps as a sofware delivery lifecycle and why some DevOps initiatives fail. Here we are going to explore what are the challenges from a people perspective to be successful adopting DevOps.
The DevOps goal is support four key pillars derived from People/Process/Product:
- Lean Product,
- and Technology.
Culture is an essential foundation to DevOps because it requires a growth and continuous learning mindset to succeed. Leadership support is one of the critical elements to its success.
Here are 12 examples of a DevOps mindset to considerer:
- Leadership mindset: Because DevOps is transformative, leaders must identify candidates who are visionary, adaptive, motivating, empowering, and accountable.
- Customer-focused mindset: It’s means listen to and communicate with our customers, measure what is important, embrace the red in Production, use feature toggling for graceful deployment, collect data broadly but carefully, and build, measure, and learn.
- Lean-thinking mindset: begins with a detailed understanding of what value the customer assigns to product and services; understanding flow is essential to eliminate waste. Lean practitioners strive to achieve perfection.
- System-thinking mindset: begins when requirements are identified by the business or IT and emphasizes the performance of the entire system, not the performance of a specific silo of work or department.
- Removing waste mindset: focuses on identifying and removing the seven deadly wastes that aren’t of value to the customer: Partially Done Work, Extra Process, Extra Features, Task Switching, Waiting, Motion and Defects.
- Thinking theory of constraints: It’s a methodology for identifying and removing constraints (also referred to as bottlenecks) that limit throughput.
- Balancing alignment and autonomy mindsets: It’s necessary to achieve a balance between alignment and autonomy. Too much alignment leads to less innovation, less motivation, and less collaboration. Too much autonomy leads to more chaos, confusion, and conflict, while also leading to less consistency.
- Shift-left testing mindset: is an approach used to speed software testing and facilitate development by moving the testing process to an earlier point in the development cycle. It helps build quality and identify issues earlier to reduce the waste of rework.
- Security mindset: Teams need to promote awareness, define their security principles, live by their principles.
- Hypothesis-driven development mindset: This approach help create small experiments to get feedback from our customers and data-driven decisions. Starts from an assumption – something accepted as true without proof, articulates the assumption to be tested, performs experimentation and testing, and examines evidence – an indicator of the outcome.
- Live-site mindset: For a DevOps team, there’s no place like production, that’s reason to create a stable, high-performance site, applying Continuous Operations best practices in a disciplined and ongoing manner to keep the site healthy.
- Measure outcome: the way you measure people will lead how people behave. You should measure usage, velocity and live site health, not lines of code, team burndown, and number of bugs found.
Cloud adoption has radically transformed the way teams build, deploy, and use applications. This combined with the adoption of DevOps has now given teams a greater opportunity to improve practices and provide a higher quality service to their customers.