timo punkka · 1 15+ years of professional development 10+ years of agile development certified...

16
1 15+ years of professional development 10+ years of Agile development Certified Scrum Professional Timo Punkka timo.punkka at ngware.eu ng-embedded.blogspot.com @tpunkka

Upload: others

Post on 11-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Timo Punkka · 1 15+ years of professional development 10+ years of Agile development Certified Scrum Professional Timo Punkka timo.punkka at ngware.eu ng-embedded.blogspot.com

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

Page 2: Timo Punkka · 1 15+ years of professional development 10+ years of Agile development Certified Scrum Professional Timo Punkka timo.punkka at ngware.eu ng-embedded.blogspot.com

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.

Page 3: Timo Punkka · 1 15+ years of professional development 10+ years of Agile development Certified Scrum Professional Timo Punkka timo.punkka at ngware.eu ng-embedded.blogspot.com

3

Scrum

Development

?

Earlier I had to wait for months to be

disappointed.

Now I can get disappointed every two weeks.

Great!

Page 4: Timo Punkka · 1 15+ years of professional development 10+ years of Agile development Certified Scrum Professional Timo Punkka timo.punkka at ngware.eu ng-embedded.blogspot.com

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??]

Page 5: Timo Punkka · 1 15+ years of professional development 10+ years of Agile development Certified Scrum Professional Timo Punkka timo.punkka at ngware.eu ng-embedded.blogspot.com

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

Page 6: Timo Punkka · 1 15+ years of professional development 10+ years of Agile development Certified Scrum Professional Timo Punkka timo.punkka at ngware.eu ng-embedded.blogspot.com

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

Page 7: Timo Punkka · 1 15+ years of professional development 10+ years of Agile development Certified Scrum Professional Timo Punkka timo.punkka at ngware.eu ng-embedded.blogspot.com

7

Alternative: Cross-Disciplined Up-front prototyping

“Experimenting, not validating”

No Free Prototypes?

Design

Review Manufacture

Prepare

Material

Labour

Testing

Rework

Page 8: Timo Punkka · 1 15+ years of professional development 10+ years of Agile development Certified Scrum Professional Timo Punkka timo.punkka at ngware.eu ng-embedded.blogspot.com

8

REWORK

Re

wo

rk

Re

wo

rk

Flexible Architecture

Page 9: Timo Punkka · 1 15+ years of professional development 10+ years of Agile development Certified Scrum Professional Timo Punkka timo.punkka at ngware.eu ng-embedded.blogspot.com

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

Page 10: Timo Punkka · 1 15+ years of professional development 10+ years of Agile development Certified Scrum Professional Timo Punkka timo.punkka at ngware.eu ng-embedded.blogspot.com

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

Page 11: Timo Punkka · 1 15+ years of professional development 10+ years of Agile development Certified Scrum Professional Timo Punkka timo.punkka at ngware.eu ng-embedded.blogspot.com

11

Evaluation board

Bread board

Partial Prototype

Evaluation board

Partial Prototype

Partial Prototype

Page 12: Timo Punkka · 1 15+ years of professional development 10+ years of Agile development Certified Scrum Professional Timo Punkka timo.punkka at ngware.eu ng-embedded.blogspot.com

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

Page 13: Timo Punkka · 1 15+ years of professional development 10+ years of Agile development Certified Scrum Professional Timo Punkka timo.punkka at ngware.eu ng-embedded.blogspot.com

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

Page 14: Timo Punkka · 1 15+ years of professional development 10+ years of Agile development Certified Scrum Professional Timo Punkka timo.punkka at ngware.eu ng-embedded.blogspot.com

14

Hardware unit tests

CLI

Hardware Unit Tests

Page 15: Timo Punkka · 1 15+ years of professional development 10+ years of Agile development Certified Scrum Professional Timo Punkka timo.punkka at ngware.eu ng-embedded.blogspot.com

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

Page 16: Timo Punkka · 1 15+ years of professional development 10+ years of Agile development Certified Scrum Professional Timo Punkka timo.punkka at ngware.eu ng-embedded.blogspot.com

16

Photo credits (all @stock.xchng)Light meter: GlennPebQuestion marks: immrchrisScream: livinusFrogs: sarej

All @ stock.xchng