Agile Software Development Using Scrum
Revision: TE7002_20091118
(6.66 KB) View, Download, or Print Course as a PDF.
This class requires 5 or more students
- Course Length:
- 2 Days
- Course Description:
- Scrum has become a leading agile development method. This 2-day course leads the students to understand what adopting Scrum will mean for their organization, and themselves. Agile Development with Scrum begins with the concepts and terminology of iterative development: developing and delivering portions of a total product according to a well-defined schedule and partitioning of product features. The business case for iterative development is thoroughly covered. The course then discusses the principles and practices that define an agile approach to software development, including: delivering continual value to the customer, flexible and rapid response to change, short time-boxed iterations, and rapid feedback on project state. The course next covers each of Scrum’s practices and, most importantly, the structure and flow of how a Scrum project is conducted according to agile principles. Example user stories demonstrate how this simple technique can capture the goals of most value to users, and where user stories fit into a Scrum project. Estimation using both story points and ideal days is thoroughly discussed, along with the critical concepts of team velocity and the value of burndown charts. Extensive exercises allow students to plan a release, estimate user stories and tasks, plan and populate a sprint, and understand how to conduct and end a sprint, with special consideration of software deployment options. The course thoroughly discusses how moving to Scrum affects the major project stakeholders: business analysts, project managers, developers, testers, and documentation writers.
- Who Should Attend:
- This course is for software developers, project managers, business or system analysts, and technical managers who wish to learn the philosophy and practices of Scrum.
- Benefits of Attendance:
-
Upon completion of this course, students will be able to:
- Articulate the agile principles, practices, and roles of Scrum.
- Write user stories.
- Perform Scrum Release Planning, and Scrum Sprint Planning.
- Estimate user stories and tasks using Planning Poker.
- Deconstruct user stories into tasks and ideal day estimates.
- Carryout a sprint with Daily Scrum Meetings.
- End a Sprint with Sprint Reviews and Sprint Retrospectives.
- Use Scrum with multiple, or distributed, project teams.
- Easily pass any Certified Scrum Master certification class.
- Prerequisites:
- Experience in software development, project management, or business or systems analysis is desirable, but not mandatory.
- Course Outline:
-
- Course Introduction
- Iterative Development
- The Iterative Philosophy
- Structure of a Typical Iteration
- The Business Case for Iteration
- Group Discussion
- Agile Development
- Agility — What Does It Mean?
- The Agile Manifesto
- The 12 Agile Principles
- Agile Practices
- Group Discussion
- Scrum
- Scrum Practices
- Structure of Scrum
- 3 Work Products
- 3 Project Roles
- 4 Project Meetings
- Group Discussion
- User Stories & Requirements
- What is a User Story?
- What Does a User Story Look Like?
- Where Do User Stories Fit in Scrum?
- Planning a Scrum Project
- Introduce Course Exercise Case Study
- The Product Backlog
- Mapping Features to Product Backlog
- Identify User Stories from Features
- Estimating Effort for User Stories
- Agile Estimation
- Story Points & Ideal Days
- Example: Assigning Story Points
- Estimating Actual Effort
- Velocity
- Velocity & Actual Time
- Estimating with Planning Poker
- Exercise: Applying Planning Poker
- Group Exercise: Estimating User Story Effort
- Group Exercise: Release Planning in Scrum
- Planning a Scrum Sprint
- Mapping a Sprint Backlog to Tasks
- The Sprint Planning Meetings
- Example: Splitting User Stories into Tasks
- Velocity-driven Planning
- Commitment-driven Planning
- Group Exercise: Sprint Planning in Scrum
- Executing a Sprint
- The Task Board
- The Daily Scrum
- Accumulating the Burndown
- Team Self-Management
- Aborting a Sprint
- Finishing Early or Late
- Testing within the Sprint
- Bugs in an Iteration
- Ending the Sprint
- Deploying the Software
- Scrum’s Affect on Stakeholders
- Business Analysts
- Developers
- Project Managers
- Testers
- Documentation Writers
- Scaling Scrum
- Planning for Dependencies
- Planning for Multiple-Team Projects
- Wrapup
- References
- Appendix A: Agile Alternatives
- Extreme Programming
- Agile Unified Process












