This ICAgile Certified Professional designated course offers hands-on practices in Iteration Planning, Product Roadmap and Backlog, Estimating Practices, User Story Development, and Iteration Execution.
There is more to Agile development than simply a different style of programming. Agile development methods change your approach for requirements gathering, estimation, planning, team development, stakeholder interactions and more. While not a silver bullet, Agile Methodologies have become the most practical way to create outstanding software. You'll learn the basic premises and techniques behind Agility — so that you can apply them to your projects.
Attendees who successfully complete this course will receive the ICAgile Certified Professional (ICP) designation after course completion, based on their exposure to the Agile Fundamentals learning objectives, which are covered in this course. The ICP designation verifies that the attendee has been introduced to these five areas through training:
- Agile History & Mindset
- Individuals & Interactions
- Value–Driven Development
- Consumer & User Involvement
- Planning and Adapting
What You'll LearnTOP
- Structure a team with generalizing specialists so the team can develop working software incrementally
- Practice and maintain a regular cadence when delivering working software each iteration
- Follow the team approach; start as a team, finish as a team — and focus on delivering value to the organization
- Learn the different approach to Agile architecture and design that supports a more incremental and emergent project
- Gain knowledge and understanding of Agile principles and why they are so important for each team
- Embrace the five levels of planning and recognize the value of continuous planning
- Build a backlog of prioritized and estimated user stories that provide emergent requirements for analysis and foster customer engagement and understanding
- Engage in more effective estimating (story points) and become more accurate by being less precise
- Create accurate Agile release plans that connect you back to business expectations – including hard date commitments and fixed price models
- Why Agile?
We will explore as a class what problems plague software development so that we can recognize how Agile is an answer to real world problems.
- Becoming Agile
- Agile Mental Models
- Agile Manifesto
- Agile Principles
- Agile Practices
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.
- Building an Agile Team
We will discuss as a class what makes a great team based on teams we’ve participated in that were great.
- Agile Project Planning
- User Roles and Personas
Teams will practice turning User Roles into full-fleshed personas.
- Backlog Planning
- Writing User Stories
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 a discussion about where teams hit the mark and areas for improvement. After some feedback and sharing, each team will take a second pass at creating some user stories.
Teams are tasked with assigning a priority to their user stories at the appropriate level of detail.
Teams are tasked with assigning story point estimates to enough user stories to extend at least a few iterations into the future. The methods for determining the story point estimates will be Planning Poker and Affinity estimating. 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.
- Release Planning
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.
- Story Review
- Iteration Planning
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. 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.
- Iteration Execution
- The Daily Scrum
- Visual Management
- Agile Metrics
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.
- Inspect and Adapt
- The Iteration Review
- The Demo
- The Retrospective
Teams will discuss what things they can do the day after class ends to take what they’ve learned and implement it immediately so that they don’t lose what they’ve learned.
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.
Who Should AttendTOP
Because this is an immersion course and 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
- QA Engineer
- Documentation Specialist
The Agile Boot Camp is a perfect place for cross-functional teams to familiarize themselves with Agile concepts and methodologies and learn the basics of how to function as an Agile team. We invite you to bring your team and a team project to work on in class.