Agile Boot Camp: An Immersive Introduction
While not a silver bullet, Agile methodologies are quickly becoming the mostpractical way to create outstanding software. We'll explore the leadingmethodologies. You'll learn the basic premises and techniques behind Agility sothat you can apply them to your projects.
Scrum, Extreme Programming, Lean, Dynamic Systems Development Method, FeatureDriven Development and other methods each have their strengths. While there aresignificant similarities that have brought them together under the Agileumbrella, each method brings unique strengths that can be utilized for your teamsuccess. Rarely do organizations adopt one methodology in its pure form. Rather,success is achieved by combining the best practices, creating a hybrid approach.
The only way to Agile success is practice. Agile is an art more than a science. The art of Agile must be practiced and finely tuned over multiple iterations. In this three-day Agile Boot Camp you will put the knowledge, skills, tools, and techniques taught to work. The classroom will be broken up into Agile teams and your expert instructor will drive each team through the Agile process from Vision down to Daily planning and execution. Your instructor will answer questions with real-world experience, as all of our instructors have Agile experience 'in the trenches.' You will leave the class with practical knowledge and a clear roadmap for your team's success. Note, this course will provide the PMI PDUs that will qualify you to submit your PMI-ACP application, but it does not provide the support necessary to pass the certification exam.
Your classroom is set up in pods/teams. Each team looks like a real-worlddevelopment unit in Agile with Project Manager/Scrum Master, Business Analyst,Tester, and Development. The teams will work through the Agile process includingIteration planning, product road mapping and backlogging, estimating, user storydevelopment iteration execution, and retrospectives by working off of real workscenarios.
- Practice and maintain a regular cadence when delivering workingsoftware each iteration
- Follow the team approach: Start as a team, finish as a team
- Gain knowledge and understanding of Agile principles with context on whythey are so important for each team
- Embrace planning from Vision down to Daily level, recognizing the valueof continuous planning over following a plan
- Build a backlog of prioritized stories that provides emergentrequirements for analysis that also fosters customer engagement andunderstanding
- Engage in more effective estimating (story points) and become moreaccurate by being less precise
- Pull together Agile release plans that connect you back to businessexpectations, including hard date commitments and fixed price models
- Apply Agile testing strategies based on unit and acceptance testing whichcreates a bottom up confirmation that your software works
- Avoid the top mistakes made when rolling out Agile practices and learn tocraft an adoption strategy that will work in your organizational culture
1. Agile Introduction and Overview
- Why Agile
- Agile Methods
- Agile Benefits
- Agile Basics: Understanding the lingo
2. Forming the Agile Team
- Team Roles
- Process Expectations
- Self-Organizing Teams: Where flexibility exists
- Communication: Inside and out
3. Product Vision
- Five Levels of Planning in Agile
- Importance of Product Vision
- Creating and communicating vision
4. Focus on the Customer
- User Roles
- Customer Personas
- Customer Participation
5. Creating a Product Backlog
- User Stories
- Acceptance Tests
- What Makes a Good Story (sizing and substance)
- Story Writing Workshop
6. Product Roadmap
- Product Themes
- Importance of Focus
- Creating the Roadmap
- Maintaining the Roadmap
7. Prioritizing the Product Backlog
- Methods for Prioritizing
- Building Trust
- Expectations for Prioritizing Stories
- Actual vs. Relative Estimating
- Story Points
- Planning Poker
- Estimating Team Velocity
9. Release Planning
- Utilizing Velocity
- Continuous Integration
- Regular Cadence
10. Story Review
- Getting to the Details
- Keeping Xadence
11. Iteration Planning
- Task Breakdown
- Time Estimates
- Definition of "Done"
- Active Participation
12. Iteration Execution
- Collaboration: Value individuals and interactions
- Daily Standup (Scrum)
13. Measuring and Communicating Progress
- Actual Effort and Remaining Effort
- Burndown Charts
- Tools and Reporting
- Your Company Specific Measures
Course discussion: Instructor will lead a discussion on the effectiveness of themeasurements appropriate for your company.
14. Iteration Review and Demo
- Iteration Review
- Demos: A change from the past
- What We Did Well
- What Did Not Go So Well
- What Will We Improve
16. Bringing it All Together
- Process Overview
- Team Roadmap
Exercise 1: Teams will engage in a fun exercise that will reinforce theimportance of, and power behind, self-organizing teams. As with sports teams,individual roles are important, but even more important is the need to worktoward a common goal together.
Exercise 2: Writing a vision statement. This can be very relevant if teamshave not been operating with this level of planning. If teams are alreadyoperating with a clear vision, it is an opportunity to revisit. Each team isexpected to have an actual vision statement for their product that would be asolid foundation to build upon. The Product Vision is then posted in a veryvisible place for the team to reference throughout the remainder of theexercises.
Exercise 3: Each team is tasked with identifying key customer roles, givingthem a name, and describing key attributes about the customer. These customerpersonas are presented to other teams and good idea sharing takes place.
Exercise 4: Each team will conduct a brainstorming session for creating aproduct backlog in the form of user stories. Each team will present some oftheir user stories and the instructor will lead discussion about where teams hitthe mark and areas for improvement.
Exercise 5: Each team will group their user stories into common productthemes and present them to the larger group. This helps teams to recognize thatat times it makes sense to prioritize beyond just individual user stories. Teamsthen utilize the product themes to establish a desired product roadmap.
Exercise 6: Teams are tasked with assigning story point estimates to enoughuser stories to extend at least a few iterations into the future. The method fordetermining the story point estimates will be Planning Poker.
Exercise 7: Teams are tasked with assigning a priority to their user storiesat the appropriate level of detail.
Exercise 8: Teams are tasked with building a release plan by incorporatingpriority, story point estimates, team velocity, and customer/product owner inputto assign stories to iterations with desired release points.
Exercise 9: At the appropriate time, teams need to get to the precise detailsof what is expected. This can be done in a number of ways, including screenmockups, data design, process flows, use cases, etc. Teams will have anopportunity to get to the details of the user stories that are planned for theupcoming iteration planning.
Exercise 10: Teams are tasked with discussing the details of the storiesthat, based on the estimated team velocity, may be completed in the firstiteration. As the details are discussed, the tasks will be identified that wouldbe needed to achieve the desired result. Teams will discover that at times userstories need to be split into multiple stories and re-estimated. Next, with allof the tasks identified, teams assign actual time estimates to the tasksidentified. Finally, the team will revisit the sizing of the iteration todetermine if they have the appropriate time and resources to meet theircommitment. Led by the instructor, the larger group discusses the pitfalls ofcommitting more than can be delivered and the importance of making and meetingcommitments for both the team and the customer. One of the keys to success inAgile is a regular cadence of commitment and delivery for both customer anddeveloper teams.
Exercise 11: Task boards are an invaluable communication tool during eachiteration. Each team is tasked with coming up with their task board thatcommunicates clearly their commitments for the iteration and progress againstthose commitments. This usually proves to be a very creative and engagingexercise. Teams present their task boards to the larger group, generatingfurther good idea sharing among the larger team. At their task boards, each teamthen can hold a daily standup, with one person on the team responsible forensuring the integrity of the meeting and other team members playing outassigned behavioral roles. With the larger group we will discuss the criticalrole of an effective daily scrum. Finally, the entire group can shareperspectives on the definition of done and the importance of determining that asa team. The instructor will share his or her perspective from experience on aniterative approach to the definition of "done.Team approach isreinforced...start as a team, finish as a team.
Exercise 12: Teams will hold a retrospective on their experience during thecourse, specifically on what they learned during the exercises with their team.Each team is then tasked with identifying what things they plan to incorporateinto their next iteration.
Exercise 13: Teams will establish a roadmap for adopting the most usefulprinciples and practices learned during the course. The larger group willdiscuss how this Team Roadmap will be maintained as part of ongoingretrospectives. The instructor will share insights into how teams havesuccessfully adopted Agile principles and practices as well as what pitfalls toavoid. Most teams find this to be the most useful exercise of the course as theyapply what they have learned to their situation.