Release for a product or service
Summarize
Summary of Release for a product or service
A release consolidates all tasks related to a specific version of a product or service, including projects, epics, stories, defects, and incidents. The Digital Product Release framework supports two main release processes—timeline-oriented and stage-oriented—to help customers execute releases effectively. Each release is divided into phases, with defined tasks, approvals, and policies that must be completed to ensure the product or service is built, tested, and ready for deployment.
Show less
Timeline-oriented Release Process
This process is ideal for releases with fixed deadlines and strict schedules. It enables customers to:
- Set clear deadlines for each deployment stage to facilitate smooth rollout planning and execution.
- Define clear goals to maintain team focus and resource management.
- Track progress against deadlines and adjust plans proactively to stay on schedule.
The release progresses sequentially through phases, with only one phase active at a time. Tasks within phases can be processed either sequentially or in parallel, controlled by the system property sndpr.sequentialtaskexecution. Phases move from Pending to In Progress, then Completed, culminating in a final release Review and Completion state.
Stage-oriented Release Process
This process suits releases prioritizing feature completion and objectives over strict timelines. It allows customers to:
- Set priorities based on features and goals rather than deadlines, enabling flexibility during development.
- Restart releases from previous phases to incorporate feedback and adjust objectives.
- Track progress by ensuring feature completion and meeting quality goals.
Phases are manually started and proceed similarly to the timeline-oriented process but focus on readiness criteria rather than fixed dates. Tasks are processed sequentially or in parallel based on the same system property. Completed phases trigger the next phase, and releases conclude with review and completion states. If issues arise, phases can be reset to earlier stages.
Release Types
- Single product or service release: Focuses on releasing one product or service at a time, suitable for smaller or less complex releases.
- Multi-product release: Manages simultaneous releases of multiple products by linking individual product releases to a main release, enabling centralized phase and readiness management while tracking each product’s scope, approvals, and policies.
System Properties
Several system properties control automated transitions and actions during the release process, including:
- sndpr.stageworkflowautotransition
- sndpr.autotransitionreleasetoreview
- sndpr.autotransitionreleasetocompleted
These properties enable automation of phase and release state changes, streamlining release management.
A release groups all the tasks (projects, epics, stories, enhancements, defects, problems, incidents, and so on) planned for a specific version of a product or service. Digital Product Release provides two different processes: timeline-oriented and stage-oriented, to help you in executing your releases.
A release is divided into a series of phases. During each phase, a defined list of tasks, approval processes, and policies must be fulfilled.
A defined release process ensures that the work items in releases are built, tested, and are ready for deployment.
Timeline-oriented release process
Timeline-oriented process is suitable for creating releases that have fixed deadlines and follow a strict schedule.
- Set clear deadlines for each stage of your deployment, so you can plan and execute your rollout smoothly.
- Keep your team on track by defining clear goals, so you can manage your resources effectively.
- Track your progress against key dates, and adjust your plans as needed to stay on schedule.
- The flow starts with the first phase in the Pending state, which is the default state. The state of the phase moves to In Progress when it starts on the planned start date. Tasks in the phase are processed based on the system property sn_dpr.sequential_task_execution:
- true: Tasks in the phase are processed in sequential order. At the start of a phase, the task with the lowest order in it is set to the Open state. After this task is completed, the next task in the order is opened. This process continues for the remaining tasks in the phase. If the task is an approval task, the state is moved to the Requested state.
- false: Tasks in the phase are not processed in a sequence. Instead, all its tasks are set to the Open state at the start of the phase.
- When all tasks are completed and policies are compliant, the phase ends automatically on its planned end date. The phase state updates to the Completed state.
- After the current phase is completed, the next phase moves to the In Progress state. Only one phase can be in progress at a given time.
- When all phases in the release are completed, the release moves to the Review state.
- When the review of the release is completed, the release moves to the Completed state.
Stage-oriented release process
Stage-oriented process is suitable for creating releases that prioritize completing objectives and features over following a strict timeline.
Certain products are not constrained by a specific time frame for how long they should remain in a particular phase. Releases for those products can follow the stage-oriented release process. This process focuses on making sure that the product is ready to be released, rather than following a strict schedule or phase.
You can finish a release as soon as the product meets the set criteria, instead of waiting for a specific timeline or phase to end. However, you must ensure that all aspects of the release, including development, testing, and quality assurance, are done well to keep the product high quality.
- Set priorities for features and goals, instead of deadlines, so that you can adjust your plans throughout the development process.
- Restart the release from any of the previous phases to adjust goals and features based on testing results and user feedback.
- Track your progress by ensuring features are completed and the goals are met for a high-quality result.
- The flow starts with the first phase in the Pending state, which is the default state. The state of the phase moves to In Progress when you manually start it.Tasks in the phase are processed based on the system property sn_dpr.sequential_task_execution:
- true: Tasks in the phase are processed in sequential order. At the start of a phase, the task with the lowest order in it is set to the Open state. After this task is completed, the next task in the order is opened. This process continues for the remaining tasks in the phase. If the task is an approval task, the state is moved to the Requested state.
- false: Tasks in the phase are not processed in a sequence. Instead, all its tasks are set to the Open state at the start of the phase.
- When the all tasks are completed and all policies are compliant or compliant with exceptions for the current phase, it automatically moves to the Completed state.
- After the current phase is completed, the next phase moves to the In Progress state. Only one phase can be in progress at a given time.
- If you encounter any issues at any point, you can restart from a previously completed phase. That phase and later phases are reset, including tasks and policy status.
- When all phases in the release are completed, the release moves to the Review state.
- When the review of the release is completed, the release moves to the Completed state.
Single product or service release
A single product or service release enables you to release one product or service at a time. This release approach can be useful for smaller or less complicated products or services, as it makes the release process more focused and easier to manage. For more information, see Work on a timeline-oriented release for a single product or service and Work on a stage-oriented release for a single product or service.
Multi-product release
A multi-product release enables you to release different products at the same time. You can do this by including several individual releases for each product, all tied to a main release of a primary product or service. You manage the phases and release readiness from the main release and track the collective progress. However, you can set the scope, track approvals, and run policies for each individual product or service release. This release approach differs from release bundles, where you monitor the progress of multiple releases together but manage them independently. For more information, see Work on a timeline-oriented release for multiple products and Work on a stage-oriented release for multiple products.
System properties to control the release processes
- sn_dpr.stage_workflow_auto_transition
- sn_dpr.auto_transition_release_to_review
- sn_dpr.auto_transition_release_to_completed