Date: 31 January - 2 February, 2011
Location: Salt Lake City, UT, United States
Regular Price: $1,400 per person
The 3-day Agile Fundamentals & Certified ScrumMaster course from Dr. Alistair Cockburn
This 3-day course introduces the student to Agile product development through a series of group activities, introspections, lecture, and practical techniques. It is based on the recommendations for Fundamentals in Agile Development created by the International Consortium for Agile. The course covers
- Development of the basic mindset and approach for agile development
- Application of the 4 values of the Agile Manifesto to product development
- Basics of Scrum, including the role of the ScrumMaster and Certified ScrumMaster preparation as needed for the CSM exam
The course includes concepts, practice and theory, including Scrum, Lean and the advanced Crystal processes. The course prepares the student ScrumAlliance's Certified ScrumMaster exam or to receive the International Consortium for Agile's Associate certificate. The course includes the book Crystal Clear, which shows techniques and work products used on agile projects.
Here is the typical schedule of the class:
Customer-focused, timeboxed development
Teams are given a time-boxed assignment to carry out, consisting of a "customer" and a development team. At the end of the time-box, all the teams discuss what they learned and what they might do differently. Later in the day, they are given a chance to do better with a similar assignment.
Ground rules of Scrum
The class spends several hours reading and discussing the rules and roles of Scrum, in groups and in full-class discussion.
Incremental development with status tracking
Teams are given a project management assignment, present their results to the larger class, and learn some less-obvious aspects of both incremental development and status reporting.
Theory of software development
A class can give only the basic elements of agile. Back at the office, the team has to know how to modify the base concepts into locally efficient strategies. This section goes to understanding the theory of team design and software development, so the attendees can see /why/ agile development works as it does, and how to tune team strategies on the fly.
Communication-intensive development with reflective improvement
Teams are given several tries at a time-boxed assignment. After each round, they learn how to reflect and improve their performance. This active module anchors several lessons important to agile development, and teaches them a quick and effective way to capture lessons after each sprint.
The best programmers work in 15- to 45-minute increments, but few of the rest of the world know how to do that. The best Product Owners or Business Analysts know how to slice their requests into small enough pieces to give to programmers who don't know how to do that. This activity needs about 1/3 of the class to program during the class, with 2 non-programmers per team helping in other ways. At the end of the exercise, both Product Owners and programmers alike see how to slice problems thinner, and how to sequence those slices for maximum value.
Project Planning Jam Session (Blitz planning)
Far from "not planning", the practiced agile team plans and checks it's plan often. To do this, a fast planning technique is needed. This module introduces an index-card based project-planning technique. The technique is used to surface dependencies and unknowns that often disrupt even a well-run agile project. Being quick and effective, it can be done at the end of every iteration or after each delivery, to set up for the next delivery.
This activity introduces Jeff Patton's "Story Mapping" technique, which is used to aggregate user stories into a 2D map of users x activities in order to get a better picture of the product being built. The story map is then sliced for use as a product backlog.
All CSM courses are taught by Certified Scrum Trainers. Taking a CSM course, passing the CSM test, and accepting the license agreement designates you as a Certified ScrumMaster, which indicates that you have been introduced to and understand the basic concepts you need to perform as a ScrumMaster or team member on a Scrum team. This course also satisfies two elements of the CSD track: Scrum Introduction and Elective.