An Agile Approach to Embedded Software Development
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.
- 1 day (standard course)
- 3-5 days (workshop, to get your team started)
- Whole software development teams
- Engineering managers and project managers
- Embedded software developers
- Hardware engineers and system engineers
- Testers and test engineers
- Involvement with embedded systems development
- Firmware Defect Prevention for Safety-Critical Systems
- Test-Driven Development for Embedded C Programmers
- 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 Discussion