This course presents the Scrum Framework to students and provides opportunities for the students to practice the process by executing a project using the Scrum Framework.
The first two days of this course are designed to present the student with an overview of the Scrum Framework and detail about the roles, ceremony, and artifacts utilized in Scrum led project. Subjects covered will include:
- Overview and Concepts
- Agile Overview
- Scrum Overview
- Sprints
- Scrum Planning
- Release Planning
- Sprint Planning
- Roles
- ScrumMaster Role
- Product Owner Role
- Team Member Role
- Self-organizing Teams
- Scrum Concepts / Disciplines / Coordination
- Self-organizing Teams
- Time-boxing
- Distributed Scrum
- Scaling Scrum
- Requirements
- Product Backlog Stories
- Proper Sizing of Product Backlog Stories
- Estimating (Hours vs. Story Points)
- Epics
- Definition of "Done"
- Ceremony
- Daily Standup Meeting
- Sprint Review
- Sprint Retrospective
- Artifacts
- TaskBoards
- Velocity
- Sprint / Release Burndown
- Burndown vs. Burnup
Students will focus on developing working software via labs during these last three days. The format of the labs will simulate a real Scrum development cycle with one Sprint being performed each day. The daily cycle will also be reduced so that the students get exposed to multiple daily stand-up meetings as well. Students will be expected to define roles on their Scrum team, maintain the product backlog, maintain a Taskboard, calculate velocity, and develop working software that can be demonstrated.
- Project introduction
- Build the Product Backlog
- Students will create the product backlog stories, provide estimates, and prioritize based on business value.
- Release Planning
- Through the use of abbreviated Sprints, the students will experience 3 Sprints that will result in working software for version 1 of the product.
- A release planning meeting will be held to evaluate the product backlog and determine what stories will be included in the 3 Sprints.
- The product backlog and release plans will be reviewed as a group
- Introduction to Test Driven Development & Agile Development Lecture
- Students will be presented information regarding Test Driven Development (TDD) and Agile Development principles and practices
- Students will be expected to follow TDD during the remainder of this course
- Sprint Planning
- Students will perform a sprint planning meeting for each Sprint in order to review the stories, develop tasks, and establish the Taskboard for the Sprint.
- Sprint
- This particular sprint will contain simulations for 2 working days. Students will participate in daily standup meetings and work on completing tasks that provide working software to complete the stories on the product backlog
- Sprint Review
- Students will hold a Sprint Review Meeting to demonstrate their working software to either the instructor individually or the class as a whole
- Sprint Retrospective
- Students will hold a Sprint Retrospective Meeting and identify things that worked well and things that could use improvement. They are expected to identify at least one item that could use improvement and focus on that item during the next Sprint
- Daily Wrap-up
- Students will perform another Sprint that consists of 3 simulated days. The entire cycle will be performed including Sprint Planning, Development, Sprint Review, and Sprint Retrospective
- Students will be presented with problems that typically arise during a Scrum project such as Chickens Speaking during daily standup, team members missing daily standup, getting involved in technical discussions in daily standup, technical problems during the sprint, etc...
- Applied Object Oriented Programming (OOP) Lecture
- Students will be presented information on Object Oriented Programming including Inheritance, Polymorphism, Encapsulation, Redundancy, Cohesion, and Coupling.
- Students will have a solid understanding of the basic pillars of OOP
- Daily Wrap-up
- Students will perform another Sprint that consists of 3 simulated days. The entire cycle will be performed including Sprint Planning, Development, Sprint Review, and Sprint Retrospective
- Object Oriented Analysis & Design (OOAD) Lecture
- Students will be presented information on Object Oriented Design including UML, Abstraction, Commonality & Variance, and an overview on Design Patterns.
- Students will understand OOAD concepts and deliverables.
- Daily Wrap-up