Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases now! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Learning Continuous Integration with Jenkins

You're reading from   Learning Continuous Integration with Jenkins A beginner's guide to implementing Continuous Integration and Continuous Delivery using Jenkins 2

Arrow left icon
Product type Paperback
Published in Dec 2017
Publisher Packt
ISBN-13 9781788479356
Length 362 pages
Edition 2nd Edition
Tools
Arrow right icon
Author (1):
Arrow left icon
Nikhil Pathania Nikhil Pathania
Author Profile Icon Nikhil Pathania
Nikhil Pathania
Arrow right icon
View More author details
Toc

Table of Contents (11) Chapters Close

Preface 1. Concepts of Continuous Integration FREE CHAPTER 2. Installing Jenkins 3. The New Jenkins 4. Configuring Jenkins 5. Distributed Builds 6. Installing SonarQube and Artifactory 7. Continuous Integration Using Jenkins 8. Continuous Delivery Using Jenkins 9. Continuous Deployment Using Jenkins 10. Supporting Tools and Installation Guide

Waterfall model of software development

One of the most famous and widely used software development processes is the Waterfall model. The Waterfall model is a sequential software development process. It was derived from the manufacturing industry. One can see a highly structured flow of processes that run in one direction. At the time of its creation, there were no other software development methodologies, and the only thing the developers could have imagined was the production line process that was simple to adapt for software development.

The following diagram illustrates the Waterfall model of software development:

Waterfall model

The Waterfall approach is simple to understand, as the steps involved are similar to that of the SDLC.

First, there is a requirement analysis phase, which is followed by the designing phase. There is a considerable time spent on the analysis and the designing part. And once it's over, there are no further additions or deletions. In short, once the development begins, there is no modification allowed in the design.

Then comes the implementation phase, where the actual development takes place. The development cycle can range from three months to six months. During this time, the testing team is usually free. When the development cycle is completed, a whole week's time is planned for performing the integration of the source code. During this time, many integration issues pop up and are fixed immediately. This stage is followed by the testing phase.

When the testing starts, it goes on for another three months or more, depending on the software solution. After the testing completes successfully, the source code is then deployed in the production environment. For this, a day or so is again planned to carry out the deployment in production. There is a possibility that some deployment issues may pop up. When the software solution goes live, teams get feedback and may also anticipate issues.

The last phase is the maintenance phase. Feedback from the users/customers is analyzed, and the whole cycle of developing, testing, and releasing new features and fixes in the form of patches or upgrades repeats.

There is no doubt that the Waterfall model worked remarkably for decades. However, flaws did exist, but they were simply ignored for a long time. Since, way back then software projects had ample time and resources to get the job done.

However, looking at the way software technologies have changed over the past few years, we can easily say that the Waterfall model won't suit the requirements of the current world.

Disadvantages of the Waterfall model

The following are some of the disadvantages of the Waterfall model:

  • Working software is produced only at the end of the SDLC, which lasts for a year or so in most cases.
  • There is a huge amount of uncertainty.
  • It is not suitable for projects where the demand for new features is too frequent. For example, e-commerce projects.
  • Integration is performed only after the entire development phase is complete. As a result, integration issues are found at a much later stage and in large quantities.
  • There is no backward traceability.
  • It's difficult to measure progress within stages.

Advantages of the Waterfall model

By looking at the disadvantages of the Waterfall model, we can say that it's mostly suitable for projects where:

  • The requirements are well documented and fixed.
  • There is enough funding available to maintain a management team, a testing team, a development team, a build and release team, a deployment team, and so on.
  • The technology is fixed, and not dynamic.
  • There are no ambiguous requirements. And most importantly, they don't pop up during any other phase apart from the requirement analysis phase.
You have been reading a chapter from
Learning Continuous Integration with Jenkins - Second Edition
Published in: Dec 2017
Publisher: Packt
ISBN-13: 9781788479356
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.
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 $19.99/month. Cancel anytime