0845 450 6120

Agile Software Development and Modelling

This Agile development training covers developing software using Agile methodologies like Scrum and eXtreme Programming (XP). In this course, you learn how to plan, manage, monitor, design and implement an Agile software project through a simulated case study. You gain practical experience performing each role within an Agile team.

Who will benefit from this course?

This course is valuable for analysts, designers, programmers, testers and software project managers as well as those who want an introduction to modern Agile software development. Analysts, designers, programmers and testers will benefit by performing tasks from each role of an Agile team. Managers will benefit by gaining an understanding of the varied activities required for an Agile development, how to plan and monitor Agile projects and how to build a successful Agile team.

Reset

Learning Objectives

  • Manage, design, test and model Agile software projects
  • Plan iterations based on relative effort and business value
  • Monitor progress with backlogs, burn-down charts and task boards
  • Increase quality with test-driven development
  • Maximise team productivity with regular reviews and retrospectives

Hands-On Experience:

  • Eliciting requirements and writing user stories
  • Creating backlogs and burn-down charts to monitor progress
  • Documenting features using detailed use cases and models
  • Defining acceptance criteria and conditions of satisfaction
  • Programming automated unit tests
  • Conducting reviews and retrospectives

Pre-Requisites

Prior software development experience is helpful but not required.

Course Content

Agile Software Development and Engineering Introduction

Defining programming best practices

  • Identifying software development roles and activities
  • Choosing plan-driven vs. Agile methodologies
  • Waterfall
  • V
  • Spiral

Transitioning to Agile development processes

  • Comparing XP, Scrum, Lean, Kanban, Feature-Driven, Model-Driven and Test-Driven developments
  • Identifying Agile values, processes and best practices
  • Determining ideal iteration length

Managing Agile Projects

Gathering software requirements

  • Eliciting requirements from users
  • Adopting Agile values
  • Writing user stories

Planning Agile Projects

  • Prioritising and estimating work
  • Estimating business value
  • Organising projects by features
  • Dividing features into tasks

Reporting Team Progress

  • Documenting work completed with backlogs
  • Tracking progress with burn down charts
  • Calculating velocity and adjusting to change
  • Projecting project costs and completion dates
  • Monitoring work in progress with task boards

Analysing User and System Requirements

Modelling for Agile projects

  • Depicting requirements with use case diagrams
  • User-system interactions with activity diagrams
  • Employing sequence and communication diagrams
  • Describing system transitions with state diagrams

Detailing use cases

  • Identifying actors and use cases
  • Identifying pre- and post-conditions
  • Specifying primary and alternative paths
  • Documenting nonfunctional and system requirements

Architecting classes with UML

  • Representing class data and behaviours
  • Recognising the need for inheritance
  • Defining data requirements
  • Specifying relationships and multiplicities

Test-Driven Development

Defining test levels

  • Acceptance, system, integration and unit testing
  • Employing both automated and manual testing
  • Specifying boundary conditions
  • Driving development through constant testing

Ensuring software meets requirements with user acceptance testing

  • Scripting user acceptance tests
  • Performing exploratory testing
  • Specifying acceptance criteria
  • Determining conditions of satisfaction

Minimising bugs through automated programmer unit testing

  • Utilising tools for automated unit testing
  • Writing unit test code
  • Isolating classes for testing
  • Programming mock objects
  • Refactoring for improved design

Optimising Productivity of Agile Teams

Building Agile teams

  • Team member roles and responsibilities
  • Managing teams for performance
  • Scaling Agile for larger projects
  • Cross-training and pairing for improved productivity
  • Integrating ScrumMaster and Product Owner roles into the development team

Conducting Sprint reviews and retrospectives

  • Techniques for gathering feedback
  • Analysing how to do better
  • Adjusting to change
  • Reflecting on Agile best practices

Exams & Certification

This course is approved by PMI® for 23 professional development units (PDUs).

This course qualifies for 32 SEUs.

One Month
Two Months
Three Months
More than Three Months
PRINCE2 Foundation & Practitioner
MSP Foundation & Practitioner
APMP Certificate
ITIL Foundation
Scrum in One Day
Certified ScrumMaster
ISTQB Software Test Foundation
Microsoft Project
BCS Business Analysis Practice
Other - Please Specify Below

Virtual Classroom

Virtual classrooms provide all the benefits of attending a classroom course without the need to arrange travel and accomodation. Please note that virtual courses are attended in real-time, commencing on a specified date.

Virtual Course Dates

Our Customers Include