Implementing Scrum for Your Team With Agile Estimation and Analysis
Abstract
Many organizations are moving to Agile methods, Scrum in particular, for several reasons. These include the reality of changing customer requirements, increased competitive pressure and the need to both deliver value quickly to customers and respond to competitive pressures. Scrum has a solid track record and is therefore becoming the premiere Agile method. In a nutshell, Scrum involves:- Developing (and potentially delivering) software in stages
- Having a Scrum Master manage the product backlog (items to be developed)
- Having a Product Owner (representing the customer) prioritize these items
- Empowering teams to develop high quality, valuable software quickly
This course is a team-centered offering that teaches a development team how to implement Scrum including both the process and Agile analysis aspects of it. It is a combination of interactive lecture with a significant amount of time spent on hands-on exercises.
This is the course to have your team attend. While only one or two team-members need to know how to play the role of the Scrum Master, all the members need to know what Scrum is and what is expected of them. This course teaches:
- What Scrum is
- How to manage Scrum projects
- How to manage requirements in Scrum projects
- How to use Planning Poker to do story estimation
- The roles of a Scrum team
- The role of the Scrum Master
- The role of the Product Owner
- The limitations of Scrum
- How to scale Scrum
- How to unfold requirements over time
- How to do an up-front domain analysis that helps set the stage for the product development without becoming a big-up-front analysis
This course is essentially an integration of our Implementing Scrum For Your Team with the first day of our Agile Estimation and Analysis for Developers and Product Owners.
Course Level
IntermediateCourse Outline
This course covers the following:Section 1: Introduction
Part of going Agile is understanding the business needs of Agile. We start out integrating business needs with Agile process.- Five Reasons to Go Agile
- Agile Software Overview
- Team Values
- Supporting Environment
- Lessons from Lean Software Development
Section 2: Agile Management
The properties of Agile Management processes are discussed, and a number of Agile practices are explored. The practices discussed show how Agile development can be managed while simultaneously providing the visibility necessary for management and the maneuverability that developers need. This is the heart of the course, and has an embedded role-playing exercise.- The Risks of Software Development
- Managing Agile Projects
- Managing the Product Backlog
- Release Planning
- Iteration Planning
- Daily Standups
Section 3: Agile Analysis
- Starting Analysis
- Use Cases and Why and How To Use Them
- How To Use Use Cases in an Agile Project
- Use Cases As Containers for Stories
- Creating Low Precision Use Cases From High Level Requirements Statements
- Use Case Unfolding
- Sub-Dividing Stories Into Smaller Stories
- Commonality-Variability Analysis
- The Analysis Matrix
- Identifying The Concepts in Your Domain
- Mapping Scenarios Into Stories
- Creating a Conceptual Architecture
- Why Just Jumping Into Code Is Not A Good Idea
- Selecting Stories for the Iteration
- Prioritization
- Risk Mitigation
- Increasing Feedback
- Stories and Testing
- The Role of QA in Analysis
- Refining Our Test Cases
- Agile Story Estimation
- Kano Analysis