Azure DevOps provides tools to help organizations implement an Agile-Scrum development process. It includes Azure Boards for backlog management and tracking work items. Teams use Azure Pipelines for continuous integration and deployment. The process involves sprints, daily stand-ups, sprint planning and reviews, and retrospectives. Source code is stored in Azure Repos with branching strategies. Tests are managed in Azure Test Plans. Reusable components are packaged in Azure Artifacts. This helps automate builds, releases, and testing to streamline the development and release cycle.
3. The Pain-Points
Multiple parallel development projects with little or no process, difficult to
track effort and progress.
Code, Database and Infrastructure components are released to production
independently, without any release management process, difficult to
coordinate release process and hard to rollback in case of failures.
Developers are performing Scrum master/Project Manager/Business Analyst
duties, resulting in incomplete/missing requirement, hard to create test
cases from the requirements, unable to meet timelines.
11
2
3
Having single Development and Test Environments, difficult to develop and
test multiple parallel releases.
4
4. Azure DevOps
Tools and Development process enables building and delivering products in an efficient and effective way.
Deliver value to your
users faster using proven
agile tools to plan, track,
and discuss work across
your teams.
Azure Boards Azure Repos
Get unlimited, cloud-
hosted private Git repos
and collaborate to build
better code with pull
requests and advanced
file management
Azure Pipelines
Build, test, and deploy with
CI/CD that works with any
language, platform, and
cloud. Connect to GitHub
or any other Git provider
and deploy continuously.
Azure Artifacts
Create, host, and share
packages with your
team, and add artifacts
to your CI/CD pipelines
with a single click.
Azure Artifacts
Test and ship with
confidence using manual
and exploratory testing
tools.
5. Azure Board
Process defines the building blocks of the work item tracking system and supports the Inheritance process model
for Azure Boards.
Process template defines the building blocks of the work item tracking system as well as other sub-systems you
access through Azure Boards
Plan, track, and discuss work across teams
Basic
Simple Model, uses
Issues, Tasks and
Epics to track work
Agile
Uses Agile Planning
including Scrum
and track User
Stories on Kanban
Board and Bugs
and tasks on Task
Board
Scrum
Use this if you want
to track product
backlog and bugs
on Kanban board
CMMI
Use this if you
require a
framework for
process
improvement,
auditable record of
decision.
6. Agile-Scrum Process
Agile software development with Scrum is a methodology, a framework for managing development process
Sprint Planning
Meeting
Input from
Stakeholder and
Users
Input from
Stakeholder and
Users
TheTeam The Scrum master
The Burn Down/Up
Chart
Prioritized list of required
features, stories, etc.
Features assigned to
sprint
The Product
Owner
2
Wee
ks
Spri
nt
2 Weeks Sprint
The sprint review
The sprint
retrospective
Release Product
7. Project Roles
Roles and Responsibilities for project Team. Roles may be assigned to one or more individuals, or individuals may play one or more roles.
Product
Owner Teste
r
Business
Analyst Scrum
Master
Developer
Project
Manager
Release
Manager Operations
Team
Overall responsibility for the
successful initiation,
planning, design, execution,
monitoring, controlling and
closure of a project.
Project's key stakeholder. have
a vision of what he or she
wishes to build, and convey
that vision to the scrum team.
Define, analyze and
document requirements.
Take a lead role in developing
business requirements.
Responsible for ensuring the
team lives agile values and
principles and follows the
processes and practices that the
team agreed they would use.
Ensuring a good relationship
between the team and product
owner as well as others outside
the team
Design, develop, testing and
maintenance of software
applications based on the
product requirements.
Works with the development
team, product owner and
every part of the team to test
the application and maker
sure the application meets
product requirements.
Responsible for implementing
and managing release
processes through
development, test, and
production environments.
Monitoring and Maintain the
Deployment Environments.
8. Backlog Management
Uses Agile planning methods,
including Scrum, and tracks
development and test activities
separately.
Track user stories and
(optionally) bugs on the Kanban
board
Track bugs and tasks on the task
board.
EPIC
FEATURE
USER STORY / SYSTEM STORY
TASK
BUG
TASK
ISSUES
Backlog
Portfolio
Backlog
Issues &
Bug
Tracking
Organize and manage backlog items, using epics, feature, story, task etc.
9. Planning & Tracking
You build your project plan by
creating a backlog of user stories
that represent the work you
want to develop and release
Teams create epics and features
to view a roll up of user stories
within or across teams.
You track bugs, tasks, and
blocking issues using the bug,
task, and issue WITs
Define a shared flat query and
create a chart based on your
tracking interests
Build backlog of users stories that represents the requirement, track teams progress
10. Workflow States
BUGEPIC FEATURE USER STORY TASK
Backlog items go through a series of workflow states during its life cycle, from new to closed.
11. Scrum Master
Conduct sprint review
meetings on the last day of
the sprint.
Team demonstrates each
product backlog item that it
completed in the sprint.
Based on this meeting, some
user stories will be accepted
as complete.
Incomplete user stories will
remain in the product backlog.
Conduct retrospective
meeting after sprint review
meeting, team explores its
execution of Scrum and what
might need tweaking
The Scrum Master is a servant-leader for the Scrum Team.
GUARD THE SPRINT
Guard against the product
owner or team members from
adding work after the sprint
begins.
SUPPORT THE TEAM
Support the team to adopt
and follow Scrum processes.
ENFORCE RELEAE QUALITY
Prevent the team from presenting
incomplete user stories during a
sprint review meeting
FACILITATE PLANNING
Facilitate Planning and Tracking.
HELP THE TEAM
Help the team work to resolve conflicts and issues
that arise and learn from the process
CLEAR BLOCKING ISSUES
Clear blocking issues that prevent
the team from making forward
progress.
OUTSIDE TEAM INTERACTION
Helps those outside the Scrum
Team understand which of their
interactions with the Scrum Team
are helpful and which aren’t
12. Pre-Sprint Planning
Work with Product Owner and Define product Requirements for the MVP (Most Viable Product)
release.
Create an initial product backlog (even if just at a high level) during a sprint zero.
Define your sprints and possible First release to Test and Production dates.
Assemble the Team
Pre-Sprint Planning is usually necessary because there are things that need to be done before a Scrum project can start.
13. Sprint Planning
The first step in planning your sprint is to assign work from backlog to a sprint.
Team builds the sprint backlog during the sprint planning meeting, typically held on the first day of the
sprint.
Each sprint corresponds to a 2 Week interval which supports team's ability to work using Agile
processes and tools
Product owner works with the team to identify those stories or backlog items to complete in the
sprint.
Product owner refine the backlog to make sure that it is well defined and in priority order
Establish the team's criteria for evaluating which bugs ( from previous sprints) to fix and how to assign
priority and severity.
Managing bug debt and technical debt as part of the team's overall set of continuous improvement
activities.
Team determines the backlog items they will work on during the sprint and discusses their initial plan for completing those items
14. Scrum Daily Standup
All team members are required to attend scrum meetings.
Since both the Scrum Master and product owner are
committed team members, they are expected to attend and
participate
The daily scrum meeting is not used as a problem-solving or
issue resolution meeting.
Issues that are raised are taken offline and usually dealt with
by the relevant subgroup immediately after the meeting.
A 15 minute meeting that makes product development teams more productive and efficient.
Remain Standing
3 Question Agenda:
What did you do yesterday?
What will you do today?
What is blocking your progress / Are
you on track on finishing you task on
time?
Have Project Management Tool Visible
Make it collaborative Avoid Waiting around for team members show up
Dot not Introducing new ideas
Prevent people ramble
Discourage Abandoning team communication in favor of the stand up
15. Sprint Review
During the sprint review, the project is assessed against the
sprint goal determined during the sprint planning meeting.
Participants in the sprint review typically include the product
owner, the Scrum team, the ScrumMaster, management,
customers and developers from other projects
At the end of sprint, the Scrum team shows what they accomplished during the sprint.
The development team demonstrates
their completed work while answering
questions about their increment.
The development team discusses what
went well and the problems they
experienced. They should also inform
the group what they did to resolve the
problems.
Set projected completion dates based
on the progress of the Sprint session.
Entire group establishes the next steps
during the Sprint review meeting.
Review the timeline and potential
capabilities to determine the next
anticipated release
16. Sprint Retrospective
The entire team, including both the ScrumMaster and the
product owner should participate.
Each team member is asked to identify specific things that
the team should discuss:
What went well ?
What needs improvement ?
Next Steps.
Provide a safe space for the team to reflect on and discuss what works well (and what doesn't!) so you can improve
Embrace a positive spirit of continuous
improvement and share whatever you
think will help the team improve.
Don't make it personal, don't take it
personally.
Listen with an open mind, and
remember that everyone's experience
is valid (even those you don't share).
Set the boundary of your discussion –
is it that last sprint? the last quarter?
since the project started? Be clear how
far back you're going to go.
Encourage the team to embrace an
improvement mindset, away from
blame.
17. Azure code Repository
Unlimited cloud-hosted private Git repos for the project
Each of the EAS System will
be created as a Project in
Azure DevOps
A System is composed of
multiple services and UI
components.
The Source code for the
services and UI components
will be stored on separate
repositories.
Each Repository will have
Build and Release pipelines to
deploy code to the Cloud
Service.
Project
Service 1
Build Pipeline
Release Pipeline
Build Pipeline
Release Pipeline
Build Pipeline
Release Pipeline
Service 2Web 1
Repo 3Repo 2Repo 1
Code
DML
Test
ARM Templates
Code
DDL DML
Test
ARM Templates
Code Test
ARM Templates
18. Branching Strategy
Publish, share, review, and iterate on code changes through Git branches
master
release-2-0
V 1.0
dev
hotfix
feature
feature feature
release-1-0
DEVELOPERRELEASEMANAGER
V 1.1
=> PROD
V 2.0
Pull Request
Pull Request
Pull Request
DEV
QA PROD
=> QA
19. Azure Pipelines
Continuously build, test, and deploy to any platform and cloud
dev
Build (CI) Test Release (CD)Code
Analysis
DEV Pipeline
Build (CI) Test Release (CD)
RELEASE Pipeline QA TEAMQA TEAM
ManagerManager
Dev Integration
Tests
Dev
Test Integration
Tests
QA
Production Integration
Tests
Production
20. Release Management
RELEASE 1
SPRINT I SPRINT II SPRINT III
DDL
DML
CODE CODE
DDL
CODE
USER STORIES
DDL
DML
CODE CODE
DDL
USER STORIES
DDL
DML
CODE CODE
DDL
CODE
USER STORIES
1
2
3
4
5
6
7
8
9
DEV
QA
1 2 3 4 5 6 7 8 9
1 2 5 6 7 8
Stories Ready For QA
All Completed User Stories
PROD
1 2 5 8
Stories Ready For PROD
Run the following steps in this
order:
Deploy DDL
Deploy DML
Deploy Code
Run Integration Tests
Stop Deployment when
• DDL Deployment Failure
• DML Deployment Failure
QA approves the deployment
Pipeline validate the User Stories
Code Reviewer approves the deployment,
system validate the user stories
Define and Manage how the code, data and infrastructure components deployed to the target environments
21. Database Release
Define and Manage how the data scripts are deployed, along with code, to the target environments
Start
YES
Do you havea
Work Item
Create a new
work Item
NO
Create a folder
with name =work
item id
eg: deploydatabase3368
YES
Create .sqlfilecorresponds to
schema and data changes. The
Number specified the execution
order.
eg: deploydatabase33680-schema.sql
deploydatabase33680-data.sql
deploydatabase33681-data.sql
DEVELOPER/DBA
Get allwork Items
for the Build
Work Items
Found
Any Db Deploy Folder
exists for Work Item ?
YES
Execute Schema
Execute Data
Success
Success
YES
YES
Set Database
Deploy Fail = True
NO
NO YES
Deploy Code
Is Db Deploy
Success?
YES
ENDRelease Success?
NO
YES
Notify Ops
Team
NO
Manual
Intervention
NO
Success
YES
Resume Build
Can you fix and run script
manually?
Reject Build
NO
NO
DBA Fix & Run Script
Manually
DBA/OPS
Build/
Release
Trigger
Build/
Release
Trigger
DEVOPS PIPELINE
22. Test Management
DevTest
SPRINT 1
SPRINT 2
SPRINT3
Developer
Tester
Developer
Tester
Developer
Tester
Develop code
Write unit/integration/e2e tests for
their user stories
Develop test cases for the
features/use stories
Develop code
Write unit/integration/e2e
tests for their user stories
Fix bugs from the previous
sprint
Run tests from the sprint 1
Write more tests for their test cases
Create Bugs for Failed Tests (Collaborate
with developers)
Develop test cases for next sprint
Develop code
Write
unit/integration/e2e tests
for their user stories
Fix bugs from the
previous sprint
Run tests from the sprint 1
Write more tests for their test cases
Create Bugs for Failed Tests
(Collaborate with developers)
Develop test cases for next sprint
Review of requirements
Test planning / writing test
cases
Unit testing
End 2 End testing
API/integration testing
Performance testing
Security testing
Cross-browser testing / cross-
platform testing/ ADA testing
Updating test cases
Regression testing
Define and manage automated and manual testing process in the release cycle.
23. Azure Artifacts
11/11/2020
Create, host, and share packages with the team
All Reusable/Shareable code must be created as NuGet or npm package and published Artifact
Repository
Build and Publish packages using Azure CI/CD Pipelines
Version the package on Publish
24. Azure Test Plans
Improve code quality using planned and exploratory testing services for the apps.
https://www.azuredevopslabs.com/labs/azuredevops/testmanagement/
https://channel9.msdn.com/Events/Microsoft-Azure/Azure-DevOps-Launch-2018/A104
Azure DevOps Test Plan provides all the tools you need to successfully test your
applications.
Create and run manual test plans, generate automated tests and collect feedback
from users.
Create Test Suites
and Test Cases
Run Tests Confirm Results
25. Summary
There several benefits for developing and, more importantly, following a process for DevOps
Azure DevOps with Agile-Scrum can greatly simplify the development and release cycle
Using tools available with Azure DevOps can help automate Build, Release and Test the
software
Automating the Database and Infrastructure deployment help increase release velocity
Following Agile-Scrum can keep the business and stake holders in loop on the progress and
help resolve issues faster.
What did you do yesterday?
What will you do today?
What is blocking your progress / Are you on track on finishing you task on time?
The role of the project manager encompasses many activities including:
Planning and Defining Scope
Activity Planning and Sequencing
Resource Planning
Developing Schedules
Time Estimating
Cost Estimating
Developing a Budget
Documentation
Creating Charts and Schedules
Risk Analysis
Managing Risks and Issues
Monitoring and Reporting Progress
Team Leadership
Strategic Influencing
Business Partnering
Working with Vendors
Scalability, Interoperability and Portability Analysis
Controlling Quality
Benefits Realization