Torbjorn Zetterlund

Sat 28 2015
Image

Organizing your software product development cycles around DevOps

by bernt & torsten

You have probably heard about agile software development, it’s a lean approach to software development. Agile software development has “agile system administration” or “agile operations” been developed that applying agile and lean approaches to operations work.

DevOps is the collaboration between development and operations staff throughout all stages of the development lifecycle when creating and operating a service. DevOps is the is organizing the operational function of bringing software developers and other information-technology (IT) professionals to establishing an environment where building, testing, and releasing software, can happen rapidly, frequently, and more reliably. DevOps is simply extending Agile principles beyond the boundaries of “the code” to the entire delivered service.

In most application service organizations today there is a clear definition of responsibility,  there is rarely cross-departmental integration, DevOps promotes a set of processes and methods for communication and collaboration between development, QA, and IT operations.

What does DevOps stand for

“Dev” is used to define “all the people involved in developing the product,” which can include Product, QA, and other kinds of disciplines. “Ops” is used as a blanket term for systems engineers, system administrators, operations staff, release engineers, DBAs, network engineers, security professionals, and various other subdisciplines and job titles.

DevOps are not “taking our jobs!”, as some operation people think that DevOps means that developers are taking over operations and doing it themselves. Some parts of operations need to be automated, which means that either “ops” people do some automation development, or developers are writing “operations” code or both.  

DevOps teams have both people with deep “dev” skill sets and deep “ops” skill sets working together to create a better overall product. No-one is automating themselves out of a job – as lower-level become more automated, technically skilled staff start solving the higher value problems up to one level.

The specific goals of DevOps span the entire delivery chain. They include

  • improved deployment frequency (faster time to market)
  • the lower failure rate of new releases
  • shortened lead time between fixes
  • faster to recovery in the event of a new release crashing or otherwise disabling the current system

DevOps integration targets product delivery, continuous testing, quality testing, feature development, and maintenance releases in order to improve reliability and security and provide faster development and deployment cycles.

Adoption of DevOps is being driven by many factors including:

  1. Use of agile and other development processes and methodologies
  2. Demand for an increased rate of production releases from stakeholders
  3. The wide availability of cloud infrastructure from external providers
  4. Increased usage of data center automation and configuration management tools
  5. Focus on test automation and continuous integration methods

As always. comments can be left below.

Share: