13
3/15/16 1 © 2015-16 Lean-Agile Partners Inc. All rights reserved. Yes, Hardware Can Be Agile! Nancy Van Schooenderwoert http://www.leanagilepartners.com/ [email protected] 1 Boston SPIN, 15 Mar 2016 Nancy Vs Background Electrical Engineering and Software Engineering for embedded systems 15 years safety-critical systems development experience Since 2002: Agile coaching of teams and managers in regulated industries Industries: Aerospace, Medical Devices, Sonar Weaponry, Scientific Instruments, Industrial Controls, Financial Services Author of papers and articles on Lean and Agile methods for engineering work Frequent presenter at Agile-related conferences worldwide Past president of Agile New England, current ANE board member 2

Yes Hardware Can Be Agile - Boston SPIN# Lean-Agile coaching for software and hardware teams # Safety-critical, regulated coaching is our specialty # Lean-Agile coaching for managers

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Yes Hardware Can Be Agile - Boston SPIN# Lean-Agile coaching for software and hardware teams # Safety-critical, regulated coaching is our specialty # Lean-Agile coaching for managers

3/15/16

1

© 2015-16 Lean-Agile Partners Inc. All rights reserved.

Yes, Hardware Can Be Agile!

Nancy Van Schooenderwoert

http://www.leanagilepartners.com/ [email protected]

1

Boston SPIN, 15 Mar 2016

Nancy V’s Background n  Electrical Engineering and Software Engineering for embedded

systems n  15 years safety-critical systems development experience n  Since 2002: Agile coaching of teams and managers in

regulated industries n  Industries: Aerospace, Medical Devices, Sonar Weaponry,

Scientific Instruments, Industrial Controls, Financial Services n  Author of papers and articles on Lean and Agile methods for

engineering work n  Frequent presenter at Agile-related conferences worldwide n  Past president of Agile New England, current ANE board

member

2

Page 2: Yes Hardware Can Be Agile - Boston SPIN# Lean-Agile coaching for software and hardware teams # Safety-critical, regulated coaching is our specialty # Lean-Agile coaching for managers

3/15/16

2

Topics

3

n  Hardware roots of “Agile” n  Agile Engineering: examples n  Team composition mirrors workflows n  Want predictability? Or fast learning?

In the beginning…

4

Ward C. early embedded work: http://code.fed.wiki.org/view/welcome-visitors/view/coding-portfolio/view/tektronix/view/multi-processor-debugging

n  1977 Ward Cunningham testing early microprocessors – forerunner of TDD (Test-driven development)

n  1980 Kent began working with Ward at Tektronix

n  1999 ‘Extreme Programming Explained’ by Kent Beck

I came to a conclusion that you had to get the machines to tell you what they were doing. And that if you wanted to trust what you got the machines to tell you, that part had to be very simple.

Page 3: Yes Hardware Can Be Agile - Boston SPIN# Lean-Agile coaching for software and hardware teams # Safety-critical, regulated coaching is our specialty # Lean-Agile coaching for managers

3/15/16

3

Topics

5

n  Hardware roots of “Agile” n  Agile Engineering: examples n  Team composition mirrors workflows n  Want predictability? Or fast learning?

FPGA example

6

n  Field Programmable Gate Array

FPGA chip on ckt board

Inside the chip

Inside each circuit

Page 4: Yes Hardware Can Be Agile - Boston SPIN# Lean-Agile coaching for software and hardware teams # Safety-critical, regulated coaching is our specialty # Lean-Agile coaching for managers

3/15/16

4

FPGA circuits ‘wired’ by s/w n  Separate circuits on the wafer are connected

by statements in HDL, a type of s/w

7

Hardware Description Language (HDL)

FPGA circuits ‘wired’ by s/w n  Changes to the FPGA can take a few minutes to a

few hours

8

n  FPGA Reprogrammed - new bitfile downloaded in seconds…

n  Bitfile is rebuilt: this changes the circuit connections, takes time

n  Result: h/w can do the work faster than s/w – by orders of magnitude

Page 5: Yes Hardware Can Be Agile - Boston SPIN# Lean-Agile coaching for software and hardware teams # Safety-critical, regulated coaching is our specialty # Lean-Agile coaching for managers

3/15/16

5

Writing a unit of HDL code…

9

OK?

Write HDL

START

Download bitfile to FPGA circuits

Check circuit Behavior manually

Done with this Unit test

N

Y

Before Agile

Red lines indicate “high traffic” flows.

OK?

Write HDL unit Test that fails

START

Download bitfile to FPGA circuits

Check circuit Behavior manually

Done with this Unit test

N

Y

Write HDL (tiny)

OK? N Y

After Agile (TDD)

HDL testing…

n  Write the HDL code n  (optional) simulate the HDL

n  Deploy to the FPGA circuitry n  Check the circuitry behavior

manually n  Very time-consuming

10

n  Write the HDL code n  Write a unit test in HDL n  Ensure unit test fails n  Write HDL code n  Ensure unit test passes

n  Deploy to the FPGA circuitry n  Check the circuitry behavior

manually n  Much faster

Before Agile After Agile (TDD)

Result: have code Result: have code and tests Using SVUnit TDD framework

SVUni

t

Page 6: Yes Hardware Can Be Agile - Boston SPIN# Lean-Agile coaching for software and hardware teams # Safety-critical, regulated coaching is our specialty # Lean-Agile coaching for managers

3/15/16

6

Agile Car example n  Wikispeed 100 mpg car built by volunteers n  Agile ‘software’ practices used:

n  Pairing n  Swarming n  TDD (Test-driven Development)

11

Source: www.wikispeed.com

Modularity is key n  Modularity à dependency management n  Car made of 8 modules n  New release weekly

12 Source: www.wikispeed.com

Page 7: Yes Hardware Can Be Agile - Boston SPIN# Lean-Agile coaching for software and hardware teams # Safety-critical, regulated coaching is our specialty # Lean-Agile coaching for managers

3/15/16

7

Example: Grain Monitor System

13

n  Measures protein, oil in corn, wheat, etc. in seconds, in the field

n  Evaluated for medical application

n  New science, new CPU, new OS port, new NIR sensor, new algorithm…

n  Agile team delivered 1st field units in 6 months

n  In 3 years – 60+ s/w iterations, n  approx. 9 electronic iterations n  approx. 5 mechanical iterations n  51 s/w defects post-unit-tests, 3 yr total

Spectrometer system

Iterations work differently

14

Time

Flex

ibili

ty

Mechanical H/W

Electronic H/W

Components Housings Special materials

Reprogram’ble (PLDs) On-site reconfigurable In-house reconfig’ble

User settings App s/w Operating Sys Software

■  Less frequent iterations for hard-to-change items ■  Aim for working hardware at each iteration boundary ■  Misconception: To be Agile, h/w dev has to fit inside of

2-wk or 4- wk iterations

Page 8: Yes Hardware Can Be Agile - Boston SPIN# Lean-Agile coaching for software and hardware teams # Safety-critical, regulated coaching is our specialty # Lean-Agile coaching for managers

3/15/16

8

Iterations work differently

15

Time

Flex

ibili

ty

Mechanical H/W

Electronic H/W

Components Housings Special materials

Reprogram’ble (PLDs) On-site reconfigurable In-house reconfig’ble

User settings App s/w Operating Sys Software

n  Each junction gives tangible baseline each person sees

GMS Agile s/w helped h/w

16

n  Only the s/w team was using Agile practices, but… n  Frequent s/w releases created many more

opportunities to improve h/w-s/w interaction n  Some measurements inconclusive due to voltages out of

range – so added s/w monitoring of h/w key areas

n  Field problems that could not be isolated to one area (opto, sensor, electronics) could be investigated thru special s/w releases for troubleshooting

n  Hand assembly of field units improved by downloadable collection of s/w drivers with command-line menu

n  Result was h/w became more Agile “without trying”

Page 9: Yes Hardware Can Be Agile - Boston SPIN# Lean-Agile coaching for software and hardware teams # Safety-critical, regulated coaching is our specialty # Lean-Agile coaching for managers

3/15/16

9

Topics

17

n  Hardware roots of “Agile” n  Agile Engineering: examples n  Team composition mirrors workflows n  Want predictability? Or fast learning?

Example: Ops + Software team

18

n  Ops people could only do ops stories n  IT people could only do IT stories

OK’d by P. Owner Doing Ready Sprint

Backlog Done

Should they cross-skill? That would be usual coach advice.

Ops people

IT people In this case – NO!

Page 10: Yes Hardware Can Be Agile - Boston SPIN# Lean-Agile coaching for software and hardware teams # Safety-critical, regulated coaching is our specialty # Lean-Agile coaching for managers

3/15/16

10

Ex.: Physicists-turned-C++ coders

19

n  Each member is physicist or mathematician n  Each member is also a C++ experienced coder

OK’d by P. Owner Doing Ready Sprint

Backlog Done

Should they have cross-skilled? That would be usual coach advice. In this case – absolutely YES!

Hardware + Software team(s)

20

n  Story board is divided…

Electronics Engrs

S/W people

OK’d by P. Owner Doing Ready Sprint

Backlog Done

But we’re still one team, now with different workstreams visible

This same mechanism can work for two cooperating teams

Page 11: Yes Hardware Can Be Agile - Boston SPIN# Lean-Agile coaching for software and hardware teams # Safety-critical, regulated coaching is our specialty # Lean-Agile coaching for managers

3/15/16

11

Lanes not independent

21

n  Keep focus on whole features; don’t merely fit work to skill siloes

OK’d by P. Owner Doing Ready Sprint

Backlog Done

People pair to do their parts of features that span disciplines

Topics

22

n  Hardware roots of “Agile” n  Agile Engineering: examples n  Team composition mirrors workflows n  Want predictability? Or fast learning?

Page 12: Yes Hardware Can Be Agile - Boston SPIN# Lean-Agile coaching for software and hardware teams # Safety-critical, regulated coaching is our specialty # Lean-Agile coaching for managers

3/15/16

12

Predictability or Fast Learning

n  FPGA example: Predictability

n  Wikispeed Car example: Fast learning

n  Most projects: Predictability for coordination, Fast learning to handle unknowns

23

Predictability or Fast Learning n  Everyone thinks they want predictability

n  Increasingly, I believe they all really need fast learning

n  “Instead of freezing the ocean, learn to ride the waves”

24

and

Page 13: Yes Hardware Can Be Agile - Boston SPIN# Lean-Agile coaching for software and hardware teams # Safety-critical, regulated coaching is our specialty # Lean-Agile coaching for managers

3/15/16

13

Contact info

25

Nancy Van Schooenderwoert LeanAgilePartners

[email protected]

@vanschoo

§  Lean-Agile coaching for software and hardware teams

§  Safety-critical, regulated coaching is our specialty

§  Lean-Agile coaching for stakeholders and senior managers

Services

References & Further Info REFERENCES: n  Neil Johnson, TDD And A New Paradigm For Hardware Verification, Proceedings of the Agile 2012 Conference, 2012 n  TDD framework by Neil Johnson: SVUnit framework, http://www.agilesoc.com/open-source-projects/svunit/ n  Wikispeed Project: www.wikispeed.com

FURTHER INFO & Credits: More examples of Agile hardware: N. Van Schooenderwoert, “Yes, Hardware Can Be Agile!”, InfoQ, March 2015, http://www.infoq.com/articles/hardware-can-be-agile Discussion of Agile for predictability vs. Agile for fast learning; Jeff Patton, “Common Agile Isn’t for Startups”, http://jpattonassociates.com/common-agile-isnt-for-startups/ More on Extreme Manufacturing (XM); Peter Stevens, Blog Extreme Manufacturing 10 Principles, http://www.scrum-breakfast.com/search/label/xm Experience report from GMS project: ‘Embedded Agile Project by the Numbers With Newbies’ paper by N. Van Schooenderwoert. Available no charge at http://www.leanagilepartners.com/publications.html Surfer photo: By The Last Minute (Flickr) [CC BY 2.0 (http://creativecommons.org/licenses/by/2.0)], via Wikimedia Commons; used unchanged. Wikispeed photos used with permission of the Wikispeed Project. Snail drawing by W. H. Dall (1845-1927)

26