Agile Methodology Fundamentals
- What are agile methods?
- What is iterative development?
- Covers the basics and principles of iterative development and industry accepted best practices.
- Agile methods' values
- Intro to Scrum/benefits vs. waterfall. Brief history of Scrum,comparison to waterfall, advantages of Scrum.
Scrum in a Nutshell
- What is Scrum and an overview of Scrum process flow
- Scrum Roles and responsibilities
- The ScrumMaster, project team.Covers the roles played within a project team, with an emphasis on the ScrumMaster
- How does Scrum work and how do we conduct project planning?
Traditional Management vs. Scrum
- Agile Leadership Principles - Servant Leadership, Empirical Management, Empowerment, Quality-First, Continuous Improvement,and "Standardization"
Use Case / User Stories Overview
- What are use cases (or user stories)?
- Describe how to develop a use case model / user story model
- Describe the basic process for writing a use case specification (or user story) and describe the components
- Discuss the relationship between use case / user story and user interfaces
- Review tips for writing quality use case specification / user stories
Planning and Estimating
- Planning Overview. Why do we plan and what makes a good plan?
- How is agile planning different? Planning takes place at the Day,Iteration, and Release level
- Estimation of Size and Duration. Story points vs. ideal days. We will then extrapolate the story point concept and explain how this applies to the concept of use case points.
- Ideal days. A discussion about Ideal Time vs. Elapsed Time
- Planning Poker. Introduces the class to planning poker and how to conduct a planning poker sessions
Project Initiation and Release Planning
- Role of the product owner
- Lays out the responsibilities and expectations of the product owner and his/her relationship to the project team.
- Establishment of project charter
- Overview of basis for scope of work, starting point for product backlog.Describe other project initiation activities.
- Product backlog
- Definition of the product backlog, how it is established.Demonstrate how to size use cases / user stories
- Exercise: Build a product backlog
- Allow students to go through the steps of establishing the product backlog and size use cases / user stories
- Setting priorities
- How the product backlog gets prioritized and maintained. Focus is on the role of the product owner
- Release planning
- Demonstrate how to use prioritized backlog, estimated velocity, and sprint goals to establish a release plan
Planning a Sprint
- Conducting Sprint Planning Meeting
- Part 1: Selecting a subset of the product backlog
- Discuss how to determine the sprint scope including hangover
- Part 2: Developing the sprint backlog
- Discuss how to avoid hangover, estimate velocity, and establish a sprint goal
- Exercise: Build a sprint backlog
- Students will be provided a product backlog and preliminary release plan, to build a sprint backlog
- Developing sprint tasks
- Topics covered include task granularity, dependencies,scheduling and assignment
- Exercise: Establish sprint plan tasks
- Students will create and plan iteration tasks
Running a Sprint
- Conducting the daily Scrum
- Discuss the focus and conduct of the daily Scrum. Learn what is included and what is excluded. Learn the value of the daily Scrum
- Managing the sprint scope
- Discuss tips and techniques for insulating the team from distractions
- Learn how to handle the sprint being behind or ahead
- Warning signs and how to address them
- Covers common pitfalls and avoidance strategies and recipes for failure
- Tracking progress/burndown
- Methods for managing task completion. Covers burndown and progress tracking
- Exercise: Build and maintain burndown
- Students break into teams and simulate an actual sprint.
Closing a Sprint
- Conducting a sprint review
- Demonstrate what is expected and covered in a sprint review
- Conducting a sprint retrospective
- Discuss the purpose and scope of a sprint retrospective
- Inspecting and adapting the process
- Discuss a key aspect of Scrum: inspect and adapt. Emphasizes the importance of self-directed teams
- Reporting project status
- Discuss metrics, hangover, and velocity
- Updating the backlog
- Covers re-prioritization,injects and budget constraints
- Closing the project
- Summarization and definition of done