EN | ES

The three DevOps pillars: Deliver, automate, and scale

DEISER
Jun 1, 2021 4:15:00 PM

The software development and information technology (IT) universes are in constant motion and driven to improve as much as possible. Here's precisely where the Agile and DevOps methodologies offer structures for better control of project progress. In this post, we'll explain the three DevOps pillars.
The Agile methodology offers different approaches to software development (mainly) based on constant collaboration, and DevOps focuses on how the Development (Dev) and Operations (Ops) teams collaborate; there are three essential DevOps pillars that boost the productivity of IT teams:

  1. Company culture
  2. Breaking silos.
  3. Automation.

The following phrase summarizes what popular wisdom preaches today... but when it comes down to the details, many misunderstandings appear, and that's precisely what the pillars we mentioned before seek to demystify:

If you don't do DevOps, you don't know how to manage IT teams.

So... What is DevOps?

DevOps is a macro-culture that revolves around work and offers value to businesses from the collaboration between the Development (Dev) and Operations (Ops) teams (there you have its name origin). However, that would be simplifying a lot. That's why we're going to explain DevOps through our experience and its pillars:

1. Company culture

Before implementing DevOps practices within a company, it's essential to consider the team's maturity, the implementation of agile methodologies, and the configuration of the software tools.

In our case, we have managed to launch product versions (Projectrak for Jira or Exporter for Jira) in production in a matter of minutes and even have the peace of mind of releasing a new version on a Friday afternoon.

Relying on the DevOps development methodology provides a shared environment and configurations for development, testing, and launching; besides, it automates the transfer of the code, reducing the likelihood of bugs or human errors.

Which benefits developers (Dev) get from implementing DevOps with the Atlassian tools?

The flow starts with a Jira Software issue type we allocate for releases. The Jira Software releases articulate the entire workflow, approvals, code reviews, and integrations with other products such as Bamboo and Bitbucket governed by that same unit of work.

In a way, this exemplifies well the recommendation to treat code as if it were in production: every build must be robust enough to be released. Have that in mind.

Commonly, some product versions may not see the light; in our case, the product management takes full advantage of the developer's (Dev) efforts; that way, we never create product features or versions not to release them later. Company culture has to be strong enough to allow making the most out of necessity.

The asynchronous communication is key to software development >>

2. Breaking silos: How to determine if you're doing DevOps?

DevOps methodology seeks to streamline Developers, the Testing Team, and Administrators to achieve productivity's Nirvana. Everything else outside that macro it's not DevOps. The following keys will give us more insights about it:

  •    What the ideal DevOps base? As some extension of the Agile methodology, DevOps goes beyond the development teams and allows them to find tactics to eliminate waiting times and lack coordination between teams that work in different phases, other software tools, and at different times. It's a culture based on people for the sake of the team and their organization. 

  •    The common suspects: Are you aware of that awkward moment when the headhunter is looking for a DevOps profile, or the organization wants to hire consulting services to implement DevOps...? Using DevOps as an adjective makes everything about one thing and not about the whole, which is the main idea: the connection between teams and the change of teams collaboration management in some ways.

  •    It takes time: Implementing DevOps cannot be done in a massive sprint. Any consultant and expert hired with the goal of doing DevOps will be doomed if they don't work in a team-based context, where they look for existing technologies and workflows to make minor and incremental improvements over time.

  •    A DevOps project is humble. You start by measuring your forces and defining well the scope of the bases you want to lay. When implementing DevOps, our objective is that our clients don't miss us when we're gone. We need to fix things and being sure the company will continue on its way without us. Message us if you need help implementing DevOps in your company.

  •    Automate all the things! Whatever technology in use, it's essential to eliminate the possibility of human errors. That way, productivity will be invested in building the code, infrastructure, and configuration. The implications on IT profiles are very positive because personnel becomes more proactive and vigilant, which is much more valuable when they are not putting out fires: performance is monitored and studied to propose improvements.

  •   Tracking project progress. Monitoring business project progress it's essential to get rid of the barrier between technical and strategic considerations. Learn more about different ways to track projects using Jira.

  •   Check the necessary references: The Phoenix Project, The DevOps Handbook, and Jez Humble with her CALMS framework: Culture, Automation, Lean, Measurement, Sharing.

3. How will automation make your team more agile?

The benefit of automation is obvious; as mentioned before, it allows you to save time and focus your efforts on what matters. Implementing software tools like Bamboo and Docker will allow for streamlining operations (Ops) team processes, keeping them in communication with developers (Dev), and launching the software in a more agile way. That's the way we do it.

When deploying Bamboo and Docker, it's possible, through three simple tasks, to create a Jira Docker image from a Docker file, generate a container to serve the application, and upload that image to the Docker image repository so that it can be available to the whole team, at any time, without relying on anyone.

Bamboo offers different benefits when integrating it into the operations workflow to eliminate manual, tedious, and repetitive activities.

This solution came to light, inspired by the experience of Charlie, who in search of being more agile in his work within DEISER, and tired of starting up to five or six machines with different versions of Atlassian tools for requests from developers and consultants, relied on Docker to design a system that we currently use for those purposes. In this way, Charlie cloned himself and made it possible for any team member to launch an application in a matter of minutes. Contact us if you want to learn more about it.

Bamboo as a continuous integration tool:

  1. Build: With Bamboo, you can focus on the code and not on the deployment. It allows to create construction environments, deploy multiple environments or manage triggers that automatically initiate building plans based on the conditions that have been previously defined.

  2. Automatic tests should offer complete visibility of the results.

  3. Deploy: With Bamboo, it's possible to replace repetitive tasks in a flow of automated actions, securing the results and minimizing the risk of errors.

  4. Connect: In addition to native integrations with other Atlassian tools, such as Jira, Bitbucket, and Confluence, Bamboo offers a good integration with Docker that allows you to manage Docker containers and images.

How to accelerate DevOps change within your organization?

Getting a traditional software company to take steps to remove the barriers that slow work down, bring technology closer to business, and immerse itself within the agility culture that DevOps represents is a big question, and every situation is different. Below, you can see the Atlassian approach to this methodology from the tool's point of view:

The set of Atlassian software tools intervene in the DevOps cycle
That's why it's important to preach about the true value DevOps brings, which often begins with the implementation of the tools, with an inverse learning curve.

This blog post is based on our experience and a series of talks offered under the DEISER TOUR umbrella around Spain in 2018.

Mockup_ebook_7_uses_of_Projectrak_and_Automation_for_Jira

Learn more about Jira project automation 

Download the ultimate e-book containing seven use cases when automating tasks in Jira that respond to project actions in a series of different situations.

By implementing the solution shown in the E-book, you will be able to leave to the tool all those time-consuming tasks related to your projects.

DOWNLOAD NOW

You May Also Like

These Stories on Jira Software

No Comments Yet

Let us know what you think

Subscribe by Email