The application of Agile principles and practices on software development projects enables a project team to quickly develop working software that meets business needs. In Scrum, teams work in 2-4 week Sprints to produce production-quality software driven by business priorities using an empirical, adaptive approach. This course provides an in depth understanding of how Agile and Scrum teams deliver business value.
You will learn to apply the basic practices of any Agile approach, with a focus on Scrum. You will apply what you learn in a series of exercises that take you through identification of user stories, project/release planning, Sprint planning, and Sprint execution. Participants will build and manage a Product Backlog, a Sprint Backlog and a Release Plan.
This course uses a combination of lecture, class discussion, and hands-on exercises, with emphasis on group activities, to reinforce the concepts and principles.
- Apply key concepts and terms of Agile and Scrum to project situations
- Be able to explain the methodology’s benefits and key techniques
- Experience the progression of key activities and artifacts
- Gain a deep understanding of different practices that can be applied and when to apply them
- Be able to help others to understand and apply the practices and principles
This course is intended for anyone who will actively participate in a project using this approach. People on the edges of the project (secondary customers, management staff, and participants in related processes) will also benefit. Project teams are encouraged to attend as a group.
What are agile practices and principles?
What is “iterative and incremental” development?
What is Scrum?
Scrum Roles and responsibilities
What is a User Story?
How to identify and write good User Stories
Evolution of requirements during a project
Estimation and Prioritization
What is a Product Backlog?
Creating the initial Product Backlog
Agile Estimation Overview
Different ways to do Agile estimation
Prioritization- who, what, why and when?
Definition of ”Done”
What is Release planning?
How is an Agile release plan different from a traditional release plan?
Methods for creating a release plan on an Agile project.
Planning a Sprint
What is a Sprint Backlog?
Conducting Sprint Planning Meeting Part 1
- Selecting a subset of the product backlog
- Determining the Sprint scope
Conducting Sprint Planning Meeting Part 2
Developing the Sprint backlog
Sprint tasking and estimation
Running a Sprint
Evolution of requirements during a Sprint
Conducting the daily Scrum
Managing the Sprint scope
Tracking progress; recognizing problems
Closing a Sprint
Conducting a Sprint review
Conducting a Sprint retrospective
Reporting project status
Updating the backlog; Backlog grooming
Closing the Sprint
Managing the Product Backlog and Release Plan
How does the Product Backlog change during a project?
How do you control changes?
How does the Release Plan change during a project?
Agile Software Engineering
Application of typical Agile Software Engineering practices such as Continuous Integration, Test Driven Development and Pair Programming
Testing during the Sprint
Agile testing practices
Roles/responsibilities in testing:
- Team testers
- Product Owner
- Independent test group