timo punkka · 1 15+ years of professional development 10+ years of agile development certified...
TRANSCRIPT
1
15+ years of professional development
10+ years of Agile development
Certified Scrum Professional
Timo Punkka
timo.punkka at ngware.eung-embedded.blogspot.com@tpunkka
2
Motivation to consider Agile development for hardware development
New prototyping approach for learning in addition to validating
How fast-paced iterative planning can fit development with longer natural cycles?
More collaborative approach to co-design of embedded system through cadence
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
Individuals and interactions over processes and too ls
Working software (product) over comprehensive docum entation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
3
Scrum
Development
?
Earlier I had to wait for months to be
disappointed.
Now I can get disappointed every two weeks.
Great!
4
Illusion of Control Chaos
1000W
20EUR
Scandinavia
750W
24EUR
Europe
Learning and discovery
[Kuva tosi teknisestä laitteesta,
Kuvaamaan että ei voi tehdä etukäteen??]
5
“Each element in the system is ignorant of the behavior of the system as a whole, it responds only to information that is available to it locally.
Cilliers, 1998
“If each subsystem, regarded separately, is made to operate with maximum efficiency, the system as a whole will not operate with utmost efficiency. “
Skyttner, 2001
6
Shared Understanding of Direction
Enables;
Collective Decision Making
Single consciousness
Motivation to consider Agile development for hardware development
New prototyping approach for learning in addition to validating
How fast-paced iterative planning can fit development with longer natural cycles?
More collaborative approach to co-design of embedded system through cadence
7
Alternative: Cross-Disciplined Up-front prototyping
“Experimenting, not validating”
No Free Prototypes?
Design
Review Manufacture
Prepare
Material
Labour
Testing
Rework
8
REWORK
Re
wo
rk
Re
wo
rk
Flexible Architecture
9
Motivation to consider Agile development for hardware development
New prototyping approach for learning in addition to validating
How fast-paced iterative planning can fit development with longer natural cycles?
More collaborative approach to co-design of embedded system through cadence
Think Big, Think Horizontal
Adapted fromDoing Hard Time, Bruce Douglas
Vertical Slicing
Design for manuf.
Mechanics
PCB layout
Electronics/schematic
10
Implement Small,Implement Vertical
Power andbuses
Uncertainblocks
FullSolution
Optimize
Adapted fromDoing Hard Time, Bruce Douglas
Vertical Slicing
Schematics
3d models
Simulation
Bread board prototypes
Re-usable generic prototypes
Evaluation boards
Partial prototypes
FPGA
3d printers
11
Evaluation board
Bread board
Partial Prototype
Evaluation board
Partial Prototype
Partial Prototype
12
Identify and prioritize uncertainties
Deal with it:
1. Use focused prototypes to buy uncertainty down
2. Keep options and defer decisions
3. Isolate uncertainty
Remember to learn from prototypes!
Motivation to consider Agile development for hardware development
New prototyping approach for learning in addition to validating
How fast-paced iterative planning can fit development with longer natural cycles?
More collaborative approach to co-design of embedded system through cadence
13
Cadence (Rhythm)
Product
Vision
Release Plan
•Processor
environment
•Power monitoring
Release Plan
Power capacityRelease Plan
•Heat
management
•Manufacturability
Frequent plan re-synchronizing based on learning
Innovating tobring testing and automation forward
Reducing the ‘get it right the first time’ attitude
Diminishing difference between disciplines
Positive reinforcing loop of agile co-design
14
Hardware unit tests
CLI
Hardware Unit Tests
15
Embedded system development involves multiple perspectives, learning and discovery
Up-front prototyping is used for experimenting, not validating
Vertical slicing can be used for learning with partial prototypes
Shared cadence amplifies learning across the organization
Books
16
Photo credits (all @stock.xchng)Light meter: GlennPebQuestion marks: immrchrisScream: livinusFrogs: sarej
All @ stock.xchng