-
All Success Stories
Making the Move from Agile to DevOps
Taking The Next Step After Agile
Organizations striving to reach high-performing, high-value cultures have seen the successes of moving to Agile-based delivery. Good Agile organizations are delivering better business value to their customers and are able to rapidly adjust to their customers’ needs. Those organizations are now looking for the next step to improve what and how they deliver. DevOps, the continual delivery of value, is a logical path for these organizations to choose.
https://youtu.be/cVGJVkwwtNk
DevOps is frequently thought of as the technical tool chain enabling the mechanics of smooth, repeatable, constant deployment of software in to various environments. In reality, DevOps is far, far broader then that. At its best, DevOps focuses on the rapid delivery of business value. DevOps isn’t just scripts and orchestration servers; it’s collaboration across the entire organization, from business leadership down to infrastructure management.
One critical focus of DevOps is eliminating as many “handoff” events as possible. Handoffs between teams cause considerable delays in a smooth process. Handoffs also leave teams open to quality issues: errors in manual processes, mis-communication, false expectations, etc.
Transitioning to DevOps requires significant planning, support, and patience. First and foremost organizations have to foster a supportive culture across all layers of people. Significant investments must be made in tools and people to work with those tools. Integration across an organization’s collaborative units will require serious attention to ensure effective communication. Finally, the entire organization must be open to continual learning, optimization, and improvement.
Building the Right People, Culture, and Process
An organization’s culture is the foundation of any change or improvement initiative, regardless of what that initiative is. Organizations embarking on a transformation must take the steps to ensure their people understand expectations, see clear support for time and effort, and understand why the transformation’s taking place.
Ready to transform your supply chain?
Increase efficiency and productivity. Say goodbye to delays,
handwriting error and time-intensive data entry in the back office.
People
Everything in your organization starts with your people: the good, the bad, the mediocre. Your organization needs to be staffed with motivated, empowered people. Moreover, roles and skills will need to adapt as you move to a DevOps delivery style.
Every individual in your organization needs to clearly understand their role and expectations in delivering successful value for the business. That means your leadership and management need to be constantly communicating downstream to those individuals. Upstream communication needs to be effective as well, so your people can clearly express and resolve challenges they’re facing.
High-performing organizations understand their people, regardless of role, need time on the clock for learning and self-improvement. Obviously this is a critical factor of Culture (more later); however, it can’t be overstated: Individuals need time for learning, and a clear expectation they’re to actively work on that improvement.
Closely tied to an expectation for continual learning is a clear, emphatic expectation of excellence. “Do your best, always” has to be a closely held belief for everyone in your organization. This helps guide individuals to avoid “I’ll fix it later” habits, and it also helps individuals in the organization hold each other accountable. “Hey, wait. That’s not our Way. Let’s take an extra hour and get this done right.”
Many organizations have technical teams that specialize in one domain or area such as front-end, web services, or data access. Such a restricted skill set creates significant bottlenecks, dependencies, and delays due to handoffs. Teams and individuals must move away from this specialization and gather domain and technical skills to take features from envisioning to deployment. Obviously this is a significant undertaking; however, it’s well-worth the investment as organizations find themselves much more flexible and able to faster execute in such a model.
Because DevOps pushes new responsibilities down to teams, individual skills will need to move outside the “normal” development domain and in to areas like scripting, environment management, database management, etc. This doesn’t mean people who previously specialized in these areas find themselves out of jobs. Some headcount reduction is possible, but many organizations move those specialists directly on board delivery teams where they share responsibility and knowledge.
Culture
After ensuring solid people policies are in place, leadership must immediately take on a significant challenge: Building an organizational culture that’s not afraid of change, indeed a culture that cherishes and embraces change. This takes a huge amount of effort over a significant period. Moving through a transformation as significant as Agile or DevOps will be much more effective if the organization’s people have been living in a culture that’s been supportive of transformations—and that support doesn’t come overnight.
One of the most important factors in a positive culture is ensuring there’s a clear expression of “safe to fail.” Great organizations make it clear it’s safe to fail instead of punishing failure. That’s not to be confused with making failure a desired outcome! Instead, the emphasis should be on experimentation and learning.
Experimentation means teams and individuals approach problems with the mindset of carefully thinking the problem through, coming up with a hypothesis for a solution, then work the solution as a test. Outcomes are examined and lessons drawn both from successes and failures. Great outcomes are celebrated, and the lessons learned from less-desirable or outright failures are fed back in to the next round of experimentation.
Many great examples of high-performing, positive cultures in high-tech software delivery and service companies exist. Look to Netflix led by Reed Hastings, Dan Gilbert at Quicken Loans, or Microsoft with Satya Nadella at its helm. Naturally great culture and leadership examples in business exist outside the technical domain as well.
Needless to say, all this requires a highly collaborative, adaptable environment. It also requires an environment where processes support, not constrain, the evolution of the organization.
Process
“Process” is a bad word in many organizations. Why? Because too often processes, and those who regulate them, have lost sight of the why of the implementation. Ceremony and paperwork takes precedence over logic in too many situations.
Most processes spawned from a valid reason. Many processes exist to support a specific business value, or mitigate a specific business risk. Compliance and auditing in financial or health care industries exist to reduce the business’s risk of being sued or prosecuted—not trivial things!
Organizations moving through Agile to DevOps absolutely need to work with existing processes to understand the “why” those processes exist. Collaboration with process control staff needs to ensure those staff understand the need for flexibility and change. Organizations need to ensure process control workers are supported and see safety in changes—often resistance is due to concerns at the base of Maslow’s pyramid: basic security of position.
One highly effective approach when working with process control is to find “champions” who are experts in the business reasons behind the processes—the “whys.” Work closely with these champions to bring them close to transformation initiatives. They become the go-to people who can help projects and teams quickly navigate process requirements for fast resolution. Those same champions can help adapt existing processes or create new ones where needed.
Implementing the Toolchain
DevOps focuses on moving to a continual delivery model by reducing handoffs and eliminating bottlenecks. This requires building out a DevOps or delivery pipeline of tools and processes that automate processes previously done manually. As the toolchain grows and matures it encompasses all aspects of pushing a feature to production.
This toolchain, also called a pipeline or delivery pipeline, isn’t just about the mechanics of pushing to different environments. It’s also crucial to bring your various quality gates into this automated chain. Moreover, you’ll need to ensure your testers understand they still have crucial quality-related work to do—they’re not automating themselves out of a job, they’ll be using their skills far more effectively and in more high-value ways!
Key Features and Functionality
Explore Sprouts Markets’ efficiency journey with Vector’s digital yard management solutions, optimizing logistics for success in supply chain management.
Key Features and Functionality
Explore Sprouts Markets’ efficiency journey with Vector’s digital yard management solutions, optimizing logistics for success in supply chain management.
Key Features and Functionality
Explore Sprouts Markets’ efficiency journey with Vector’s digital yard management solutions, optimizing logistics for success in supply chain management.
Key Features and Functionality
Explore Sprouts Markets’ efficiency journey with Vector’s digital yard management solutions, optimizing logistics for success in supply chain management.
Key Features and Functionality
Explore Sprouts Markets’ efficiency journey with Vector’s digital yard management solutions, optimizing logistics for success in supply chain management.
Key Features and Functionality
Explore Sprouts Markets’ efficiency journey with Vector’s digital yard management solutions, optimizing logistics for success in supply chain management.