Description
There is more to Agile development than simply a different style of programming. That’s often the easy part. 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. 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.
The classroom will be broken up into Agile teams and your expert instructor will drive each team through the Agile process from planning through execution. Your instructor will answer questions with real-world experience, and you will leave the class with practical knowledge and a clear roadmap for your team’s success.
ICAgile Certified Professional (ICP)
Attendees who successfully complete this course will receive the ICP designation after course completion, based on their exposure to the Agile Fundamentals learning objectives, which is 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
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.
Who should attend
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
- Tester
- 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. It’s also a wonderful springboard for team building & learning. We invite you to bring your team and a team project to work on in class.
Prerequisites
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.
Course Objectives
- 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
Outline: Agile Boot Camp: An Interactive Introduction to Agile Software Development (AGILEBC2DAY)
1. Why Agile?
Team Exercise:
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.
2. Becoming Agile
- Agile Mental Models
- Agile Manifesto
- Agile Principles
- Agile Practices
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.
3.Building an Agile Team
Team Exercise:
We will discuss as a class what makes a great team based on teams we’ve participated in that were great.
4. Agile Project Planning
- Vision
- Roadmap
- User Roles and Personas
Team Exercise:
Teams will practice turning User Roles into full fleshed personas.
5. Backlog Planning
- Writing User Stories
- Prioritization
- Estimating
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. After some feedback and sharing, each team will take a second pass at creating some user stories.
Team Exercise:
Teams are tasked with assigning a priority to their user stories at the appropriate level of detail.
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 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.
6. Release Planning
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.
7. Story Review
8. Iteration Planning
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. 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.
9. Iteration Execution
- The Daily Scrum
- Visual Management
- Agile Metrics
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.
10. Inspect and Adapt
- The Iteration Review
- The Demo
- The Retrospective
Team Exercise:
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.