Agile Boot Camp: An Interactive Introduction to Agile Software Development Training
|Commitment||3 days, 7-8 hours a day.|
|How To Pass||Pass all graded assignments to complete the course.|
|User Ratings||Average User Rating 4.8 See what learners said|
|Delivery Options||Instructor-Led Onsite, Online, and Classroom Live|
Agile Boot Camp: An Interactive Introduction to Agile Software Development Training Course – Hands-on
Agile Boot Camp: An Interactive Introduction to Agile Software Development Training Course – Customize it
- We can adapt this training course to your group’s background and work requirements at little to no added cost.
- If you are familiar with some aspects of this training course, we can omit or shorten their discussion.
- We can adjust the emphasis placed on the various topics or build the training around the mix of technologies of interest to you (including technologies other than those included in this outline).
- If your background is nontechnical, we can exclude the more technical topics, include the topics that may be of special interest to you (e.g., as a manager or policy-maker), and present the training course in manner understandable to lay audiences.
Agile Boot Camp: An Interactive Introduction to Agile Software Development Training Course – Audience/Target Group
The target audience for this training course:
- Business Analyst
- Technical Analyst
- Project Manager
- Software Engineer/Programmer
- Development Manager
- Product Manager
- Product Analyst
- QA Engineer
- Documentation Specialist
Agile Boot Camp: An Interactive Introduction to Agile Software Development Training Course – Class Prerequisites
The knowledge and skills that a learner must have before attending this training course are:
- Although it is not mandatory, students who have completed the self-paced Foundations of Agile eLearning course have found it very helpful when completing this course.
Agile Boot Camp: An Interactive Introduction to Agile Software Development Training Course – Objectives:
Upon completing this training course, learners will be able to meet these objectives:
- Apply Agile principles and best practices from the various methodologies in the best mix for team success.
- Discover how to conduct an Agile Retrospective and learn how to continuously adapt your team to work most effectively.
- Gain techniques to develop Agile requirements in the form of simple and powerful User Stories.
- Understand and appreciate the value of “maximizing the amount of work not done.”
- Learn the different approach to Agile architecture and design that supports a more incremental and emergent project.
- Transform your estimating practices to give executives and customers what they need more easily and more accurately.
- Identify the pitfalls that poorly disciplined Agile teams fall into – contributing to failed Agile adoption attempts.
- Learn how to adopt Agile practices effectively within the context of your existing software development framework.
- Use Planning Poker as a technique to establish story points.
- Gain practice in organizing your group into a self-managed team.
- Develop the correct technique for writing user stories.
- Conduct exercises in a real-world Agile development unit to see first-hand how the roles mingle together to get work done.
- Learn to use velocity-driven planning in order to support fixed date or fixed price environments.
- Order your user stories into themes that encompass architecture and feature development in a value-based manner.
- Learn how to adapt from a plan-driven approach to continuous planning, start including actual velocity-driven aspects into your planning, scheduling and tracking.
- Gain pragmatic skills, tools and techniques that take into consideration your organization and its culture.
- Practice the coaching and communicating skills of a ScrumMaster and understand the difference between the role of a ScrumMaster and that of a traditional Project Manager.
- Run multiple iterations using real-life scenarios.
- Make your first hands-on experience in an agile classroom, not a production environment.
Agile Boot Camp: An Interactive Introduction to Agile Software Development Training – Course Content
Module 1: Agile Introduction and Overview
- Why Agile
- Agile Methods
- Agile Benefits
- Agile Basics – understanding the lingo
Module 2: Forming the Agile Team
- Team Roles
- Process Expectations
- Self organizing teams – where flexibility exists
- Communication – inside and out
- Team Exercise: Teams will engage in a fun exercise that will reinforce the importance of, and power behind, self-organizing teams. As with sports teams, individual roles are important, but even more important is the need to work toward a common goal together. At times that means blurring the lines of traditional roles. Great teams will not define themselves by their individual roles.
Module 3: Product Vision
- Five Levels of Planning in Agile
- Importance of Product Vision
- Creating and communicating vision
- Team Exercise: Writing a vision statement. This can be very relevant if teams have not been operating with this level planning. If teams are already operating with a clear vision, it is an opportunity to revisit. Each team is expected to have an actual vision statement for their product that would be a solid foundation to build upon. The Product Vision is then posted in a very visible place for the team to reference throughout the remainder of the exercises.
Module 4: Focus on the Customer
- User Roles
- Customer Personas
- Customer Participation
- Team Exercise: Each team is tasked with identifying key customer roles, giving them a name, and describing key attributes about the customer. These customer personas are presented to other teams and good idea sharing takes place.
Module 5: Creating a Product Backlog
- User Stories
- Acceptance Tests
- What makes a good story (sizing and substance)
- Story Writing Workshop
- Team Exercise: Each team will conduct a brainstorming session for creating a product backlog in the form of user stories. Each team will present some of their user stories and the instructor will lead discussion about where teams hit the mark and areas for improvement (Instructor will not have all of the ideas, this is a great opportunity for team dynamic). After some feedback and sharing, each team will take a second pass at creating some user stories.
Module 6: Product Roadmap
- Product Themes
- Importance of Focus
- Creating the Roadmap
- Maintaining the Roadmap
- Team Exercise: Each team will group their user stories into common product themes and present them to the larger group. This helps teams to recognize that at times it makes sense to prioritize beyond just individual user stories. Teams then utilize the product themes to establish a desired product roadmap. Like the vision statement, the roadmap is then posted for the team to reference throughout the remainder of the course.
Module 7: Prioritizing the Product Backlog
- Methods for prioritizing
- Building Trust
- Expectations for prioritizing stories
- Team Exercise: Teams are tasked with assigning a priority to their user stories at the appropriate level of detail.
Module 8: Estimating
- Actual vs Relative estimating
- Story Points
- Planning Poker
- Estimating Team velocity
- Team Exercise: Teams are tasked with assigning story point estimates to enough user stories to extend at least a few iterations into the future. The method for determining the story point estimates will be Planning Poker. Teams will be given enough time to begin to see some consistency in their team and triangulate relative sizing of their stories. Teams are then asked to estimate their team’s velocity.
Module 9: Release Planning
- Utilizing velocity
- Continuous Integration
- Regular cadence
- Team Exercise: Teams are tasked with building a release plan by incorporating priority, story point estimates, team velocity and customer/product owner input to assign stories to iterations for the desired release.
Module 10: Story Review
- Getting to the details
- Keeping cadence
- Team Exercise: At the appropriate time, teams need to get to the precise details of what development and testing is expected. Teams will have an opportunity to get to the details of the user stories that are planned for the upcoming iteration planning using a variety of methods. This practice helps teams maintain a regular cadence when delivering working software each iteration.
Module 11: Iteration Planning
• Task breakdown • Time estimates • Definition of “done” • Active participation Team Exercise: Teams are tasked with discussing the details of the stories that, based on the estimated team velocity, may be completed in the first iteration. As the details are discussed, the tasks will be identified that would be needed to achieve the desired result. Teams will discover that at times user stories need to be split into multiple stories and re-estimated. Next, with all of the tasks identified, teams assign actual time estimates to the tasks identified. Finally, the team will revisit the sizing of the iteration to determine if they have the appropriate time and resources to meet their commitment. Led by the instructor, the larger group discusses the pitfalls of committing more than can be delivered and the importance of making and meeting commitments for both the team and the customer. One of the keys to success in Agile is a regular cadence of commitment and delivery for both customer and developer teams.
Module 12: Iteration Execution
- Collaboration – value individuals and interactions
- Daily Standup (Scrum)
- Team Exercise: Taskboards are an invaluable communication tool during each iteration. Each team is tasked with coming up with their taskboard that communicates clearly their commitments for the iteration and progress against those commitments. This usually proves to be a very creative and engaging exercise. Teams present their taskboards to the larger group, generating further good idea sharing among the larger team. At their task boards, each team then can hold a daily standup, with one person on the team responsible for ensuring the integrity of the meeting and other team members playing out assigned behavioral roles. With the larger group we will discuss the critical role of an effective daily scrum. Finally, the entire group can share perspectives on the definition of done and the importance of determining that as a team. The instructor will share his or her perspective from experience on an iterative approach to the definition of “done.” Team approach is reinforced…start as a team, finish as a team.
Module 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 the measurements appropriate for Your company. We need to have further discussion regarding what measurement and communication tools are needed/expected at your company.
Module 14: Iteration Review and Demo
- Iteration Review
- Demos – a change from the past
Module 15: Retrospectives
- What we did well
- What did not go so well
- What will we improve
- Team Exercise: Teams will hold a retrospective on their experience during the course, specifically on what they learned during the exercises with their team. Each team is then tasked with identifying what things they plan to incorporate into their next iteration.
Module 16: Bringing it All Together
- Process Overview
- Team Roadmap
- Team Exercise: Teams will establish a roadmap for adopting the most useful principles and practices learned during the course. The larger group will discuss how this Team Roadmap will be maintained as part of ongoing retrospectives. The instructor will share insights into how teams have successfully adopted Agile principles and practices as well as what pitfalls to avoid. Most teams find this to be the most useful exercise of the course as they apply what they have learned to their situation.