Course Description
As a certified IC Agile Professional designation course, this Agile training course offers hands-on practices in Iteration Planning, Product Roadmap and Backlog, Estimating Practices, User Story Development and Iteration Execution.
In this Agile Training course, you will learn how to:
- Practice and maintain a regular cadence when delivering working software each iteration
- Follow the team approach; start as a team, finish as a team
- Gain knowledge and understanding of Agile principles with context on why they are so important for each team
- Embrace planning from Vision down to Daily level, recognizing the value of continuous planning over following a plan
- Build a backlog of prioritized stories that provides emergent requirements for analysis that also fosters customer engagement and understanding
- Engage in more effective estimating (story points) and become more accurate by being less precise
- Pull together Agile release plans that connect you back to business expectations – including hard date commitments and fixed price models
- Apply Agile testing strategies based on unit and acceptance testing, which creates a bottom up confirmation that your software works
- Avoid the top mistakes made when rolling out Agile practices and how to craft an adoption strategy that will work in your organizational culture
Explore Software Agility from a Variety of Perspectives
There's more to Agile development than simply a different style of programming. That's often the easy part. However, it totally changes your methods for:
- Requirements Gathering
- Project Estimation & Planning
- Team Leadership
- Producing High Quality Software
- Working with your Stakeholders & Customers
- Focus on Team Development
While not a silver bullet, Agile Methodologies are quickly becoming the most practical way to create outstanding software. We'll explore the leading Agile methodologies. You'll learn the basic premises and techniques behind Agility — so that you can apply them to your projects.
Discover the Strengths Across the Various Methodologies
Scrum, Extreme Programming, Lean, Dynamic Systems Development Method, Feature Driven Development and other methods each have their strengths. While there are significant similarities that have brought them together under the Agile umbrella, each method brings unique strengths that can be utilized for your team success. Rarely do organizations adopt one methodology in it's pure form. Rather success is achieved by combining the best practices, creating a hybrid approach
.
Not Just Methods and Approaches — You Get Real Hands-On Experience
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.
Become a Certified ICAgile Professional
IC AgileThe International Consortium for Agile has worked with experts around the world to develop an education roadmap of training and certification for all specialties involved in Agile development. This course has been approved and earns all students the Certified ICAgile Professional designation upon completion of the course.
In-Class Workshops and Group Exercises
Your classroom is set up in pods/teams. Each team looks like a real-world development unit in Agile with Project Manager/Scrum Master, Business Analyst, Tester and Development. The teams will work through the Agile process including Iteration planning, Product road mapping and backlogging, estimating, user story development iteration execution, and retrospectives by working off of real work scenarios. Specifically, you will:
- Practice how to be and develop a self-organized team
- Create and communicate a Product Vision
- Understand your customer and develop customer roles and personas
- Initiate the requirements process by developing user stories and your product backlog
- Put together product themes from your user stories and establish a desired product roadmap
- Conduct story point estimating to determine effort needed for user stories to ultimately determine iteration(s) length
- Take into consideration assumed team velocity with story point estimates and user story priorities to come up with you release plan
- Engage the planning and execution of your iteration(s)
- Conduct retrospectives after each iteration
- Run a course retrospective to enable an individual plan of execution on how to conduct Agile in your environment
20 Immediate Benefits of Participating in this Workshop
- Apply Agile principles and best practices from the various methodologies in the best mix for your 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 User Stories that are both simple and powerful
- 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 technique to develop 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, see first hand how the roles mingle together to get the work done
- Using Scrum as the backdrop, acquire techniques for successfully scaling Agile across your teams and the enterprise
- 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 Scrum Master and understand the differences between what a Scrum Master does compared to a traditional Project Manager
- Run multiple iterations using real-life scenarios
- Make your first hands-on experience with agile a classroom experience, not a production experience
Substitution & Cancellation Policy:
You may cancel or reschedule up to 21 days prior to the start date of the class at no penalty. For any cancellation or reschedule requests within 21 days, the full course tuition is still due and not eligible for refund. Any paid tuition will be credited towards a future class and must be used within 12 months.
*Partner delivered courses may be subject to different cancellation terms
Agenda
I. Agile Introduction and Overview
- Why Agile
- Agile Methods
- Agile Benefits
- Basics of Agile
II. Forming the Agile Team
- Team Roles
- Expectations
- Self forming teams - where flexibility exists
- Communication
III. Five Levels of Planning in Agile
- Vision
- Roadmap
- Release
- Iteration
- Daily
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 beyond just the course. The Product Vision is then posted in a very visible place for the team to reference throughout the remainder of the exercises.
IV. Creating and Maintaining a Product Backlog
- User Stories and story cards
- Customer Roles - Defining your customer
- Acceptance Tests
- What makes a good story (sizing and substance)
- Story Writing Workshop
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. Next, 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).
V. Product Roadmap
- Product Themes
- Prioritization
- Creating the Roadmap
- Communication
- Maintaining the Roadmap
Team Exercise: Each team will group their user stories into common product themes and presented 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.
VI. Prioritizing the Product Backlog
- Methods for prioritizing
- Expectations for prioritizing stories
Team Exercise: Teams are tasked with assigning a priority to their user stories at the appropriate level of detail.
VII. 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.
VIII. Release Planning
- Utilizing velocity
- 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 with desired release points.
IX. Iteration Planning
- Getting to the details
- Task breakdown
- Time estimates
- Definition of "done"
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 are needed to achieve the desired result. Teams will discover that at times user stories needed 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 discussed 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.
X. Iteration Execution
- Daily Standup (Daily Scrum)
- Task boards
- Scrum of Scrums
- Burndown and other metrics
Team Exercise: Task boards are an important communication tool. We begin with a task board building exercise. Each team is tasked with coming up with their task board 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 task boards 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. The instructor will facilitate a scrum of scrums forum. 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 perspective from experience on an iterative approach to the definition of “done”. Team approach is reinforced...start as a team, finish as a team.
XI. Measuring and Communicating Progress
- Actual effort and remaining effort
- Burndown charts
- Tools and Reporting
- Company X specific measures
Course discussion: Instructor will lead a discussion on the effectiveness of the measurements appropriate for course participants. Instructor will share real world examples of metrics and communication tools used by Agile teams.
Demo - because this is a course, teams will not engage in product development work and therefore will not have any actual product demos. We will discuss as a group the importance of demos and the expectations set internally for your teams back at work.
XII. 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 work environment. Further, teams will establish a roadmap for adopting all of the items identified. The larger group will discuss how this Improvement Roadmap will be maintained as part of ongoing retrospectives.
Audience
Because this is an immersion course, where the intent is to engage in the practices every Agile team will employ, this course is recommended for all team members responsible for delivering outstanding software. That includes, but is not limited to, the following roles:
-Business Analyst
-Technical Analyst
-Project Manager
-Software Engineer/Programmer
-Development Manager
-Product Manager
-Product Analyst
-Tester
-QA Engineer
-Documentation Specialist