Picture this: You’re an IT project manager, racing against time to deliver a project. The client wants you to speed up the delivery, but you’re stuck in a bitter fight between your development and operations teams. The teams are blaming each other for the delay, which doesn’t help you meet the client’s expectations or deadline.
The answer to these problems is DevOps collaboration.
DevOps is an IT management methodology/practice that facilitates faster, more accurate, and smoother software deliveries (especially on the cloud) through collaboration between development and operations teams.
The practice is being widely adopted by many software development businesses, especially small and midsize ones. In fact, 31 percent of SMBs are adopting DevOps across their organization as a business practice.
If your small business isn’t in this 31 percent, you’re missing your chance of saving $360 per developer, per week. Adopting DevOps for your software development projects will help you deliver before deadlines/on time and offer more value to clients.
To help you strike a balance between delivering value and speed, we’ve got some tips to help you adopt DevOps at your business.
Definition and benefits of DevOps
What is DevOps?
DevOps is, according to Gartner, “a change in IT culture, focusing on rapid IT service delivery through the adoption of agile, lean practices in the context of a system-oriented approach. DevOps emphasizes people (and culture), and seeks to improve collaboration between operations and development teams. DevOps implementations utilize technology—especially automation tools that can leverage an increasingly programmable and dynamic infrastructure from a life cycle perspective.”
In essence, DevOps bridges gaps in communication and collaboration between software development and operations teams. It focuses on bringing about a cultural change using the right set of tools and people. The goal is to speed up delivery and boost customer satisfaction through continuous iteration and improvement.
Comic strip showing how DevOps breaks the wall between development and operations (Source)
Benefits of DevOps
In addition to bridging communication gaps, DevOps also:
- Ensures continuous software delivery and improves the speed of resolution and turnaround time, helping you deliver value to customers.
- Reduces management challenges as code is created in smaller segments; teams can divide the project into small units and assemble it later.
- Boosts team productivity and engagement through collaboration, and offers learning opportunities.
- Fosters transparency through processes such as version control.
- Brings stability to operating environments through automation.
- Provides more time for teams to innovate through automated processes, which means they spend less time on manually implementing tasks.
- Makes teams more production-oriented, reducing time wasted going back and forth, and thereby reducing software cost.
DevOps may be a relatively new concept for many SMBs, and it’s constantly evolving. Before we dive into how you can boost DevOps collaboration at your small business, let’s take a look at its brief history.
History of DevOps: A few things you should know
Andrew Shafer and Patrick Debois discuss DevOps for the first time at an Agile conference in Toronto.
Debois starts the “DevOpsDays” conference in Belgium where the term is coined.
Jez Humle and David Farley define “deployment pipeline” in their book “Continuous Delivery”. Also, the first DevOps days event is organized in the U.S.
Gene Kim, George Spafford, and Kevin Behr release their book, “The Phoenix Project“, which describes common problems in an IT organization. It lists practices to solve these problems using DevOps. The same year, Amazon deploys to production every 11.6 seconds.
In 2011, Gartner predicted that by 2015, 20 percent of global 2,000 business will adopt DevOps. The DevOps community started building open source tools such as Vagrant. By 2012, the fast growth of the application development domain generated $53 billion. As a result, DevOps day events became more frequent and the community started growing.
Splunk and SolarWinds, among the first DevOps software tools, IPO for $1.57 billion and $802 million, respectively, signaling the industry’s growth potential.
Puppet Labs releases its first State of DevOps survey, highlighting industry health and trends.
Amazon claims 1,30,000 deployment per day.
The Puppet 2017 State of DevOps survey noted a 11 percent increase in DevOps use cases since 2014. The survey also reported that high-performing organizations that used DevOps deployed 46 times more frequently, recovered 96 times faster, and have a change failure rate that’s five times lower than their competitors.
Gartner predicts that in two years, 90 percent of the top 100 global businesses will effectively address their operational inefficiencies with the help of DevOps practices.
How can your small business start a DevOps initiative and boost collaboration?
In “DevOps—Eight Simple Steps to Get It Right,” Gartner lays out a plan to launch your DevOps initiative (full report available to Gartner clients).
Gartner’s eight steps to start your DevOps initiative (Source)
Let’s look at these steps in detail, and pair each with a few ways your small business can implement them to maximize their benefits.
1. Identify the business justification: Focus on the customer
Before implementing DevOps, you need to justify the business need for implementation. Explain the value that DevOps will offer to your customers; don’t just focus on the DevOps tools and processes.
What you can do to convey the business need for DevOps to your team:
- Communicate the overview: Create a business case for DevOps with help from the experts on your team. Focus on the RoI for overall sales and brand, then inform your team about it. Note how delivering projects on time will improve your brand reputation, as customers will be happy with your services. Consider mentioning how, after implementation, you can add additional products that will boost sales and revenue.
- Detail the benefits of each process: List out the benefits of each element of DevOps, such as automation for software development. It would increase your number of deliveries, reduce lead time, facilitate frequent releases, allow faster feedback, and establish consistent delivery schedules.
- Show them proof to get approval: Review some successful DevOps automation case studies from organizations that are the same size as yours. This will help personalize the experience for your team, and they will better understand the real benefits of implementing DevOps at your small business.
2. Define DevOps: Demystify it for your team
It’s important to demystify the overwhelming jargon of DevOps for your team. The process is essentially about “cross-functional collaboration” between development and operations teams (and other departments such as marketing and business analysts). Its methodology involves agility, collaboration, and automation.
If you’re struggling, consider renaming the process to something that your team may be more familiar with, or accept faster. This could remove the complexity of DevOps and address any resistance to accepting it.
What you can do to define DevOps for your small business:
- Convey the values of DevOps: Draft a mission or vision statement focusing on the values of DevOps: trust, flexibility, open communication, and collaboration (among others).
- Get your leadership to speak up: Ask leadership team members to convey the vision or mission statement to the whole organization. After this introduction, encourage your team members to openly discuss their understanding and definition of DevOps.
- Rename DevOps for your SMB: Get your teams to vote on a familiar title for DevOps. This may help bring about a sense of shared responsibility for collaboration, prevent them from being overwhelmed, and be more accepting to the change.
3. Select the “first-mover:” Generate credibility and reduce risk
According to Gartner’s DevOps report, DevOps is iterative, i.e., it should be deployed in parts. Therefore, it’s critical to choose one pilot application as the “first-mover.” You can add more applications once the pilot has been successfully deployed and delivered.
However, ensure the following three things before each iteration:
- Get the right team together: Identify team members who are risk takers, believe in working together, share their learning, and are open to finding resolutions through collaboration. You don’t want members who blame someone else for project failures.
- Focus on creating the actual proof: The performance of the first application deployed through DevOps must be an example for future iterations. If not, your DevOps project will lack credibility and your team may disengage.
- Identify a low-risk project: As a small business, you are more at risk of losing revenue than an enterprise. For that reason, identify a development project with low risk for your pilot.
What you can do to select the “first-mover” application in your small business:
- Get your team’s vote: Pick a web-based application (popular for DevOps initiatives) as a “first-mover” application to implement DevOps. Have your team vote on your selections to ensure they’re on board.
- Encourage team discussions: Encourage discussions between experts from your development and operations teams to visualize risks in the “first-mover” project and ways to mitigate them.
4. Identify the initial team: Choose your risk takers
Identify a pilot team to kick-start your DevOps initiative. Form this team based on individual behavioral values, rather than technical skill sets (these are important but not paramount).
What you can do to build a starter core team for your DevOps initiative:
- Monitor people to select them: Monitor your employees and interview them to identify the best fits for the DevOps core values of risk-taking and continuous learning. Your pilot team must have individuals who are motivated, smart, good with people, keen to learn, and ambitious. They should be willing to assume more responsibilities throughout the application life cycle.
- Ensure your pilot team is the right size: Don’t gather too many or too few people for the pilot team. A team of five to 10 people is ideal to avoid delays and quality problems.
- Let your team make the decisions: Hand over the decision making to the selected DevOps team. Opt for a “servant leader approach”—a servant leader helps the team move faster by eliminating the need to seek approvals from outside the team.
5. Establish objectives and metrics: Recognize and reward
You need to set objectives for the DevOps team that align with your overall business objectives. Use stringent metrics to measure the success of your DevOps initiatives. Be sure that your metrics focus on the values of DevOps and don’t make your team members afraid of risk-taking and failure.
Consider motivating your DevOps team by rewarding them when they accomplish their objectives. Motivate and reward individual contributions as well.
What you can do to boost employee productivity and achieve objectives:
- Remove constraints for your team: Facilitate regular stand-up meetings to discuss project objectives, progress, and achievements with your team. Know the challenges and areas of improvement related to the objectives. Facilitate continuous improvement by implementing continuous feedback.
- Establish a rewards and recognition program: Document team progress to keep a record of overall and individual performance. Publicize a rewards and recognition program for your team, so they remain motivated and engaged.
- Study project journeys and forecast to meet targets: Keep data about customer journeys and feature usage handy. Meet your DevOps project team each fortnight/month to plan next actions for improving and maintaining the current figures. This will also help you forecast future development.
6. Focus on the constraints: Continuously iterate and improve
DevOps focuses on automation of processes and workflows to make them repeatable and faster, while eliminating manual errors. This means that the end product improves constantly and the customer gets value each time.
However, certain elements (technology, people, etc.) can cause delays in the process. It’s important to identify these constraints and eliminate them early for successful delivery.
Continuous, collaborative iteration and improvement results in measurable growth (evaluated against your organization’s unique parameters) in project delivery and success.
What you can do to foster continuous improvement in your DevOps initiative:
- Develop a feedback loop: Facilitate a comfortable feedback loop that allows your team to report unresolved bottlenecks, such as developers or testers waiting for environments to be configured or wasting time in approval processes, which could be causing frequent delays. Let team members speak frankly with leadership at regular catch-ups and scheduled, open discussions.
- Have your teams ideate resolutions: Ask your team to collaborate on finding resolutions for any burdensome processes. These processes may not necessarily disrupt your operations but are organizational challenges such as resource crunch or overworked teams. Ideating for resolutions fosters a healthy environment for DevOps success.
- Follow-up with your team continuously: Share your plan to tackle constraints so that you whole team knows what to do. Followup with them to ensure that the feedback loop is complete and they take the requisite corrective actions.
7. Develop the toolchain: Invest wisely
DevOps is about continuous integration and interaction. Throughout the process, tools interact with each other to successfully develop and deliver software applications.
You need to break down your DevOps chain in phases and specify how each tool interacts with the others to boost planning, building, continuous integration, deployment, operations, and feedback.
As a small business, an overview will help you plan your technology investments and select complementary tools.
What you can do to invest in the right tech as an SMB:
- Create a roadmap and solicit team feedback: Know which tools your small business can afford. Invest in tools that support automation and collaboration between your teams. Focus on available integrations so you can scale up in the future. Gather your team to review the map and solicit their feedback to fill gaps in automation and collaboration.
8. Scale when ready: Overcome mental barriers
According to Gartner, “To start a DevOps initiative, organizations have to start from where they are.” This means that you can’t over plan DevOps implementation/usage in advance. DevOps is a continuous process, and a journey that is bound to evolve.
Take the plunge, and trust that building a DevOps toolchain goes hand-in-hand with preparing your team for success.
What you can do to overcome the mental barriers for DevOps:
- Make your team ready for technical debt: Prepare your team to accept that they may witness a little technical debt. Don’t forget that you can reduce this debt with continuous feedback and frequent iteration.
- Foster new DevOps teams: Once you see progress in a first project, start creating and training your second DevOps team. Have your seasoned DevOps team foster this new group. Ultimately, this could progress into making DevOps an organization-wide initiative.
- Create a best practices document: Document best practices, approaches, and case studies to create a knowledge repository that functions as a single source of truth for future DevOps initiatives, and a reference base for training new teams.
Did you know?
In his book “The DevOps Handbook.” Jez Humble discusses the C.A.L.M.S. model, which conceptualizes the framework for development and operations integration. Here are the five pillars of C.A.L.M.S.:
- Culture: Create a culture of production mindset focused on offering customer value for money.
- Automation: Automate tasks to make them repeatable and faster for continuous delivery.
- Lean: Minimize waste.
- Measurement: Measure mechanisms and processes to assess their success.
- Sharing: Share continuously within teams and customers.
For starters, ask yourself the following questions to ensure that you’re DevOps ready:
- Are you ready for the cultural change? Ensure that your organization is ready for this. DevOps is a cultural change, not just a technological one. You need stakeholder buy-in, which can’t be sought during or after implementation.
- Are you comfortable with Agile workflows? Find out if your organization is comfortable with agility. Agility is the backbone of DevOps, but you shouldn’t be struggling to be Agile when deploying DevOps. If you are struggling, it may be too soon for you to launch DevOps.
- Is your team committed to the cause? Gather all your stakeholders to commit and invest in the time, effort, and tools necessary for DevOps implementation. The initial investment may seem overwhelming, but your team needs to be confident and ready to invest.
- Is your team OK with more responsibility? Have your teams recognize that their responsibilities may increase or change. DevOps brings a lot of change, and your team needs to be prepared to back each other up during deliveries.
- Is your team OK with automation? Make your team comfortable with the idea of automated processes, such as software installation and version control of infrastructure. They may be resisting this change for fear of losing their jobs or becoming obsolete.
Read on to discover
- Check out GetApp’s project management software directory when selecting project management tools for your business.
- Read about 5 Top-Rated IT Project Management Apps to Synchronize Data for your software development projects.
- Know Agile vs. Task Project Management Software: Which One Does Your Small Business Need?