ABS Scrum Development Guide with Azure DevOps and Git

Introduction

Welcome to the Alliance Business Suite (ABS) Scrum Development Guide. This document aims to standardize the Scrum development practices within the ABS development environment, leveraging the capabilities of Azure DevOps and Git.

Purpose

The purpose of this document is to provide a comprehensive guide to the Scrum development practices specifically tailored for the ABS platform. This guide also serves to elaborate on how Azure DevOps and Git can be efficiently utilized to align with these Scrum practices.


Scrum Basics in the Context of ABS

Scrum is an agile framework that we use to deliver high-quality software products. In the context of ABS, Scrum helps us manage complex software development with an iterative and incremental approach.

Scrum Artifacts

  • Product Backlog: A prioritized list of features, enhancements, and bug fixes planned for the ABS platform.
  • Sprint Backlog: A subset of the Product Backlog selected for implementation during a Sprint.
  • Increment: The usable product delivered at the end of each Sprint.

Getting Started with Azure DevOps and ABS

Azure DevOps offers a variety of features like Boards, Repos, Pipelines, etc., that can be customized to fit our Scrum needs for ABS development.

Setting Up a New Project

  1. Log in to Azure DevOps.
  2. Create a new project and name it appropriately, e.g., "ABS Development."
  3. Navigate to "Boards" to set up your work environment.

Azure DevOps Interface for ABS

  • Boards: For work items and Sprint planning.
  • Repos: For source code management using Git.
  • Pipelines: For CI/CD.
  • Artifacts: For package management.

Roles in Scrum and Azure DevOps

Scrum Roles

  • Product Owner: Manages the Product Backlog and sets priorities.
  • Scrum Master: Ensures Scrum practices are followed.
  • Development Team: Implements the Sprint tasks.

Azure DevOps Permissions for Scrum Roles

  • Product Owner: Full access to Boards, limited access to Repos and Pipelines.
  • Scrum Master: Full access to Boards, read-only access to Repos and Pipelines.
  • Development Team: Write access to Repos, limited access to Boards.

Work Items and Product Backlog

Creating Work Items

  1. Navigate to "Boards."
  2. Click on "New Item" and define the type (Epic, Feature, User Story, or Task).
  3. Fill in the necessary details like title, description, and priority.

Managing the Product Backlog

  • Prioritize the backlog items by drag-and-drop.
  • Assign items to upcoming Sprints.

Sprint Planning in Azure DevOps

Setting up Sprints

  1. Go to "Boards" and then "Sprints."
  2. Create a new Sprint and define its timeline.

Allocating Work Items

  • Drag work items from the Product Backlog to the Sprint Backlog.

Git Branching Strategy for ABS

  • main branch: The production-ready code.
  • Feature branches: Created from main and merged back after code review.
  • Sprint branches: Created to isolate the work of a specific Sprint.

Code Reviews and Pull Requests

  • Use Azure DevOps' Pull Request feature to conduct code reviews.

Running the Sprint in Azure DevOps

Daily Stand-ups

  • Use Azure DevOps boards to quickly view the status of each work item.

Sprint Burndown Charts

  • Track Sprint progress using Azure DevOps' built-in burndown charts.

Quality Assurance within Sprints

  • Automated tests should be part of the build pipeline.
  • Code reviews should be conducted for each pull request.

Sprint Review and Retrospective

  • Conduct these within Azure DevOps by reviewing completed work items and discussing what went well and what could be improved.

Continuous Integration/Continuous Deployment (CI/CD) with ABS

  • Utilize Azure Pipelines to set up CI/CD tailored to ABS development needs.

Tips and Best Practices

  • Keep all work items updated in Azure DevOps for better traceability.
  • Consistently follow the branching strategy for a streamlined workflow.

FAQs and Troubleshooting

  • A dedicated section to handle common queries and challenges that may arise while using Azure DevOps for Scrum in ABS.

This guide serves as a living document and will be updated regularly to include any changes or improvements to our Scrum practices and tools.