Agile delivery using Scrum
We have adopted Scrum, having used a mix of project management approaches. Scrum replaces traditional staged development with Sprints and Scrum events.
Sprint
A fixed-length period to complete small increments of working software.
Manage each Sprint with these Scrum events:
Planning
- Decide what work needs to be done.
Daily Scrum
- Review progress and address impediments.
Review
- Assess what has been achieved and gather feedback.
Retrospective
- Reflect on the Sprint discuss areas for improvement.
Practical tips
Continually refine requirements to make planning meetings easier!
Cross-functional Scrum Teams
Scrum replaces technical silos with cross-functional teams. It identifies 3 roles --
Product Owner
-
Represents stakeholders and users.
-
Defines, prioritises and refines backlog items.
-
Works with the team to negotiate work during Sprint planning.
-
Often a Clinician but can also be a Product Specialist or Business Analyst.
Scrum Master
-
Coaches and supports the Scrum team, helping them improve processes.
-
Facilitates Scrum events and removes impediments.
-
Often a Software developer but can be anyone with strong facilitation and coaching skills.
Scrum Team
-
Collaborates to negotiate work at Sprint planning.
-
Delivers the work, ensuring it meets the acceptance criteria.
-
Includes everyone needed to create the product
Practical tips
Scrum is reliant on having people committed to carrying out its 3 key roles!
Further reading and information
What is Scrum? - Azure DevOps | Microsoft Learn
Sprint and scrum best practices - Azure Boards | Microsoft Learn
Agile practices for requirements gathering
Scrum teams capture requirements in User Stories. But in some cases, a formal Software Requirements Specification may still be necessary.
User Story
A brief description of a need, told from a user's perspective. With acceptance criteria written in Gherkin syntax to define 'done.'
Practical tips
-
Ensure everyone understands the work involved.
-
Consider hidden tasks to manage technical debt.
-
Share common criteria in a Definition of Done, published to your Kanban board.
Further reading and information
Agile in Practice: Story Cards/User Stories - YouT ube
Good and Bad Technical Debt (and how TDD helps) - Crisp's Blog
Agile planning with Azure DevOps
Azure DevOps supports agile planning from backlog management to sprint execution:
Agile process template
Provides essential work items like User Stories, Tasks, Bugs, and Test Scripts to support your agile workflow.
Boards
Kanban boards: Visualise and manage requirements across all stages, independent of sprint cycles.
Task Boards: Track the status of tasks and their progress during sprints.
Dashboard
Create customised dashboards to track key metrics such as test results, build quality, code coverage, and sprint burndown. This helps you monitor overall project health and progress.