Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Agile Project Management for Embedded Dev. (or ...

Agile Project Management for Embedded Dev. (or Burning Your Gantt Charts)

Traditional embedded project management usually hinges on eliminating change and designing out uncertainty up-front; such an approach is fantasy. Agile Project Management offers solutions to common, persistent problems: poor estimates, slipped timelines, products languishing in an almost-done state, and Gantt charts rarely reflecting reality. Here we discuss: usable definitions of “customer”, “feature” and “done”; prioritization; iterations; estimation; burndown charts; documentation; and risk & scope management.

Atomic Object

October 16, 2008
Tweet

More Decks by Atomic Object

Other Decks in Technology

Transcript

  1. Done | dәn | adjective. 1. The code has been

    written according to the developers' interpretation of the spec (delivered 9 months ago). It can now be tested.
  2. Done | dәn | adjective. 1. The code has been

    written but may require an unspecified amount of “cleanup” before shipping.
  3. Done | dәn | adjective. 1. Gantt chart progress has

    reached 100% 2. (more often) Gantt chart progress has reached 95% introducing a secondary state: “almost done”
  4. Done | dәn | adjective. 1. The developers have stepped

    through the code with the debugger.
  5. Done | dәn | adjective. 1. A Zen-like continuation where

    the mind is at peace and the soul is at one with code, coworker, contractor, and customer alike
  6. Done | dәn | adjective. 1. A Zen-like continuation where

    the mind is at peace and the soul is at one with code, coworker, contractor, and customer alike
  7. Done | dәn | adjective. 1. A Zen-like state wherein

    all customer-specified features have been implemented to glowing accolades
  8. Done | dәn | adjective. 1. A Zen-like state wherein

    all customer-specified features have been implemented to glowing accolades
  9. Done | dәn | adjective. 1. A Zen-like state wherein

    all customer-specified features pass a vast (comprehensive) suite of unit, system, and acceptance tests
  10. Done | dәn | adjective. 1. A Zen-like state wherein

    all customer-specified features pass a vast (comprehensive) suite of unit, system, and acceptance tests
  11. Done | dәn | adjective. 1. A Zen-like state wherein

    (a) all customer-specified features pass unit, system, and acceptance tests (b) ...
  12. Done | dәn | adjective. 1. A Zen-like state wherein

    (a) ... (b) It works on more than just my machine
  13. Done | dәn | adjective. 1. A Zen-like state wherein

    (a) ... (b) It works on more than just my machine
  14. Done | dәn | adjective. 1. A Zen-like state wherein

    (a) ... (b) builds are reproducible, identical, and machine independent
  15. Done | dәn | adjective. 1. A Zen-like state wherein

    (a) all customer-specified features pass unit, system, and acceptance tests (b) builds are reproducible, identical, and machine independent
  16. Feature | ˈfē ch ər | noun. 1. Something that

    a customer can actually define in a concrete way, crossing that mystical gap between geek and non-geek.
  17. Feature | ˈfē ch ər | noun. 1. Something that

    a customer can actually define in a concrete way, crossing that mystical gap between geek and non-geek.
  18. Feature | ˈfē ch ər | noun. 1. Something that

    a customer (a) can explain (b) can know when it has been done correctly and is properly Awesome
  19. Feature | ˈfē ch ər | noun. 1. Something that

    a customer (a) can explain (b) can know when it has been done correctly and is properly Awesome
  20. Feature | ˈfē ch ər | noun. 1. Something that

    a customer (a) can explain (b) can verify
  21. Feature | ˈfē ch ər | noun. 1. Something that

    a customer (a) can explain (b) can verify (c) feels is worth some kind of money or compensation to develop
  22. Feature | ˈfē ch ər | noun. 1. Something that

    a customer (a) can explain (b) can verify (c) feels is worth some kind of money or compensation to develop
  23. Feature | ˈfē ch ər | noun. 1. Something that

    a customer (a) can explain (b) can verify (c) will pay for
  24. Customer noun. synonyms: 1. End User 2. Engineering Department 3.

    Marketing 4. Sales 5. Production 6. Technical Support
  25. Done | dәn | adjective. 1. A Zen-like state wherein

    (a) all customer-specified features pass unit, system, and acceptance tests (b) builds are reproducible, identical, and machine independent
  26. and

  27. Project Done | präjˌekt dәn | noun. 1. A Zen-like

    state wherein (a) all customer-specified features pass unit, system, and acceptance tests (b) builds are reproducible, identical, and machine independent
  28. 2x

  29. 2x

  30. Overhead Documenting Meetings Hear Ryan's Joke Requirement Gathering Coffee Breaks

    e-mail YouTube Phone Calls less-than-productive time
  31. Because The Truth Is Documenting Meetings Hear Ryan's Joke Requirement

    Gathering Coffee Breaks e-mail YouTube Phone Calls less-than-productive time
  32. Our Features: 1. Return Version Message via serial port when

    requested. 2. Measure Filtered Battery Voltage and Return 1/sec 3. Estimate Battery Life Remaining and Return 1/sec 4. Blink Red LED when Battery Is Too Low 5. Send Out LOW Message once when Battery Too Low
  33. If

  34. so

  35. This Presentation is Licensed Under a Creative Commons 3.0 Attribution,

    Share-Alike License. You may use all or part of this presentation for whatever you want, as long as you (1) credit Michael Karlesky and Mark VanderVoord (2) release any derived works under a similar license http://www.creativecommons.org/
  36. Images By (thanks!): Beach Zen - Tanais Costa Rica Zen

    Garden – Scott Robinson Fire And Water – Paul Sapiano Zen Garden – Timothy Tak Mad Scientist - Zoomar Momento Zen – Silke Gerstenkorn Zen – Pierangelo Rosati Carnival Cruise – Josh Bousel