Agile development is designed to help a team manage delivery of a system, through iterative and incremental development. The Agile approach accepts that there are limits to our ability to plan out a complex product and then just execute the plan. Something new is being invented. There are unknowns. Any plan needs to adapt and Agile builds that in from the beginning.
This training course helps you build knowledge, understanding and skill in the planning and management practices of Agile Development.
- Whole software development teams
- Engineering managers and project managers
- Embedded software developers
- Hardware engineers and system engineers
- Testers and test engineers
The following outline is provided as a summary of the major course topics and should not be taken as literally the section-by-subsection lecture breakdown.
- What Problems Does Agile Solve?
- What is Agile?
- Why Iterative and Incremental?
- Planning Practices of Agile
- Product Vision and Visibility
- Collaboration and Self-Organizing Teams
- Breaking Down Requirements into Stories
- Automated Acceptance Testing
- Iteration Planning
- Estimation and Release Planning and Tracking
- Scrum Terminology
- Engineering Practices of Extreme Programming
- Automation of Repetitive Tasks
- Test-Driven Development
- Pair Programming or Real-Time Reviews
- Shared Code
- Continuous Integration
- Getting Started with Agile
- Wrap-up and Discussion
Attendees should be engaged in embedded software development.