Skip to main content

Table 2 Case studies and experiment reports

From: Agile methods for embedded systems development - a literature review and a mapping study

Number

Method(practices)

Team size

Success

Discipline

Project characteristics

P2

A new platform-based design method based on XP, Scrum and agile patterns (e.g. Sprint and Product backlogs)

1-4

The development platform reduced substantially development time of the product

Three embedded system projects: pulse oximeter, digital soft-starter and the induction motor simulator equipments

Team uses pre-designed and pre-characterized components instead of full custom design methods

P3

XP (The planning game, short development cycles, pair programming, test first programming, collective code ownership, frequent integration, never solving a problem that has not occurred, refactoring, minimal documentation)

Total 29 people in 4 teams

XP can be used to develop complex mission-critical systems after the team starts to work

Software development of mission-critical two-way radio systems projects

There were four about 18-month projects, where requirements change

P4

XP practices (unit test first with mock objects, automate building software and testing, write code in testable fashion)

N/A

Agile techniques can be used also in embedded development

Software for control boards of automated guided vehicles

The team had used agile in web and desktop applications previously

P5

Selected practices from Scrum (Sprint, Sprint planning meeting, Daily scrum, Sprint review/Retrospective) and XP (simple design, unit testing, refactoring, pair programming, collective code ownership, continuous integration, on-site customer, sustainable pace, coding standards)

7

Experiences are mostly positive, but full adoption is seen a slow process

Firmware for processors

The team members have specialized domain knowledge, the requirements change and hardware dependencies force change. Team is also distributed

P6

XP (planning, small releases, metaphor, simplicity, test, refactoring, pair programming, common code ownership, continuous integration, 45-h week, on-site customer, coding standards)

N/A

In small teams, development cycles were shorter, but in the whole project, the results were not satisfactory

Telecommunication software development

The specifications and requirements are fuzzy in the beginning of project and change during the project

P7

A new piloting method when introducing Scrum to the company

20 and 15

Team can be Agile, even though the company is not and piloting can reduce resistance to change

Software and hardware solutions for the wireless and automotive industries.

A large, distributed company

P8

Agile manifesto-based method (individuals and interactions, emphasis on working system, collaborative interface with sponsor, responding to change)

N/A

Project was successfully finished within short schedule and limited time

Design and development of two small satellites

The project has high level requirements of uncertainty, cost and schedule

P12

Document-driven development (DDD)

N/A

Improvement was seen in more effective design procedure and improved communication between all stakeholders

Software for a system to administer therapeutic intravenous fluids

The deployment is for long periods of time and used globally. There are mission-critical requirements; frequent changes and components are developed in different organizations with variety of stakeholders

P13

Agile practices (unit test, test first)

N/A

Agile elements are serious options for development of embedded software

Embedded software for busses and coaches

High degree of customer-specific functionality to be implemented, e.g. within days

P15

XP and Agile (user stories, start simple, user involvement, refactor)

N/A

Project was viewed successful both internally and externally

A system for scheduling satellite tracking stations

The developed system is large, and the organization complex. The development team is inexperienced, and there have been previous failures in the project using waterfall

P18

Agile in general (e.g. Boehm’s spiral model, common room, pair programming)

4

Successfully created first software versions in schedule despite some requirement changes

A control software for satellite camera equipment

The requirements change, and the schedule is tight. Engineers share time with hardware development

P19

Scrum and XP (e.g. user stories)

N/A

In large organizations, agile development requires very skilled developers and has to be a combination of old and new practices

Telecommunication

There are challenges in work allocation between teams in large organizations when using agile. Requirements engineering is also used in this project

P20

HW-SW codesign (hardware simulation and code analysis tools)

N/A

Higher performance was seen relative to conventional HPC design

A high performance computing system

There are power and performance challenges

P21

Scrum (sprints, daily stand-ups, sprint backlogs, sprint review and sprint retrospective and customer involvement)

15 people in 4 teams

Agility was applied only to software team, and to fully benefit from it, it should be broadened and deepened

Advanced communication system project

The original waterfall project suffered from frequent requirement changes, lack of communication and expensive overheads

P23

TDD-based tool and method

N/A

Current unit testing tools can be adapted to embedded environment

Experience on a tool in digital signal processing applications

Experience on embedded test-driven development tool usage in university laboratory course with undergraduate students

P26

XP (e.g. collective code ownership, unit tests, always enabled tracing system)

4-6

Unexperienced team’s productivity cannot be distinguished from best teams in industry, when the team uses Agile practices

Software for a grain monitor

The software developer team is unexperienced and small

P27

XP testing techniques (always on trouble log, dual-targeting, unit tests, domain level tests)

About 5

Amazingly low bug rate and it was easy to distinguish whether the problem is in software or hardware

Software for a mobile spectrometer

A new product is developed from a scratch with changing hardware

P28

Agile requirements engineering

Over 100 in the project

Flexible requirements engineering provides business value, even with severe resource constraints

Hearing solutions based on platforms

The new platform project is large with inherited functionality and professional requirements engineers included for the first time