Lab 8 - Using Dart AI to Manage a Project with Scrum Agile Methodology


In this tutorial, I’ll guide you through using Dart AI as an artificial intelligence (AI) tool to manage a project using the Scrum Agile methodology. This tutorial builds on our previous work with the Spring Boot Book Management API and Express.js User Management API projects, integrating Dart AI into the existing Jira, Xray, Zephyr, Confluence, and GitHub workflows. Dart AI is an innovative AI-powered project management tool designed to streamline tasks, enhance collaboration, and support agile practices like Scrum. We’ll explore how to leverage its features for sprint planning, task management, and reporting, while aligning with the Scrum framework.


Overview

Dart AI is a fully-featured project management tool that uses AI to automate repetitive tasks, generate sub-tasks, provide predictive analytics, and integrate with other tools like Jira, GitHub, and Slack. In this tutorial, we’ll use Dart AI to manage the Book Management Scrum (BMS) and User Management Scrum (UMS) projects, focusing on:

  • Setting up a Scrum project in Dart AI.
  • Planning and managing sprints, including backlog creation and task assignment.
  • Generating reports and insights to support Scrum ceremonies.
  • Integrating with Jira and GitHub for a cohesive workflow.

We’ll continue with the Spring Boot API (http://localhost:8080/api/books) and Express.js API (http://localhost:3001/api/users) from previous tutorials.

Prerequisites

  • Dart AI Account: Sign up for a free account at www.itsdart.com and explore its AI-powered features.
  • Jira Projects: The Book Management Scrum (BMS) and User Management Scrum (UMS) projects, set up with sprints, epics, stories, and test cases (via Xray/Zephyr).
  • Confluence Spaces: The Book Management Documentation (BMDOC) and User Management Documentation (UMDOC) spaces for documentation.
  • GitHub Repositories: The book-management-api and user-management-api repositories integrated with Jira.
  • Spring Boot and Express.js Projects: Ensure both APIs are running as described in previous tutorials.

Part 1: Setting Up a Scrum Project in Dart AI

Step 1: Create a Project in Dart AI

  1. Sign In to Dart AI:
  2. Create a New Project:
    • Click Create Project on the dashboard.
    • Name the project Book Management Scrum and select Agile/Scrum as the methodology.
    • Add team members (e.g., Fatma, Salah) and assign roles (e.g., Scrum Master, Developer).
    • Repeat for the User Management Scrum project.
  3. Configure Spaces:
    • Dart AI allows you to create spaces for different teams or projects. Create a space for each project (e.g., BMS Space, UMS Space).
    • Enable Sprint Planning and Dark Mode (optional) under Settings.

Step 2: Integrate with Jira and GitHub

  1. Connect Jira:
    • Go to Settings > Integrations in Dart AI.
    • Link your Jira instance by entering your Jira Cloud URL and authenticating with your credentials.
    • Sync the BMS and UMS projects to import existing epics, stories, and sprints.
  2. Connect GitHub:
    • In Integrations, connect the book-management-api and user-management-api repositories.
    • Enable automatic syncing of commits and pull requests (PRs) to Dart AI tasks.

Step 3: Set Up the Product Backlog

  1. Import Existing Backlog:
    • Dart AI can pull the backlog from Jira. Go to Backlog in Dart AI and sync with the BMS project.
    • Verify that epics (e.g., Book CRUD Operations) and stories (e.g., Add a New Book) are imported.
  2. Use AI to Enhance the Backlog:
    • Click AI Suggestions in the Backlog view.
    • Prompt Dart AI: “Suggest additional user stories for the Book Management API based on CRUD operations and search functionality.”
    • Example AI output:
      • Story: “As a user, I want to delete a book by ID to remove outdated entries.”
      • Story: “As a librarian, I want to search books by publication date to filter the catalog.”
    • Add these stories manually or let Dart AI create tasks and link them to the appropriate epic.

Part 2: Planning and Managing Sprints with Dart AI

Step 1: Plan a Sprint

  1. Create a Sprint:
    • In the BMS Space, go to Sprint Planning.
    • Create Sprint 2 - Book Search (April 17, 2025 - May 1, 2025).
    • Set the sprint goal: “Implement search functionality for books.”
  2. Assign Stories and Tasks:
    • Drag the Search Books by Title story into the sprint.
    • Use Dart AI’s Auto Fill Properties to generate sub-tasks:
      • Sub-Task: “Implement GET /api/books?title={title} endpoint” (4 hours)
      • Sub-Task: “Add search logic in BookService” (3 hours)
      • Sub-Task: “Write unit tests for search endpoint” (2 hours)
    • Assign sub-tasks to team members (e.g., Fatma for endpoint, Salah for tests).
  3. Estimate Effort:
    • Dart AI provides predictive analytics based on past sprints. Review the suggested story points (e.g., 9 points) and adjust if needed.

Step 2: Conduct Daily Stand-Ups

  1. Use Dart AI Reports:
    • Go to Reports > Daily Stand-Up Update.
    • Dart AI automatically generates a report based on task updates, showing:
      • Yesterday’s Work: “Fatma implemented GET /api/books endpoint.”
      • Today’s Work: “Salah to write unit tests.”
      • Blockers: “None.”
    • Share this report with the team via Slack or email integration.
  2. Facilitate Discussions:
    • Use Dart AI’s Facilitation Suggestions to propose techniques (e.g., “Round Robin” for engagement) if needed.

Step 3: Monitor Sprint Progress

  1. View the Kanban Board:
    • Dart AI’s Kanban board displays tasks in To Do, In Progress, and Done columns.
    • Move tasks as the team progresses (e.g., move “Implement GET /api/books” to Done after completion).
  2. Analyze Insights:
    • Use Dart AI’s Dashboards to view real-time progress, velocity, and potential bottlenecks.
    • Example: If velocity drops, Dart AI might suggest reallocating tasks.

Part 3: Generating Reports and Retrospectives

Step 1: Generate Sprint Reports

  1. Automatic Report Generation:
    • At the end of Sprint 2 - Book Search (May 1, 2025), go to Reports > Sprint Summary.
    • Dart AI compiles data on completed tasks, story points delivered, and issues logged, saving approximately 7 hours per week per team member (as claimed by Dart AI).
    • Example output:
      • Completed: 8 story points (80% of planned 10 points).
      • Issues: 1 bug (GET /api/books returns 404 for invalid titles).
  2. Export to Confluence:
    • Export the report as a PDF or copy the text.
    • In the Book Management Documentation (BMDOC) space, create a Sprint 2 - Book Search Retrospective page and paste the report.

Step 2: Conduct a Retrospective

  1. AI-Assisted Retrospective:
    • Use Dart AI’s AI Teammate feature: Assign it to “Generate Retrospective Agenda.”
    • Prompt: “Suggest a retrospective format for Sprint 2 to discuss search functionality issues.”
    • Example output:
      • Format: “Start, Stop, Continue”
      • Agenda:
        • Start: “Automate search tests.”
        • Stop: “Manual validation of edge cases.”
        • Continue: “Daily stand-ups.”
    • Share the agenda with the team.
  2. Document Action Items:
    • After the retrospective, log action items in Dart AI (e.g., “Automate search tests” as a new task).
    • Sync with Jira by creating a corresponding task (e.g., BMS-126) and linking it to the GitHub repository.

Part 4: Integration with Testing and Bug Management

  1. Sync Test Cases:
    • In Dart AI, go to Tasks and link existing test cases from Xray/Zephyr (e.g., “Test GET /api/books search”).
    • Use Dart AI’s AI Suggestions to propose additional test cases based on the sprint goal.
  2. Track Test Execution:
    • Dart AI can display test status synced from Jira. Monitor progress and flag failed tests for investigation.

Step 2: Manage Bugs with GitHub

  1. Log a Bug:
    • If a test fails (e.g., “GET /api/books returns 404 for invalid titles”), create a bug in Dart AI.
    • Sync it to Jira (e.g., BMS-127) and create a GitHub issue in the book-management-api repository.
  2. Resolve the Bug:
    • Developer Fatma fixes the issue by adding error handling in BookController:
      @GetMapping("/books")
      public ResponseEntity<List<Book>> searchBooks(@RequestParam(required = false) String title) {
          List<Book> books = bookService.searchBooks(title);
          if (books.isEmpty() && title != null) {
              return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);
          }
          return ResponseEntity.ok(books);
      }
    • Commit with: git commit -m "Fix 404 error for invalid search titles - BMS-127"
    • Create and merge a PR in GitHub, updating the Dart AI task status.

Hands-On Labs

Lab 1: Set Up and Plan a New Sprint

  • Task: Use Dart AI to set up Sprint 2 - User Search for the UMS project and assign tasks.
  • Steps:
    1. Create a new sprint in Dart AI for User Management Scrum (May 1, 2025 - May 15, 2025) with the goal “Implement user search functionality.”
    2. Import the Search Users by Name story from Jira.
    3. Use Dart AI’s Auto Fill Properties to generate sub-tasks (e.g., “Implement GET /api/users?name={name}”, “Write unit tests”) and assign them to team members.

Lab 2: Generate and Review a Sprint Report

  • Task: At the end of a hypothetical Sprint 2 - Book Search, generate a sprint report in Dart AI and document it in Confluence.
  • Steps:
    1. In Dart AI, go to Reports > Sprint Summary for Sprint 2 - Book Search.
    2. Review the report (e.g., 8/10 story points completed) and export it.
    3. Create a Sprint 2 - Book Search Retrospective page in BMDOC and embed the report.

Lab 3: Resolve a Bug with Dart AI Integration

  • Task: Simulate a bug in the UMS project (e.g., “POST /api/users allows duplicate emails”), log it in Dart AI, sync with Jira/GitHub, and fix it.
  • Steps:
    1. In Dart AI, create a bug task: “POST /api/users allows duplicate emails” and sync it to Jira (UMS-125).
    2. Create a GitHub issue in user-management-api and link it.
    3. Fix the bug by updating app.js with email uniqueness validation (as in the stress testing lab) and merge the PR.
    4. Update the task status in Dart AI to Done.

Key Concepts and Best Practices

  1. Scrum with Dart AI:
    • Use Dart AI’s sprint planning and Kanban board to structure Scrum ceremonies (planning, stand-ups, retrospectives).
    • Leverage AI suggestions to refine backlogs and sub-tasks, ensuring adaptability to changing requirements.
  2. Integration:
    • Sync Dart AI with Jira for task tracking and GitHub for code management, maintaining a unified workflow.
    • Use Confluence to document AI-generated insights and reports for transparency.
  3. AI-Driven Efficiency:
    • Rely on Dart AI’s automation (e.g., report generation, sub-task creation) to save time, allowing the team to focus on innovation.
    • Validate AI suggestions manually to ensure accuracy, as AI may generate irrelevant data if not properly guided.
  4. Iterative Improvement:
    • Inspect and adapt Dart AI usage during retrospectives, refining prompts and configurations over time.

Additional Notes

  • Customization: Dart AI’s adaptability makes it suitable for small teams (like ours) or large organizations. Explore its notification and theme settings to suit your preferences.
  • Limitations: While Dart AI automates many tasks, it requires initial setup and data input to provide meaningful insights. Be patient during the first few sprints.
  • Scaling: For larger projects, use Dart AI’s enterprise features (available via upgrade) to manage multiple teams and complex dependencies.

This tutorial demonstrates how Dart AI enhances Scrum Agile management for the Book Management and User Management APIs, integrating seamlessly with our existing tools. By completing the labs, you’ll gain hands-on experience in leveraging AI to streamline your Scrum workflow.


By Wahid Hamdi