agile doesn`t scale brian cronauer ... - sei digital library · us eu #engineers © fraunhofer iese...

44
© Fraunhofer IESE 1 Agile Doesn`t Scale … Without Architecture SATURN 2012 St. Petersburg, FL May 10, 2012 SATURN 2012 St. Petersburg, FL May 10, 2012 architecture.iese.fraunhofer.de architecture.iese.fraunhofer.de Brian Cronauer, John Deere Andreas Huber, John Deere Michael Höh, John Deere Thorsten Keuler, Fraunhofer IESE

Upload: vomien

Post on 02-Dec-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

1

Agile Doesn`t Scale … Without Architecture

SATURN 2012St. Petersburg, FLMay 10, 2012

SATURN 2012St. Petersburg, FLMay 10, 2012 architecture.iese.fraunhofer.dearchitecture.iese.fraunhofer.de

Brian Cronauer, John DeereAndreas Huber, John DeereMichael Höh, John DeereThorsten Keuler, Fraunhofer IESE

Page 2: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

2

Starting Point

Experiences

What have we learned?

Transition towards Agile

Scalability of SW Development

Page 3: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

3

Page 4: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

4

John Deere – Display Development 

KLOC

MLOC

10xMLOC

?

Time

Size &Complexity

Page 5: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

5

Starting PointSystems

Engineering• Requirements

Specification

Design & Implementation

• Design Specification• Code

Verification & Test

4

15

20

50

10

80• Unit Test• Integration• Regression

& Field Test

EarliestCustomer feedback

EUUS

#engineers

Page 6: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

6

Large‐Scale Transition Towards Agile

Iterative WaterfallPure Agile

#engineers < 20

#engineers > 180

~1 year

Page 7: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

7

Starting Point

Experiences

What have we learned?

Transition towards Agile

Scalability of SW Development

Page 8: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

8

What is the Scale in „Large‐Scale“?

Speed of development

#Developers#SW units

TheoryPractice

Page 9: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

9

Inhibitors to Scalability

Speed of development

System complexity#developers/#teamsDistribution of teams

#Developers/SW unit

Complexitydrivers

Architecturalprinciples

Key

Page 10: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

10

Classes ofInhibitors Technologies

Processes

Roles & Capabilities

SW Structures

Page 11: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

11

Starting Point

Experiences

What have we learned?

Transition towards Agile

Scalability of SW Development

Page 12: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

12

Transition to Agile

Page 13: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

13

Effects

Prototyping with one team

worked well with one team

faster delivery

Page 14: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

14

Reasons

Small scale

Co-located developers

Small system scope

Page 15: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

15

“Power of the Team”

Page 16: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

16

Effects

Java vs C++

Deletion of work

Coding guidelines not followed

communication overhead

Page 17: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

17

Reasons

Clear phases are gone

Rules & standards?

Specs -> user stories

„Do what you want“

Page 18: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

18

“With great Power comes great Responsibility”

Page 19: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

19

Page 20: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

20

Communicationvs 

Documentation

Page 21: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

21

Effects

… we don’t document

… we don’t do architecture

… we don’t think about next PSI

… YAGNI

Page 22: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

22

Reasons

Agile Agile Techniques

Philosophy ClashesC_

Page 23: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

23

Philosophies – Revisited

http://www.vtt.fi/inf/pdf/publications/2002/P478.pdf

Page 24: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

24

„Disciplined agile teams …“ … work closely with their stakeholders, including bothoperations and support staff

… invest time at the beginning of the project to identify thehigh‐level scope in a light‐weight, collaborative manner

… will also identify a viable architectural strategy which reflectsthe requirements of their stakeholders and your organization’soverall architectural strategy

Page 25: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

25

Comm/Doc – Rule of Thumb

Temporal validity

Comm/DocStyle

Face-to-face

Whiteboarding

Model-based

Page 26: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

26

Requirements

Page 27: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

27

Effects

Late Detection of Quality issues

Incompatible solutions for crosscutting concerns

Page 28: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

28

Reasons

NF requirements implicit

Big Picture?

Feature-based development

Page 29: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

29

“Tooling War”

Page 30: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

30

Effects

Replaceability of teams

Exchangeability of artifacts

Page 31: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

31

Reasons

No rules what tools to use

No decision makers

No training

Page 32: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

32

Vertical SlicesOr

Features vs Components

Page 33: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

33

Component‐based vs Feature‐based

Component-based Feature-based

Team A

Team B

Team C

Team A Team B

Page 34: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

34

Effects

Changing components concurrently

Unintented dependencies

Redundant implementations

Page 35: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

35

Reasons

Little domain expertise

Unclear/No Responsibilities?

No Alignment/Synchronization

Page 36: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

36

Feature‐based & Component‐based

Team A Team B

Team C

Page 37: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

37

“Decoupled code for decoupled teams”

Page 38: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

38

Dependency Control

Glue code generation

Unified implementations

Architecture enforcement

Page 39: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

39

Common Technical Framework Architecture Description

Transformation Chain (Acceleo)

Generated Glue Code 

ManualC++ Code 

Page 40: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

40

Transition: Trend@Deere

Iterative WaterfallPure Agile

Page 41: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

41

Starting Point

Experiences

What have we learned?

Transition towards Agile

Scalability of SW Development

Page 42: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

42

What have we learned?Understand Change

Classify change ‐> Is it architecturally‐relevant?

Costly to change?

Impact on multiple teams?

Impact on many software parts?

Act on Change

Management commitment ‐> Who pays for “infrastructure” change?

Architecture and Agile are not Adversaries

Combine the best of both worlds!

Page 43: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

43

What have we learned?

Unification

Solid basis for scaling development

Agreement on technologies

True commitment to 

architectural rules

Reasonable design “look ahead” 

Check scalability across inhibitors

Architecture

Technologies

Roles

Processes

SW Structures

Page 44: Agile Doesn`t Scale Brian Cronauer ... - SEI Digital Library · US EU #engineers © Fraunhofer IESE 6 ... Comm/Doc –RuleofThumb Temporal validity Comm/Doc Style Face-to-face Whiteboarding

© Fraunhofer IESE

44

ContactDr. Thorsten KeulerPhone: +49 631 6800 [email protected]://architecture.iese.fraunhofer.de

Thank you for yourattention!

… Questions?http://architecture.iese.fraunhofer.de