Answers: <p>I don't see why not.</p>
  <p>Sequential SDLC models, like waterfall, are about the organization of steps. The requirements are &quot;finalized&quot; before extensive design begins. The design is &quot;finalized&quot; before the implementation begins. System testing happens after the requirements are satisfied. Some waterfall-like models, such as the sashimi model with some overlap between these phases or waterfall-with-subprojects, are multiple waterfalls after the overall system requirements and architecture have been completed.</p>
  <p>There's nothing in the organization of these steps that would prevent continuous integration or configuration of code. Continuous deployment to a development environment is also possible, but continuous delivery or continuous deployment to production may or may not be possible, depending on the usability of interim builds before the requirements are complete. These practices can still be used once system implementation begins. CI and automated tests can help developers find issues during development before system integration and system testing activities begin. Configuration as Code can help with the configuration management of the system, allowing it to be versioned alongside the software system and rolled out to different test and production environments when it's time.</p>
  <p>The key difference between highly sequential models and iterative and incremental models is responding to feedback, not the practices that can be used. Some practices may not make as much sense to use, especially if they are about getting and responding to feedback. If you have &quot;finalized&quot; requirements and &quot;finalized&quot; designs before you can start getting feedback on the system, stakeholder feedback will likely change those requirements and/or designs. Because of the scope of the work of requirements and design and the impact on the built system, late changes are expensive.</p>
  
Answers: CC BY-SA 4.0
Answers: 2020-11-30T11:11:00.357Z
Answers: 2020-11-30T11:11:00.357Z
Answers: Thomas Owens
Body: <p>Often it seems to be assumed or implied that DevOps is simply the <a href="https://en.wikipedia.org/wiki/Agile_software_development" rel="nofollow noreferrer">Agile method</a> expanded beyond programming to things like Operations and Configuration as Code, and so forth. So, this has left me wondering: Can a classic <a href="https://en.wikipedia.org/wiki/Waterfall_model" rel="nofollow noreferrer">Waterfall method</a> incorporate CI/CD and Configuration as Code and still be considered truly a Waterfall software development method?</p>
  
Tags: <agile><waterfall>
Title: Can the Waterfall method leverage CI/CD+ and still be considered Waterfall?
UserDisplayName: James Shewey
ThreadText: # Can the Waterfall method leverage CI/CD+ and still be considered Waterfall?
  
  (Asked by: username_0 on 2020-11-30)
  
  Often it seems to be assumed or implied that DevOps is simply the [Agile method](https://en.wikipedia.org/wiki/Agile_software_development) expanded beyond programming to things like Operations and Configuration as Code, and so forth. So, this has left me wondering: Can a classic [Waterfall method](https://en.wikipedia.org/wiki/Waterfall_model) incorporate CI/CD and Configuration as Code and still be considered truly a Waterfall software development method?
  
  **Tags:** agile, waterfall
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2020-11-30. Score: 1
  
  I don't see why not.
  
  Sequential SDLC models, like waterfall, are about the organization of steps. The requirements are "finalized" before extensive design begins. The design is "finalized" before the implementation begins. System testing happens after the requirements are satisfied. Some waterfall-like models, such as the sashimi model with some overlap between these phases or waterfall-with-subprojects, are multiple waterfalls after the overall system requirements and architecture have been completed.
  
  There's nothing in the organization of these steps that would prevent continuous integration or configuration of code. Continuous deployment to a development environment is also possible, but continuous delivery or continuous deployment to production may or may not be possible, depending on the usability of interim builds before the requirements are complete. These practices can still be used once system implementation begins. CI and automated tests can help developers find issues during development before system integration and system testing activities begin. Configuration as Code can help with the configuration management of the system, allowing it to be versioned alongside the software system and rolled out to different test and production environments when it's time.
  
  The key difference between highly sequential models and iterative and incremental models is responding to feedback, not the practices that can be used. Some practices may not make as much sense to use, especially if they are about getting and responding to feedback. If you have "finalized" requirements and "finalized" designs before you can start getting feedback on the system, stakeholder feedback will likely change those requirements and/or designs. Because of the scope of the work of requirements and design and the impact on the built system, late changes are expensive.
  
  
  ---
  
  