Agile Requirements & Design Class

Info

  • Duration: 3-4 days
  • Brief Description: The focus of the training is on the agile modeling techniques and skills needed by the entire agile project team to conduct successful collaborative projects. The workshop teaches the Unified Modeling Language (UML) and an understanding of the Unified Process and how to incorporate them into agile and iterative development for the project team. The workshop teaches and provides exercises in agile modeling techniques used for scoping, requirements gathering and design for collaborative solutions.
  • Who Should Attent?: Those who will find this of value are: Product Owners, SMEs, Technical Leads, Developers, Business Analysts, Systems Analysts, Architects, Designers, and Project Managers.

Agile Requirements and Design Class

Training Description

The Agile Requirements and Design training class provides training for the business analyst, product owners and development team in how to:

  • Write agile requirements and build design models using the Unified Modeling Language
  • Collaboratively design solutions using agile best practices from agile project management

The objectives of the training are to:

  • Provide an understanding of the agile modeling techniques needed by the project team to successfully implement an agile project
  • Provide tips and techniques for design that support an agile development approach
  • Provide practical agile project team group exercises for building the agile models for collaborative solutions
  • Define the Agile and Iterative Development practices, describe agile vs. waterfall method and success factors
  • Provide a case study simulation of project initiation, sprint planning, sprint analysis and design using UML and sprint retrospective

Training Content

  • Day

    Day 1

    Agile Concepts and Fundamentals

    • What is Agile Development?
    • How does Agile differ from Waterfall methodology?
    • Agile Manifesto and principles
    • Strengths and weaknesses of Waterfall vs. Agile methodologies
    • What is Scrum and what are the key practices?
      • Principles and practices for Agile project management
      • Roles for Agile Development with Scrum
    • Factors to consider when deciding on the methodology and practices to use for your projects
    • Exercise- Conduct a Scrum Meeting

    Collaborative Techniques for Agile Projects

    • Workshop Approaches
    • Storyboarding
    • Kit Reviews
    • Prototyping

    Overview of the Agile Modeling Techniques using UML for Analysis and Design

    UML Diagramming for High Level and Detailed Requirements

    • Agile principles for project initiation phase
    • Constructing the Use Case Diagram to define the epics and themes
    • Creating the use case inventory for estimating and capacity planning
    • Case Study Exercise – Building the high level use case diagram and use case inventory for planning
    • Constructing the Activity and Swimlane Workflow Diagram
      • UML notations
      • Uses of Activity Diagrams for requirements and design
    • Case Study Exercise- Building the Activity Diagram with Swimlanes
    • High Level Use Cases
      • Using High Level Use Cases to define the Sprints and User Stories
      • Guidelines for writing the high level use cases
    • Case Study Exercises – Creating the high level use case
    • How to slice up the use case outline to plan the iterations
    • How to write the requirements using the user stories technique
      • Story writing workshop
      • Identify and write the test cases for the user stories
      • How to capture user stories for a use case
    • Case Study Exercise- Creating the User Story for a Use Case
  • Day 2

    Day 2

    Release & Sprint Planning

    • Release Planning and Estimating the Sprints and Stories
      • Defining the priorities for the product releases and iterations
      • Estimating the size and complexity of the slices- using popular estimating techniques
      • Tracking project success criteria to requirements and use cases for requirements traceability
      • Methods for Tracing and Tracking Releases and Sprints
        • Status Tracking on a Product Backlog
        • Scrum Product Backlog
        • Use Case Tracking
    • Case Study Exercise – Building a Product Backlog for defining the product release, prioritizing and estimating the sprints and stories

    Analysis & Design using UML

    • Creating the Detailed Use Case Diagram
      • Dependencies between use cases
      • <<Includes>> and <<extends>>
    • Case Study Exercise- Creating the Detailed Use Case Diagram for high level technical design
    • Writing Detailed Use Cases for Development and Acceptance Testing
      • Guidelines for writing detailed use cases
      • Storyboarding paper prototypes
    • Case Study Exercise – Writing detailed use cases and building prototypes for technical design and quality assurance handoff (as needed)
    • Constructing the Domain Object Model and CRCs
    • Case Study Exercise-  Building the Domain Object Model and the CRCs
    • Use Case realization – transforming the “what” to the “how”
      • Use case realization package
      • Interaction Diagrams
      • View of Participating Classes
      • Traceability diagram for all use cases
    • Constructing the Collaboration Diagram
    • Case Study Exercise- Creating the Collaboration Diagram
    • Design using the Sequence Diagram
    • Case Study Exercise – Building the Sequence Diagram
  • Day 3

    Day 3

    Analysis & Design using UML (continued)

    • Design using the Sequence Diagram
    • Creating the Global Class Diagram
      • Identify the classes, methods, associations, multiplicities, inheritance and constraints.
      • Reconcile the realizations- redundancies, missing classes and inconsistencies
    • Case Study Exercise-  Building the Global Class Diagram
    • Constructing the State Chart Diagram
    • Case Study Exercise-  Building the State Chart Diagram
  • Day 3 & 4

    Day 3pm – 4

    Real Life Case Study or Simulation for Agile Development

    The Agile simulation demonstrates how the entire life cycle of a project fits together and how the artifacts taught in class build on each other. Each student leads the group in a stage of the life cycle using the analysis and design artifacts. The artifacts created in the simulation are the high level use case diagram, sprint planning, user stories, activity diagram with swimlanes, detailed use case diagram, detailed use case (as needed), domain object model, sequence diagram, class diagram and state diagram.  In-house UML tools are used during the simulation.  If no tools are available, UML version of Visio can be utilized.