Deiser Blog | Atlassian | ITSM | DevOps | Agile at Scale | Cloud

DevOps practice: A set of tools to make a smooth development process

Written by Polontech | May 27, 2021 2:30:00 PM

In Development, as with any other process where different people and teams intervene, it usually results in complex interactions and procedures that need to be streamlined. Here's when the DevOps practice, and Atlassian stack, come into the game to establish a smooth development process. Keep reading and find out how these two elements complement each other to boost your way of work. 

The software development process it's usually complex, not cheap, and to make it effective, it’s essential to deliver products fast, being flexible enough to adapt to the new market demands, and stay competitive. 

How the software development process usually looks like?

The classic development process consists of three separate stages:

  1. The team of Developers (Devs) is the one who writes the code and builds it.

  2. The Testing team (QA/QC) is the team that takes the code from the programmers and tests it.

  3. The Administrators (Ops) team is the one who installs the tested code on production servers and serves it to users.

Usually, the major problem these teams face is that they are poorly coupled and lack communication. Here is an example with one of the worst-case scenario on how this could happen:

  •    Programmers write the code, and they don't care what happens next.
                                                                             
  •    Given the lack of communication, Testers try the wrong version of the code for days because Developers forgot to update the code to the latest version.
                                                                             
  •    The Administrators install the wrong version of the code on production servers; it doesn't work because of the configuration; Hint: It is not the same as the Testers tried before.

Well, that sounds like a total mess, and the consequences don't stop there, given that the development process might become slower because the tasks between Developers, Testers, and Administrators are transferred from groups to groups and not in a stream.

Enhance the DevOps experience with the Atlassian Cloud toolset >> 

Because of people looking for a solution to make the development process smoother and looking to keep the flow continuous, DevOps has appeared since 2007 (approx.,). Nowadays, it's still more current than ever because of its unique approach when organizing development teams.

When doing DevOps, it's usually expected that Developers, Testers, and Administrators work in a single stream, given that each team is not responsible for a single stage but the whole stream, like a team. They must work together on the product release, and at the same time, each team has to automate tasks internally so that the code pieces move between stages without delays. In DevOps, responsibility for the outcome (and the process) is shared among the entire team.

To make the DevOps work, you need to establish continuous communication - a pipeline between Developers, Testers, and Administrators; this process requires the automation of tools to help you transfer code more efficiently, test it, and deploy it to servers.

What software development challenges does DevOps solve?

Low release speed

In traditional development, it usually happens that a new software feature is developed for months, then tested for an extra month. If it doesn't work, it takes this process from the beginning, which can take even a year to work on this vicious cycle, and when it's finally released, it turns out that feature was no longer needed. DevOps processes help quickly release software to the market and respond flexibly to changes: errors, competitors' releases, and user requirements.

Bugs in testing and at the startup

Within the classic approach, Developers, Testers, and Administrators work on machines with different configurations. Because of this situation, the Tester doesn't find any bugs, and the software does not work on the production server. In addition to this, since a lot is done manually, there's a risk of errors when transferring the code.

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.

Spending too much money

Traditionally, development costs are constantly growing due to lengthy programming and testing processes, bugs, rollbacks, and fixes. In addition, many processes are done manually, which spends qualified specialists' precious time on routine.

Effective use of DevOps solves this problem. Development takes fewer hours, and the entire routine is automated - as a result, it requires fewer human resources and more money to invest in other areas that requires it.

Use the methodology effectively: What tools are needed to implement DevOps?

When it comes to making the DevOps principles available for a company, the following stages preceded:

  1. Creating a system for Continuous integration (CI) and continuous delivery (CD). There's where to choose between different VCS (Git, Perforce, Mercurial, Subversion), and then consult and install CI solutions (Bamboo, Jenkins, Codeship, Bitbucket Pipelines, CircleCI, Azure Pipelines). Also, if a client wants to use Atlassian products for development and management processes in the company, it will be necessary to choose from the stack of tools and integrate them into the infrastructure. The next step is introducing the repository, monitoring, and containerization tool to integrate them into the CI/CD process.

                         Learn how to automate DevOps processes with Bamboo and Docker >> 

  2. Set up automated testing. Bringing developers and product teams together in TDD to anticipate feature specifications, design code assertions, and integrate your suite with test coverage tools to keep you updated on the actual capacity of your test suite vs. your database and extend it.

  3. Bring CI/CD to boost Developers' work and create more value for customers. Adding DevOps to achieve synergy with the Operations team will make the creation and product team code distribution happen.

Jira as an essential software tool for CI/CD

For software development teams using continuous integration and delivery, the pipeline belongs to the Developers, also its maintenance; this allows them to control the code delivery to customers. Jira Software can be used to effortlessly manage the entire development process from backlog to customer release.

Since DevOps is inherently a cultural and procedural adaptation of an established process, it's impossible to implement it overnight. Implementing the DevOps methodology depends on the organization's existing IT infrastructure and corporate structure: teams already using cloud infrastructures and Agile methodology are several steps ahead of groups that don't use it. Teams must use Agile frameworks.

When it comes to a basic solution for DevOps methodology, at first, the core Atlassian products are essential to solve this gap:

  •    Jira Software to plan developments, track progress, release error-free, and analyze performance to become more efficient. And adding complements as Projectrak to monitor a control project progress.

  •    Bamboo to automate deployment and releases. It makes the transition to continuous integration and delivery seamless to the point that you don’t even notice.

  •    Bitbucket to cooperate on projects. It ensures prompt code review, communication with the team right inside the source code, and protection from unauthorized changes.

The Atlassian stack of products makes all DevOps processes go faster, and clear for all teams, resulting in the Devs and Operations teams using the same set of tools, working together to build, test, and release products efficiently. Don't hesitate to contact us if you need help implementing Jira within your organization.

This blog is a collaboration with Anastasia Sarana from the Polontech team and the DEISER team.