Azure DevOps Development Flow
Azure DevOps Development Flow
Example
"Build a Customer Management System“
Usage
• Divide the project into large, strategic objectives.
• Typically broken down into multiple Features.
Define the Feature and Break Down
Features
Definition: Features are a subset of an Epic and represent a group of
functionalities or deliverables that provide value to the user. They focus on
more specific goals than an Epic.
Example
• For the Epic "Build a Customer Management System," a Feature could
be "Implement User Authentication.“
Usage
• Focus on deliverables that can be completed in a shorter time frame.
• Often broken into multiple User Stories.
Define the User Story and Break Down
Definition: User Stories describe specific, actionable requirements from the
end-user perspective. They capture the "who," "what," and "why" of a
particular feature or task.
Format: Often written as:
"As a [type of user], I want to [perform some action] so that [achieve some
outcome]."
Example:
For the Feature "Implement User Authentication," a User Story could be: "As
a user, I want to reset my password so that I can regain access to my account
if I forget it.“
Usage
• Define detailed requirements or actions needed to complete a feature.
• Typically assigned to individual team members for implementation.
Relationship Between Epics, Features, and User
Stories
Hierarchy:
Epic → Feature → User Story → (optional) Task
Example Flow:
Epic: "Build a Customer Management System"
Feature: "Implement User Authentication"
User Story: "As a user, I want to reset my password so that I can regain
access to my account."
Other Related Work Items
Tasks: Smallest units of work, typically used to break down User Stories into
actionable steps.
Example: "Design the UI for the password reset page."
Bugs:
Work items used to track issues or defects in the system.
General Acceptance Criteria for All Features
Epic:
Definition of Done:
• All associated Features are completed and meet their respective Definitions of
Done.
• Business stakeholders have reviewed and approved the overall delivery of the
Epic.
• Documentation related to the Epic (e.g., business case, success metrics) is
complete and accessible.
• Dependencies on other Epics or teams are resolved.
• The Epic's objectives and key results (OKRs) or goals are achieved and measurable.
End-user validation or feedback confirms that the Epic delivers its intended value.
Feature:
Definition of Done:
1.All associated User Stories are completed and meet their respective Definitions
of Done.
2.The Feature has been tested end-to-end, including integration with related
Features.
3.Documentation for the Feature (e.g., user guides, release notes) is complete
and shared.
4.Product owner or stakeholder has reviewed and approved the Feature.
5.All functional and non-functional requirements (e.g., performance, security)
are met.
6.The Feature is deployed to a staging or production environment (if applicable)
and verified.
User Story: Definition of Done
Definition of Done:
1. Code for the User Story is written, reviewed, and merged into the
main branch.
2. All unit, integration, and acceptance tests for the User Story pass.
3. The User Story has been reviewed and approved by the product
owner.
4. The functionality works as expected in staging or production
environments.
5. UI/UX designs, if applicable, match the approved mockups.
6. The work meets acceptance criteria, including edge cases and error
handling.
7. Necessary documentation (e.g., comments in code, API docs, user
guides) is complete.
8. No critical bugs or defects remain unresolved.
Task
Definition of Done:
Log Bugs:
• If a Test Case fails, create a Bug work item directly from the Test Case.
• Link the Bug to the relevant User Story or Test Case.
2. Feature Branches:
1. Automated Builds:
• Build pipeline triggered whenever changes are pushed to feature
branches.
• Builds and unit tests are executed automatically.
2. Build Definitions:
• Pipelines specify which branches to trigger builds on and define build
tasks.
3. Test Automation:
• Unit and integration tests run during the build to maintain code quality.
Merging and Deployment to Environments
2. Deploy to QA Environment:
After Dev testing, the code is deployed to QA for functional testing.
3. Deploy to Staging/Production:
After successful QA testing, the code is deployed to Staging for UAT, then
to Production.
Code Review and Collaboration Process
1. Code Review:
• Developers submit PRs for code review before merging.
• Reviewers ensure code quality and adherence to standards.
2. Resolve Merge Conflicts:
• Developers resolve merge conflicts and collaborate to integrate code.
Final Testing and Deployment to Production
Preparation
•Set the Schedule: Typically held at the end of each sprint (e.g., 1-2 hours
for a 2-week sprint).
•Invite Participants: Include all team members involved in the sprint
(developers, testers, product owners, etc.).
•Choose a Facilitator: A Scrum Master or team member to guide the
meeting.
Azure DevOps:
Use the Retrospectives extension to collect feedback and create
actionable tasks.
• Customize columns ( New, On-Hold, Active, Resolved, Done) to match your workflow.
• Points typically refer to Story Points or Effort and are used to estimate the relative size or
complexity of a work item (e.g., User Story or Task).
Purpose of Points:
Priority defines the importance or urgency of a work item. It helps the team understand
what should be addressed first.
Purpose of Priority:
Priority Levels:
1.Regular Backlog Grooming: Ensure work items are updated and prioritized.
2.Enforce Branch Policies: Maintain code quality through PR reviews and build
validations.
3.Use Templates: Standardize pipelines, work items, and test cases for consistency.
4.Track Velocity: Monitor team progress to adjust plans as needed.
5.Automate Everything: From builds to deployments, minimize manual
interventions to reduce errors.
Checklist