Global Sources
EE Times-Asia
Stay in touch with EE Times Asia
EE Times-Asia > Embedded

Understand Agile's Scrum technique for embedded software dev't

Posted: 10 Nov 2011 ?? ?Print Version ?Bookmark and Share

Keywords:software development? Scrum? work breakdown structure?

In modern Agile software development, teams employ a simple productivity technique called Scrum to organize the work flow and address problems during development. Scrum implementation for line management in IT projects increases the pace of accomplishment, decreases steady-state project lists, and improves team communication. We think it can do the same for embedded systems software development.

Having literally written the book on Scrum, we present a short primer here for embedded systems developers.1 You'll find the simplified basics in this article but we give you references at the end to further your knowledge.

Scrum is a way to manage projects that focuses on the immediate objectives and deliverables of the people involved, helping to keep them focused and undistracted by other projects and activities. The method employs techniques similar to conventional project management, such as defining scope, developing a statement of work, creating a work breakdown structure, and managing the stakeholder expectations.

The team developing the software consists of team members and a facilitator, called the Scrum master. The team members use a series of lists and meetings to keep on track, including:
???A work breakdown structure (a general, large-focus list of to-do items that feeds the product backlog list).
???A product backlog list (the list of all things that need to be done).
???A sprint backlog list (the list of all things to be done immediately).
???A burndown chart (showing how the team will consume the hours allotted to the tasks).
???A daily Scrum meeting (short meetings to answer three questions):
1. What did you accomplish yesterday?
2. What are you working on today?
3. What obstacles confront you?
???A sprint retrospective meeting (short meetings after each sprint is complete to review how the sprint went and what could be improved).
???A sprint retrospective meeting (short meetings after each sprint is complete to review how the sprint went and what could be improved).

The team also constantly communicates and involves the customer or stakeholder during the process. All the actual coding work is done in sprints.

WBS and the product backlog
In Scrum, the product backlog list outlines the deliveries and expectations from the customer along with something called a work breakdown structure (WBS), a hierarchical list of topics and to-do items that must be addressed during the project. The WBS is the heart of project management.

We recommend the team base their product backlog list on the WBS defined in U.S. Department of Defense military handbook (MIL-HDBK-881x).2 The handbook's list is not completely relevant to software development, but the team can modify or delete items before populating their Scrum product backlog list. Table 1 shows an excerpt from MIL-HDBK-881x; see the full sample list online in an article we wrote last year.3

The purpose of the WBS, and hence the product backlog, is to ensure that the intent of the customer drives the scope of work which, in turn, drives the requirements and subsequent actions taken by the project team. It doesn't matter if the requirements come from external or internal sources. The requirements will be broken down for what is called the sprint a short period of time during which the team will be focused upon a specific subset of the product features.

Table 1: Excerpt from a work breakdown structure recommended by DoD.

1???2???3?Next Page?Last Page

Article Comments - Understand Agile's Scrum technique f...
*? You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.

Back to Top