Since the ICP is required to attain any ICAgile Expert certification, it is an excellent way to jumpstart your Agile career. You can include the industry–recognized designation in your signature, resumes, and also display your newly learned Agile skills from the class.
- 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 provides 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
- 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.
- 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 on that were great.
Agile Project Planning
- User Roles and Personas
- Teams will practice turning User Roles into full fleshed personas.
- 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 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.
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.
- 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.
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.
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.
- 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.