<p>Agile and Scrum have become standard approaches in software development.</p>
<p>Work is planned and organised into iterations/cycles/sprints, usually lasting two weeks.</p>
<p>As one sprint is being worked on, the next is usually already planned and the following one is being discussed.</p>
<p>It's common for code deployments and releases to follow the same pattern.</p>
<p>When a sprint is finished, the changes are released.</p>
<p>But that means if a task is worked on at the start of the sprint, it won't be available for at least two weeks.</p>
<p>It may be longer if the sprint is longer or if there are steps like manual testing that also happen.</p>
<p>What if a change is needed or a bug is found?</p>
<p>Is that going to be at least another two weeks before it can be addressed?</p>
<p>Do you need to start using hotfixes and dealing with multiple branches and <a href="/daily/2025/02/18/conflicts">merge conflicts</a>?</p>
<p>I suggest separating your planning and work schedules from your deployments.</p>
<p>Deploy as often as possible, even during a sprint.</p>
<p>You want your feedback loop to be as small and quick as possible.</p>
<p>But, importantly, <a href="/daily/2023/06/21/deployments-or-releases">deploying code is different to releasing features</a>.</p>
<p>If you need to do manual testing, use feature flags to <a href="/daily/2022/12/07/separating-releases-from-deployments-with-feature-flags">separate deploying the code from releasing the feature</a>.</p>
<p>Then, when it's ready to go live, you only need to enable the feature flag - no code deployment needed.</p>
format:full_html
processed:|
<p>Agile and Scrum have become standard approaches in software development.</p>
<p>Work is planned and organised into iterations/cycles/sprints, usually lasting two weeks.</p>
<p>As one sprint is being worked on, the next is usually already planned and the following one is being discussed.</p>
<p>It's common for code deployments and releases to follow the same pattern.</p>
<p>When a sprint is finished, the changes are released.</p>
<p>But that means if a task is worked on at the start of the sprint, it won't be available for at least two weeks.</p>
<p>It may be longer if the sprint is longer or if there are steps like manual testing that also happen.</p>
<p>What if a change is needed or a bug is found?</p>
<p>Is that going to be at least another two weeks before it can be addressed?</p>
<p>If you need to do manual testing, use feature flags to <a href="/daily/2022/12/07/separating-releases-from-deployments-with-feature-flags">separate deploying the code from releasing the feature</a>.</p>