Reader small image

You're reading from  Embracing DevOps Release Management

Product typeBook
Published inApr 2024
PublisherPackt
ISBN-139781835461853
Edition1st Edition
Concepts
Right arrow
Author (1)
Joel Kruger
Joel Kruger
author image
Joel Kruger

Joel Kruger is a senior DevOps professional and solutions architect with over 10 years of experience building CI/CD pipeline infrastructure in commercial and federal sectors. He is also an expert in employing container orchestration systems for automating computer application deployments at scale. He is a proponent of building reusable CI/CD pipeline configurations as downloadable and self-serve software factories. Joel is a very hands-on and customer-service-oriented person who loves to solve a challenge. Technology excites him, from cloud computing to embedded Raspberry Pi projects. He loves being creative with tech and is not afraid to get some hot solder in his shoelaces. Joel owns and operates his own corporation, dynamicVSM, as a freelance DevOps consultant and has experience architecting solutions that scale, reduce waste, and increase visibility. He works together with clients to help manage their value streams better.
Read more about Joel Kruger

Right arrow

What Are the Various SDLC Release Management Models?

Software development teams can organize their work using various frameworks or release management models. These models help organizations implement the software development life cycle (SDLC) using different strategies to accomplish the same result. A release management model contains individual phases that software developers use to organize their work while delivering a software product or feature. Generally speaking, each model contains the following six phases: change request, planning, design & build, testing, deployment, and release support.

Release management models ensure that high-quality software is produced according to customer requirements. Various release management methodologies have been created to serve this purpose, such as ITIL, waterfall, iterative, V-model, spiral, big bang, agile, and DevOps, but there are several less popular ones that aren’t within the scope of this book. Let’s review some...

The ITIL model

The British Government’s Central Computing and Telecommunications Agency (CCTA) created the Information Technology Infrastructure Library (ITIL) model: a set of best practices for IT activities, such as IT service management (ITSM) and IT asset management (ITAM), having its origins in the early 1980s. These practices are centered on the concept of aligning IT services with the requirements of a company’s operations. In the year 2000, the CCTA merged into Great Britain’s Office for Government Commerce (OGC).

In their infancy, enterprise IT departments were regarded as cost centers by senior leadership, rather than the value multipliers that they are. At that time, many firms had no established protocols for obtaining services or reporting IT incidents, and IT and business communication was poor. As a result, many firms’ leadership believed IT did not create value or meet company-wide objectives. As enterprise IT departments began proliferating...

The waterfall model

The waterfall model is a method for organizing the phases of a project in a linear, sequential order. This means that each phase builds on the deliverables of the one that came before it and corresponds to a different level of task specialization. This method is frequently used in a number of engineering design specializations. Since progress is made in mostly one direction (downwards, like a waterfall), this methodology is typically considered to be one of the least iterative and adaptable models in software development. The reason for this is that a team can only move forward in the waterfall process, never backward. This linear progression of immutable phases includes requirements gathering & analysis, system design, implementation, testing, deployment, and maintenance.

The waterfall model was the very first kind of release management SDLC to be used in software development. The manufacturing and construction sectors are credited with being the birthplace...

The iterative model

The concept behind this technique is to build a system in small, incremental steps, or iterations, so that software engineers can benefit from the lessons learned while building the system’s previous versions. Learning occurs throughout system development and use, where essential steps may begin with a rudimentary implementation of a subset of software requirements and iteratively improve until the whole system is implemented. Modifications to the design and new features are incorporated after each iteration of the development cycle, as shown:

Figure 3.3: The iterative and incremental release management model

Figure 3.3: The iterative and incremental release management model

The exact technique is broken down into three steps: the initialization phase, the iteration step, and the project control list. The system’s starting point is built during initialization. In this first stage of development, we want to give the user something that they can give feedback to. It should provide a comprehensive...

The V-model

The V-model gets its name from its resemblance to the letter V. This SDLC release management model is partitioned into stages in the V-model, with each stage having its own dedicated testing phase. The V’s left side represents the verification stage, while the V’s right side represents the validation stage. The V-model is a graphical depiction of the phases involved in creating a system and it is used to construct rigorous models for project management and development life cycles. The following figure shows the V-model:

Figure 3.4: The V-shaped release management model

Figure 3.4: The V-shaped release management model

The V-model provides a high-level overview of the major activities and their associated outputs in a computerized system validation framework, sometimes known as project life cycle development. It specifies the activities that must be carried out and the deliverables that must be generated during product development.

The process of breaking down requirements...

The spiral model

In 1986, Barry W. Boehm created the spiral release management model as a method for organizing the SDLC. It assumes that building an app is a cycle that may be repeated indefinitely until the desired result is achieved. By continuously monitoring risks and inspecting the intermediate product, the spiral model significantly reduces the likelihood of failure in large software projects.

Issues that arise during the course of the development process have a variety of potential impacts on the finished product. If such an outcome occurs, you should prepare for an increase in prices, an increase in work, and a delay in the delivery date. These are all elements that have the potential to quickly become a threat to the sustainability of your company. The iterative and gradual approach that the spiral model takes, in addition to the regular risk assessment that can take the form of prototype drafts, studies, or simulations, is designed to either eliminate the possibility...

The big bang model

Without any extensive preparation, software engineers leap full force into programming while under the big bang release management model. In other words, there is no predetermined plan in place, and requirements are instead implemented as they are discovered. In some cases, a complete rewrite of the application may be necessary if adjustments must be made. You can see clearly how the big bang model bears its name. However, this methodology shines when there are only one or two developers involved in the project, as is the case in academia or for practice. This technique is useful when there is a lack of clarity regarding the project’s requirements and a firm deadline for completion.

The big bang model is a software development life cycle paradigm that begins with nothing and builds up from there. Very little time is spent on planning, and we do not adhere to any particular procedure. As it does not require any planning, it is the most fundamental type of...

The agile model

The agile release management model divides the SDLC phases into multiple development cycles, with the team delivering incremental software changes at the conclusion of each cycle. The agile methodology is highly effective, and its rapid development cycles help teams identify problems early on; however, excessive reliance on customer feedback could result in excessive scope creep. The agile model is ideal for software development initiatives that require adaptability and flexibility over time. The following diagram depicts the agile model:

Figure 3.7: The agile release management model

Figure 3.7: The agile release management model

The majority of the techniques used for agile development divide the work into a number of smaller increments. These increments require less time and effort for upfront planning and design compared to other release management models, such as the waterfall model. These iterations, known as sprints, are brief periods of activity and normally last between one...

The DevOps model

The DevOps release management model encompasses a collection of methodologies that integrate software development (Dev) and IT operations (Ops) in order to facilitate expedited and more frequently issued software releases. This software development strategy combines communication, automation, and analysis. The DevOps methodology places emphasis on the delivery of software that aligns with business objectives and meets customer requirements. This is achieved through the utilization of rapid feedback loops, pertinent key performance indicators (KPIs), and an iterative development strategy. While DevOps does include planning, design, coding, testing, and deployment, a hallmark of this model is how it incorporates continuous integration, continuous delivery, continuous testing, and continuous monitoring into the SDLC. The following diagram depicts the DevOps model:

Figure 3.8: The DevOps release management model

Figure 3.8: The DevOps release management model

Release management relies heavily...

Summary

We have reached the end of this chapter. By this point, we have discussed the eight most common release management models in the IT industry. They are the ITIL, waterfall, iterative, V-shaped, spiral, big bang, agile, and DevOps models. You should now understand the various benefits and drawbacks of each release management model and feel confident about selecting the right one for your project. Moreover, you have been exposed to the amazing benefits that DevOps offers over the previous release management models that came before it. As a result, you have a working knowledge of the history of release management and can draw well-informed conclusions about how each model evolved beyond the next.

This concludes Chapter 3. In the next chapter, we are going to learn about what makes DevOps release management unique. This is important to know because we are going to shift our focus to the DevOps Release Management Model for the remainder of this book.

Questions

Answer the following questions to test your knowledge of this chapter:

  1. Why does the ITIL release management model have more to do with the systems development life cycle than the software development life cycle?
  2. What was the very first standard release management model?
  3. What are the three steps in the iterative and incremental release management model?
  4. What direction does the progression of time and development travel in the V-shaped release management model?
  5. What is the defining feature of the spiral release management model?
  6. What are the three key ingredients that the big bang release management model requires in order to begin a new project?
  7. What is the motto of the agile release management model with regard to testing?
  8. What is the defining feature of the DevOps release management model?
  9. When is it acceptable to backtrack and move to previous phases of the waterfall release management model?
  10. In what phase of the DevOps release...
lock icon
The rest of the chapter is locked
You have been reading a chapter from
Embracing DevOps Release Management
Published in: Apr 2024Publisher: PacktISBN-13: 9781835461853
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €14.99/month. Cancel anytime

Author (1)

author image
Joel Kruger

Joel Kruger is a senior DevOps professional and solutions architect with over 10 years of experience building CI/CD pipeline infrastructure in commercial and federal sectors. He is also an expert in employing container orchestration systems for automating computer application deployments at scale. He is a proponent of building reusable CI/CD pipeline configurations as downloadable and self-serve software factories. Joel is a very hands-on and customer-service-oriented person who loves to solve a challenge. Technology excites him, from cloud computing to embedded Raspberry Pi projects. He loves being creative with tech and is not afraid to get some hot solder in his shoelaces. Joel owns and operates his own corporation, dynamicVSM, as a freelance DevOps consultant and has experience architecting solutions that scale, reduce waste, and increase visibility. He works together with clients to help manage their value streams better.
Read more about Joel Kruger