Agile for Embedded Systems

Embedded Systems have very different development standards and requirements for Project Management. This course will look at using the Agile processes including; Scrum, Test Driven Development and Feature Driven Design, to manage and develop embedded systems and hardware products. This course requires students to have attended the “Agile Methods” course, or have significant experience with Scrum or other Agile project management methodologies.

Course Features

  • An in-depth analysis of Agile methods, including Scrum, Test Driven Development (TDD) and Feature Driven Design (FDD), and the differences in using these methods to support embedded systems development.
  • Using Scrum, TDD and Extreme Programming (XP) to improve your development processes.
  • A focus on highly accurate development and reducing the number of defects per line of code.
  • How to manage an embedded project from planning, through development, to ongoing maintenance.
  • Using continuous integration technologies to ensure accuracy and quality of information and reports.
  • The course will be customised to the participants organisational requirements.
  • Highly interactive through case studies and theoretical modelling.

Participant Benefits

Participants will leave this course with a clear understanding of how Agile project management methods can be used in an embedded systems environment. Participants will also learn how to optimise development times, improve client satisfaction and reduce development cost through class discussions and workshops. Finally, participants will learn how to speed up development time without sacrificing accuracy.

Who Should Attend

This course is suitable for project managers and developers of embedded systems and hardware products and projects, regardless of their size, maturity, or product base. People wishing to enrol in this course should have attended the “Agile Methods” course, or have significant experience with Scrum or other Agile project management methodologies.

Outline

  1. Scrum for Embedded Systems
    • Project Roles (including Scrum Master, Product Owner and the Team)
    • Iteration Length / Release Cycle
  2. Test Driven Development (TDD) in Depth
  3. Continuous Integration
    • Writing Unit Tests for Embedded Systems
    • Testing in Software Emulators
    • Testing in Hardware Emulators
    • Testing on Physical Devices
  4. Extreme Programming (XP)
    • Pair Programming
  5. Change Management and Configurations
  6. Tracking and Reporting
    • Burndown Charts
    • Dealing with Scope Creep
    • Early-trend and Feedback Metrics
    • Reporting to “Customers”