I am starting my deep-dive into agile and had questions on how certain companies promote their releases. I need input on whether the community agrees that monthly release cycles for services is the same, in theory, as waterfall? My reasoning is that if a team bundles up several service changes/features and makes one mass monthly release then it's the same as waterfall. Wouldn't the "agile way" be to release each change/fix/feature as they are merged?
Are monthly releases, waterfall in disguise?
161 views Asked by Bran AtThere are 2 answers
The Radical Agilist
On
The original book on Scrum, "Agile Software Development with Scrum," specified monthly sprints. However it and other methods disconnect sprints from releases--that is, development from delivery--by specifying that each sprint creates a "potentially shippable product." The product is supposed to be in a state that could be delivered to customers, but for business reasons the company may not choose to do so. (One reason I have witnessed, by the way, is that the customer only wanted quarterly releases for anything except security patches.)
On the flip side, although this is debated in the Agile community, Continuous Delivery need not be blocked by sprint dates: You could deliver as often as desired, getting acceptance on the fly, and use end-of-sprint ceremonies to show stakeholders everything that was approved and delivered over the sprint.
Speaking as an Agile coach who maintains his waterfall certification (PMP) because waterfall is appropriate for some types of projects, I believe saying Agile is a subset of waterfall is a misperception based on tying deliveries with cycles, which isn't necessary.
Related Questions in CONTINUOUS-INTEGRATION
- Cannot connect to Postgres Database when running Quarkus Tests with Gitlab ci
- Android SafeArgs gives error with GitHub actions
- Display coverage report on browser
- How to set variables across several Earthfiles with earthly for continuous integration
- Getting " Unauthorized Access" error in Git Actions(CI) when trying to run Fastlane(CD)
- Cost saving recommendations and best practices for Azure
- NodeJS application deployment on Digital Ocean using Github Actions
- Getting CI/CD error on biulding step in React Azure Pipeline
- gitlab ci: 'compose' is not a docker command
- I'm in Playwright, how do I run specific test cases by tag in (CI) execution
- Incorrect java version on Jenkins agent
- Azure YAML Pipeline schedule to run on the last Sunday of the month at 4 AM
- how to provide custom variables in gitlab api?
- How to build an artifact from a given branch in azure pipelines?
- CI testing with platformio with one build
Related Questions in CONTINUOUS-DEPLOYMENT
- Canary deployment using spinnaker in AWS ECS
- Azure YAML Pipeline schedule to run on the last Sunday of the month at 4 AM
- Suggestions for Deploying Document-QA system using LLaMa-2 model
- How to build an artifact from a given branch in azure pipelines?
- Cannot deploy Azure data factory SSIS Integration Runtime using CD release pipeline in AzureDevOps
- Not authorized. Please check the user token in the property 'sonar.token' or the credential
- Table gets promoted with no data to Prod for Azure SQL database through Azure DevOps
- When running task deployment on AWS ECS the error return "Essential container in task exited"
- Expected Syntax error while writing groovy code
- tput: No value for $TERM and no -T specified : Causes Deployment Failure
- Azure CD with publish profile
- How to achieve rolling update with pm2?
- How I can define the location of the deployed app in AwsCodeploy based upon environment?
- How do I get the Onedev Kubernetes Executor working in a microk8s helm deployment?
- Application Error during deployment to an Azure Function Slot
Related Questions in AGILE
- A specific query when I try to generate Current Iteration + 1 work items on Azure DevOps doesn't work
- How can I attach a Parent Issue Name to a Subtask Name in Jira?
- Can a testing management tool support automated testing?
- Difficulty Customizing Jira Templates: Seeking Solutions
- Burndown chart for a specific Teams "Area" in Azure DevOps
- How can I use Python to automate downloading files from Agile PLM?
- What exactly is the role and responsibility of an Agilist in an Agile scrum squad?
- Jira plugin that estimates based on past velocity, ala Pivotal Tracker?
- Jira Swimlanes Query - Blocked Issues are to be displayed together
- Azure Boards - WSJF Score field not calculating
- Azure Devops ( ADO) - How can I report on team member capacity over time?
- What am I doing wrong in bdd / gherkin?
- How can I transfer resolution time data from JIRA to Confluence for metric analysis?
- Monte Carlo simulation in Power BI using Azure DevOps/Jira data
- How to solve Jira ticket dependency problem
Related Questions in CONTINUOUS-DELIVERY
- Cost saving recommendations and best practices for Azure
- Combining Container, AMI, and ECS builds/deployments in CDK?
- Azure WebJobs CD ereasing wwwroot content
- How I can deploy my nodejs project on EC2?
- How to check if the job was rejected in GitHub actions workflow?
- Tearing-Down a development deployment in Jenkins
- Automatically create tag after PR based on new version string discovered in source code
- Testing in CI vs testing in CD
- Automatic deployment of Docker image as last step of CI/CD pipeline
- Change the ArgoCD login and navbar icon
- How to cache Poetry virtual environments in GitLab CI/CD?
- When should you update release notes/changelogs?
- Jenkins pipeline Boolean parameter default value cannot set dynamically thruogh jenkins shared lib
- Git CI/CD job depending on merged branch
- Unable to authorize Azure-Devops agent pool, received as a variable
Related Questions in AGILE-PROCESSES
- How to implement Agile Scrum for a testing team that does BAU and project work simultaneously
- Azure DevOps: Backlog view for multiple teams
- Agile - how do you document the app you built?
- Why do my issues disappear from Epic Swimlanes in JIRA?
- Slack and github integration: start receiving updates for tasks in a github project for status changes on a single slack channel
- Customized states not visible in Visual Studio 2019 work item view
- How to handle this story
- Are monthly releases, waterfall in disguise?
- How to integrate activities between developer and tester in scrum sprint
- Support for multiple process templates in VSTS Project?
- Continuous delivery for On-Prem installable Product supporting multiple version across different customer installations
- Product Specs Review
- Why can't smoke testing be done by developer?
- Single Dev team working on multiple product backlogs (Products)
- Agile Development -- Starting story but cannot finish due to constraints
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
One of the agile values is responding to change over following a plan.
Note that it doesn't specify that you need to release according to a particular frequency or method. This is because Agile is an approach and is not a framework nor is it a methodology.
One organisation might be able to release monthly and still respond well to change. A lot will depend on the nature of the product and the environment. Another organisations might need to release as soon as a change/fix/feature is ready. Both organisations can still be following the Agile approach.
As an extreme example, imagine a product that is only ever used by its customers at Christmas. There is still value in releasing frequently as the this helps to reduce technical risk, but it might be considered overkill to release every time a new feature is completed.