Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing...

59
Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies) Contents Short introduction speaker SPI (top-down approach)has come to its end? Agile documentation Agile Experiences from Philips Benchmark Agile Tooling Q&A

Transcript of Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing...

Page 1: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Controlled chaos - Producing trustworthy embedded systems using Agile methods

Ko Dooms (Philips Applied Technologies)

Contents

Short introduction speakerSPI (top-down approach)has come to its end?Agile documentationAgile Experiences from Philips

BenchmarkAgile Tooling

Q&A

Page 2: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Meet Ko Dooms

Age: 51 Married with childrenOne grandchildSports: Golf, Darts, Baseball

Work: 26 year PhilipsNow:

Resource Competence manager at Philips Applied Technologies

Then: Software engineer, project leader, group leader, development mgr., project mgr., groups mgr.

Our role within Philips

G.J. Kleisterlee

G. Dutiné P.J. Sivignon S. Rusckowski A. RagnettiR. Provoost Th. van Deursen

Board of Management

Corporate Technologies

R. Harwig

Philips IP&SR. Peters

Philips ResearchR. Harwig

Philips AppliedTechnologies

C. van Uijen

Lighting DAPConsumer Electronics

Medical Systems

Corporate

Page 3: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Key figures

A global, leading technology center• Founded in 1968

A multinational highly qualified workforce of more than 1100 people (+ 150 temporary employees)• University degree ± 700• 6 professors, 135 PhD.• Bachelors & Engineers ± 400• Other type of education ± 100

Sales 2005• EUR 144 million• 80 % internal sales; 20 % external sales

Worldwide representation• 6 Locations spread over North America, Asia Pacific

and Europe

EindhovenSan JoséPittsburghSingaporeBangaloreRedhill

Contents

Short introduction speakerSPI (top-down approach)has come to its end?Agile documentationAgile Experiences from Philips

BenchmarkAgile Tooling

Q&A

Page 4: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)
Page 5: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Agile silver bullet?

DVD development

Never45%

Rarely19%

Sometimes16%

Often13%

Always7%

Are all the requirements used?

Source: Jim Johnson of theStandish Group, Keynote Speech XP 2002

ALL CODE CR/PR's of DXC / Nurnberg / Redhill

0

500

1000

1500

2000

2500

317

319

321

323

325

327

329

331

333

335

337

339

341

343

345

347

349

351

401

403

405

407

409

411

413

415

417

Weeks

Op

en/C

lose

0

20

40

60

80

100

120

140

160PMIOpen

Closed

PMI

Wish PMI

Lots of PR’s/CR’s to handle

Teamwork, Achievement and Hazards

Page 6: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

KEY MESSAGES

Software Process Improvement (SPI) as we know it today has come to its endNeed of courage to rethink1) Drill down to the context - "Think it all"2) Improvement-in-the-small - "Keep thinking"

This leads to a so called "Innovative Leap" 1) 8x faster, 3.5x better, 4.9/5 customer satisfaction2) Lots of process optimitizations during the project

and not only after

LIFE IN THE 1990's

Come on, let' s show you something interesting !

Sorry, got no time.I've got to work!

Software ProcessImprovement

Fact corner:A good process will result in good products

Page 7: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

BENEFITS OF SOFTWARE PROCESS IMPROVEMENT RETHOUGHT

Still, SPI isfairly expensive$11000-$53000/single engineer(Jones,1997)

1000+ studies in the IEEE database alone 0.21% of these

studies showSome concreteROI Figures (vanSolingen, 2004)

Moreover, 70% of the processimprovement projectsfail (SEMA, 2002)

IMPROVEMENT MODELS

Source: http://www.software.org/quagmire/, Aug-2005

Fact corner:If you know which one to take?

Page 8: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Source: Software Engineering Institute, March 2005

SW-CMM 2000-2004, 60% are Non-USA companies

IMPROVEMENT INCALENDAR TIME

20 months (1-->2)

19 months (2-->3)

25 months (3-->4)

Software Engineering Institute's data shows that process capability improvement takes

6.5 years (level 5) or3.25 years (level 3)

No data on capability levels vs. Business success

13 months (4-->5)

Business success?

Source: Software Engineering Institute, March 2005

Page 9: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

The semi market for iDTV products

iDTV: emerging market, many players trying to get in

Fast changing Specs, Fast TTM,Every 12 months new System

High SW re-use,High productivity needed

Lower SW dev. budget& move to ISVs

Highly optimized SW (very expensive)

Software continues to grow exponentially (Like # transistors in ICs !)

iDTV: yet low market volumes,Market doesn’t pay (much) for SW(It’s the square mm that counts!)

Low cost prices for ICs(limited CPU power, limited memory)

Fact corner:We don’t have 5 years

Mgt view on Software

What are all these

Software guysDoing?

SW is always on the critical path

So inflexible!I was told that

software is easy to change

I don’t want large platforms, I need

products

They are only costing money and

don’t bring any !

Software is an immature discipline

Let us simply outsource software

Fact corner: Huge need for fasterImprovement – How? see next slides

Page 10: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

0

5

10

15

20

25

30

35

40

45

1 2 3 4

Project 1

Project 2

Project 3

Project 4

Project 5

What is working in the process?342 positive remarks in the process..

# two-weekwork cycles

Fact corner:SPI people seldom knowwhat is going well!

# of positiveissues

What is working in the process?This document is a report of the reflection on the SmartInstall project until 8/11/2006. The

idea is to gather what is going well, what needs improvement and what steps to take.

Keep this• Flexible purchasing.

The team requires various hardware items and we directly ordered and bought the items we need.

• Experienced teamIt is an experienced team in the area of Motiva, java en Linux. Especially Linux knowledge is essential in this

project.

• Planning via PAT toolThe PAT tool provides a good mechanism to plan, track and manage all tasks to be executed.

• Weekly team meetingThe weekly team meeting is useful to discuss progress, plan next week and problems we hit.

• Flexible with requirementsTeam is flexible in changes to requirements from Nicoline’s team.

• Good understanding between disciplinesGood communication between development team and HCS team resulting in a good cooperation.

• Concept definition is clearThe extensive architecture document and the user scenarios have resulted into a clear starting point of the trial

implementation.

• Expert consultancyUse of external consultancy, like David, Rob and Peter.

• Multiple IPs generatedUsing a problem solving approach

Page 11: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

What is not working in the process?

282 problems in the development process…

# two-weekwork cycles

0

5

10

15

20

25

30

35

40

45

1 2 3 4

Project 1

Project 2

Project 3

Project 4

Project 5

Fact corner:5 projects:8 week development cyclesw/ 10 person months effort

# of negativeissues

What is not working in the process?

Ongoing problems

• Purchase process not suitable for agile projects -> EscalateTo many people involved requires additional communication/effort takes to long

• No transparency on deliveryActual products not cheaper (although additional hours are spend).

• When bypassing purchase (by direct purchase by team members), the team members have to pay personal the purchase

• Projects tracking features missing in PAT. Features like good prints of overview, written hours per week for overall project

• IP responsiveness to low

• Improve progress reporting

• Availability program management.

Page 12: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

0

5

10

15

20

25

1 2 3 4

Project 1

Project 2

Project 3

Project 4

Project 5

Concrete actions taken158 improvement actions, 70 "pure" spi actions

# two-weekwork cycles

Fact corner:Without actions-in-the-small things will not "really" improve

# of improvementactions

Try this• Inventory equipment needs done sooner

The ordering and delivery task much more (lead)time than expected. Solution was to get going earlier already in the

concept phase

• Buy assembled and working products instead of the componentsThe hours spend to assembly the computers highly exceeds the actual hardware coast, because various

unexpected

problems were hit. Solution is to buy assembled and working computers.• Daily standup team -> ALE

Introduce daily standup meeting with team members (including HCS members) to discuss progress last day and plan

coming days.

• Set clear goals task/stories/deliveries -> ALEWith current plan it is not clear who is responsible for integration and finalizing the implements to be ready on a milestone.

• Organize concept phase according normal projectTime was lost during concept phase, because in this phase a clear plan was missing.

• Appoint Nicoline as costumer representationIntroduce more formal milestones by releasing a milestone to Nicoline.

• Formalize stakeholders and their responsibility• Better integration with Installation guide and trail team

Make the dependencies and deliverables between sub-projects more formal. Also integrate project reporting

and risk management.• Do reflections sessions more regularly

Concrete actions taken

Page 13: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

"KEEP THINKING"THE BOTTOM LINE

Fact corner:

"What we should have is a lot of experimentation. Encouraging people to make small improvements every day, to try little things because all big things start small. And then we need to nurture the improvements that are successful.“Gerard Kleisterlee - CEO Philips

Improvement-in-the-small:Return-on-investment becomesirrelevant; The development teamsare optimizing their performance onweekly basis.

800 process findings, 2 per minutein a workshop…

"Prevailing solutions are not always best. As leaders, we should seek to be challenged, to listen more and to empower people to search for better solutions," Theo van Deursen – CEO Philips Lighting

Big Bills start small as well

Microsoft corporation 1978Small

Bill

Page 14: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Contents

Short introduction speakerSPI (top-down approach)has come to its end?Agile documentationAgile Experiences from Philips

BenchmarkContinuous Integration & Agile Tooling

Q&A

Agile documentation with RaPiD7

Ko DoomsRoope Kylmäkoski

Page 15: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

When is a document Agile?

1. Agile documents maximize stakeholder investment

2. Agile documents are “lean and sufficient”.1. Content is more important then the representation

2. Create simple content

3. Agile documents fulfill a purpose

4. Agile documents describe “good things to know”.

5. Agile documents have a specific customer and facilitate the work efforts of that customer.

6. Agile documents are sufficiently accurate, consistent, and detailed

Scott W. Ambler see alsohttp://www.agilemodeling.com/essays/WhyDocument

Contents

BackgroundIntroduction to RaPiD7Results

Page 16: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Background & Related Work

1997-1999 software projects were facing problems in specification work and in inspectionsTherefore, an improved method for specification work was developed in Nokia 1999-2000. This new approach is called RaPiD7RaPiD7 was developed independently based on the feedback from software projectsHowever, similar approaches to RaPiD7 exist such as JAD and Agile ModelingIn year 2000 RaPiD7 was taken into use in some parts of Nokia and then later deployed for Nokia Networks during years 2002-2004.

One View on Software Engineering

Analyze Inspect Design Inspect Implement Test

Valued Adding Software Engineering

Verifying Software Engineering

Page 17: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

The Goal of documentation Work

Documentation work is done in order to…create understandingshare understandingstore the created understanding

And while doing this we want to…have good quality in the specifications, in other words, have no defects in the documentsgain common agreement on the matterdo all this as quickly as possible

Problems of Traditional Approach forAuthoring Documentation

Process described

Document authoring: Document A Inspection phase

Document authoring : Document B Inspection phase

Document authoring: : Document C Inspection phase

Phase starts Phase ends/new phase starts

Person A

Person B

Person C

Persons A,B,C…

Process not usually explicitly described

3) People are not attending the inspections and are not prepared for

the inspections

3) People are not attending the inspections and are not prepared for

the inspections

1) Not setting up a commontheme

on the contents

1) Not setting up a commontheme

on the contents4) The attendees have not

read the material ⇒no common understanding on

the matter

4) The attendees have not read the material ⇒

no common understanding on the matter

5) Inspections concentrate on unimportant details,

mostly negativefeedback

5) Inspections concentrate on unimportant details,

mostly negativefeedback

2) Writing documentstakes

a lot of calendar time

2) Writing documentstakes

a lot of calendar time

time

Fact box: This is still commonpractice in most projects

Page 18: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

The Improved Practice – RaPiD7

time

Process described

Workshop 1 Inspection

Inspection

Inspection

Phase starts Phase ends/new phase starts

Document A

Document B

Document C

Persons A,B,C…

Workshop 2 Workshop 3

Workshop 1 Workshop 2

Workshop 1 Workshop 2

Workshop dates are agreed in

project planning

Workshop dates are agreed in

project planning

Documents (artifacts) are produced in

consecutive workshops

Documents (artifacts) are produced in

consecutive workshopsIf necessary, finally the document produced is inspected by e-mail or having a traditional inspection where the document is briefly checked

If necessary, finally the document produced is inspected by e-mail or having a traditional inspection where the document is briefly checked

Document should be mostly written in the

workshop and accepted at the end of

the workshop by participants

Document should be mostly written in the

workshop and accepted at the end of

the workshop by participants

Fact box: Change from individualtowards interaction wayof working

Layers of RaPiD7

Project layer

Case layerCase layerCase layer

WS layer WS layer WS layer WS layer WS layer WS layer WS layer

Case layer

WS layer WS layer

Case layer

WS layer WS layer

•Project layer: How the method is applied in projects?

•Case layer: How the documents/artifactsare created in consecutive workshops?

•Workshop layer: How the work is carried out in facilitated workshops?

Page 19: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Project Layer

11 22 4433

Official project planning starts End of iteration

Artifact workshop11 Project initialisation workshop

22 Project plan workshop 44 Project plan update / iteration planning workshop

33 Project plan workshop

Project starts

Case Layer

Workshop 1:General project

planning

Workshop 1:General project

planning

Workshop 2:Tasks &

responsibilities

Workshop 2:Tasks &

responsibilities

Workshop 3:risks

Workshop 3:risks

Project planv.0.1

Project planv.0.2

Project planv.1.0

1. Preparation

1. Preparation 1. Preparation

Page 20: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Workshop Layer RaPiD7

Preparation phase

Invitation phase

7. Closing

6. Decisions

2. Kick-off

3. Gathering ideas

4. Analysing ideas

5. Detailed design

1. Preparation

Nextmeeting

Participant Facilitator Participant

Facilitator

Action Points

DocumentFact box: 7 steps, 1 before and6 during workshop

Roles in RaPiD7 Workshops

Facilitator:Workshop process ownerInitiates the set of workshops (or single workshop), takes care of the initial planning, invites people, organizes the workshops and runs the workshops

Secretary:Takes care of recording decisions and results in the workshops

Other roles in the workshop are case dependent

Page 21: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

“…the key factor is the purpose of the documents. Some documents are products themselves, others are internal documents supporting the later development phases and some documents are only back-of-the-napkin sketches supporting a small team with low requirements for the visual form of the documents. The difference is usually about how much of the ready made document can be achieved in the workshops.”

Applicability of the Method

The document is a product

(e.g. newspaper, users guide etc.)

How

muc

h of

the

fina

l doc

umen

t can

be

achi

eved

The document is “back of the napkin sketch”

Typical software project documents Documents used inside a team

External documentation

100%

What Kind of Documents Have Been Created?(Use Survey 2004)

20

13 1312

10 10

8 87

21 1

0

5

10

15

20

25

Act

ion

plan

s

Low

er le

vel

softw

are

spec

ifica

tions

Fea

sibi

lity

stud

ies

Req

uire

men

tsp

ecifi

catio

ns

Tes

t pl

ans

Oth

er

Pro

ject

pla

ns

Arc

hite

ctur

esp

ecifi

catio

ns

Str

ateg

ies

UI p

lans

Cus

tom

erdo

cum

enta

tion

Low

er le

vel

hard

war

esp

ecifi

catio

ns

Type of document

Nu

mb

er o

f re

spo

nd

ents

Page 22: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

When Inspections Are Needed?

In principle, if everything goes right, no inspection is needed, and the inspection is actually a part of the workshop. Sometimes a separate inspection might be required:

The document is a product itself or almost a product and therefore the final document has not been completely authored in the workshops

The document is meant for wider audience than just the people in the workshops and therefore input is needed outside the workshop team

The process requires that inspections are held

Benefits of the Method

Needed calendar time for specification work significantly lower The overall quality of specifications is improvedThe time available is used more efficiently i.e. workshops give visibility for both inefficiency and efficiencyThere is no need to have inspections always nor do heavy corrections after the inspections i.e. less rework Communication in projects is easier and more effectiveBetter understanding within development teamLess personnel risks and more flexibility in assigning people to tasks

Page 23: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Benefits Perceived by People(Nokia Use Survey 2004)

TOP TEN

1. RaPiD7 improves common understanding

2. RaPiD7 increases information sharing and communication

3. RaPiD7 increases team cooperation

4. RaPiD7 speeds up the creation of the documents calendar wise compared to the traditional way

5. The overall quality of the documents is better when using RaPiD7compared to the traditional way

6. RaPiD7 ensures better commitment to project work compared to thetraditional way

7. The use of RaPiD7 decreases the amount of defects found in inspections

8. Inspections are more efficient and focused when the documents have been produced using RaPiD7

9. RaPiD7 decreases the efforts used in producing documents

10. RaPiD7 decreases the time used in inspections

Benefits by Metrics(Nokia Case Study 2004)

TOP FIVE

• Over 6 times less fatal defects in inspections than before

• Efforts for rework decreased over 50% per defect

• Over 50% more efficient defect finding rate

• No specification related defects found in implementation and testing phases

• No delays in project schedule

Page 24: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Challenges

In theory, there is no difference between theory and practice; In practice there is:

Understanding that this only sounds simple, but actually is notTailoring the method and understanding how it can be used for different documentsPlanning the workshops well. It’s in human nature to “just do it”Having enough skilled facilitatorsChanging the general way of working from individual working to team workingWorkshop way of working is not easier; it’s just different

Current Status in Nokia

There are hundreds of users and even more are influenced by the use of the method (i.e. not directly using the method themselves, but participating the workshops)Hundreds of documents have been created using the methodThe anticipated benefits have proven to be systematically true or at least partially true

Page 25: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Wrap Up

RaPiD7: Rapid Production of Documentation in 7 stepsThree layers:

Project layer: RaPiD7 approach is about a conscious decision and planned way of having the workshops as part of the specification workCase layer and workshop layer: RaPiD7 approach is about doing specification work and documenting the results in effective workshops

RaPiD7 provides the framework, steps, techniques and best practices for this work

Contents

Short introduction speakerSPI (top-down approach)has come to its end?Agile documentationAgile Experiences from Philips

BenchmarkContinuous Integration & Agile Tooling

Q&A

Page 26: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Contents

Short introduction speakerSPI (top-down approach)has come to its end?Agile documentationAgile Experiences from Philips

BenchmarkContinuous Integration & Agile Tooling

Q&A

Trial

Characteristics of the trial:Client/Server Software for audio/video playback with Digital Rights ManagementReverse engineering followed by partial redesignDevelopment based on PCP – CMM L3

Page 27: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Project – effort and production

Total Effort: 17,5 man yearsDevelopment Effort:15 man years Management Effort: 1 man yearTest Effort: 1,5 man years

Total Code Size: 422 KSLOCNew code: 176 KSLOCUpdated code: 195 KSLOCUntouched code: 51 KSLOC

Duration: 1 year (by definition)

Benchmark: Productivity

Industry data:Average: 150 SLOC/MMBest-in-class: 750 SLOC/MMPSP: 4000 SLOC/MM

Trial:New code only: 858 SLOC/MMNew + (0.3 * Adapted): 1143 SLOC/MMNew + Adapted: 1809 SLOC/MM

Based on total effort including Management & external Test effort

Page 28: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Benchmark: Defect Injection Rate

Industry data:Average: 7 defects per KSLOCBest-in-class: 3 defects per KSLOCPSP: 0.2 defects per KSLOC

Trial:New code only: 5 defects per KSLOCNew + Adapted: 2 defects per KSLOCNew + Adapted + Untouched:2 defects per KSLOC

Based on reported defects from internal & external test

Benchmark: Customer satisfaction

On a 5 points scale the customer scored:4.9

Customer satisfaction is measured as a survey of 7 questions on:

Having the right competencesMeeting the requirements (did we implement the right features) including handling changesMeeting deadlines and budget

Page 29: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Agile practices and tools used

From the ITEA-Agile project:SoftFab: Automating the build, test and reporting process daily builds, static and dynamic tests, doc generation, statistics: code coverage, confidence level gives focus on the real tasks, automated work environmentRaPiD7: used for IP generation and design documentation Daily integration + weekly release of working softwareInformation Radiator: SoftFab, code size, product start-up time, PR/CR statistics, team organizationCustomer collaboration: Weekly review and discussion with customer

From existing Agile practices but adaptedTDD: make test first, code stays smaller and more efficient Pair programming: on cross component level or difficult partsPair review: buddy system reviewing major implementationsScrum: used during focus time, dead line approachingReflections: team looks back what went well and what can be improved and adapts the process

Contents

ContextScope of the trialsBenchmark resultConclusionQ&A

Page 30: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Conclusion

Benchmark:Productivity increase of 8xQuality 3.5 betterCustomer satisfaction : 4.9 / 5

Agile and CMM can work togetherUse of tools is essential (automated build

and test)Developers are enthusiastic, customer is happy getting weekly releasesExploitation: SoftFab and Project Assist Tool

Contents

Short introduction speakerSPI (top-down approach)has come to its end?Agile documentationAgile Experiences from Philips

BenchmarkContinuous Integration & Agile Tooling

Q&A

Page 31: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Continuous Integration

using SoftFab

Peter JanssenAurora ProjectPhilips Applied

Technologies

Continuous Integration Process

Description from Wikipedia:

“Continuous integration is a software engineering term describing a process that completely rebuilds and tests an application frequently.“

Page 32: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Aurora Project Continuous Integration Setup

SoftFab Integration

Build Server

Aurora Integration Status Light

Continuous Integration Cycle

Developer’s PC

Source code repository

SoftFab Integration

Build Server

1Developer check-in

2Monitor

repository for changes

3Update Build Workspace 4

Execute Build and run tests

5Inform developers of build and test

results

Status: GreenLatest revision built and

tested OK

Status: Green / YellowRepository changes

detected, running tests(previous revision: OK)

Status: RedLatest revision FAILED

predefined test-set:STOP, FIX ASAP!

Status: Red / YellowRepository changes

detected, running tests (previous revision: FAILED)

Status: GreenLatest revision built and

tested OK again

Aurora Integration Status Light

Page 33: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Continuous Integration Best Practices

Maintain a Single Source Repository.Automate the BuildMake Your Build Self-TestingEveryone Commits Every DayEvery Commit Should Build the Mainline on an Integration MachineKeep the Build FastTest in a Clone of the Production EnvironmentMake it Easy for Anyone to Get the Latest ExecutableEveryone can see what's happeningAutomate Deployment

Source: www.MartinFowler.com

Continuous Integration Benefits

Reduced risk during developmentBugs are more easily foundRapid feedback on new software qualityCurrent integration status can be seen by everyone, all the time

Page 34: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Agile Tooling

Meet SoftFab

Questions

Lets interact :=)

Page 35: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Back up material

Ko Dooms

Contents

Agile manifestoShort introduction speakerThe 12 Agile principlesSPI has come to its end?The ITEA Agile projectIntroduction to RaPiD7Agile Experiences from Philips

Page 36: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Contents

Agile manifestoShort introduction speakerThe 12 Agile principlesSPI is over?The ITEA Agile projectIntroduction to RaPiD7Agile Experiences from Philips

THE 12 AGILE PRINCIPLES (1/3)

1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software

2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.

3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to a shorter timescale.

4. Business people and developers must work together daily throughout the project

1. Satisfy customerthrough early andfrequent delivery.

2. Welcome changingrequirements evenlate in the project.

3. Keep delivery cyclesshort (e.g., everycouple of weeks).

4. Business peopleand developers

work together dailythroughout the project.

DESCRIPTION SUMMARY

Fact corner:Principals shouldbe seen as a setof “thinking-tools”

Page 37: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

THE 12 AGILE PRINCIPLES (2/3)

5. Build project around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

6. The most efficient and effective method of conveying information to and within development team is face-to-face conversation.

7. Working software is the primary measure for progress.

8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

5. Build projectsaround motivated

individuals.

6. Place emphasison face-to-face

Communication.

7. Working softwareis the primary

measure of progress.

8. Promote sustainabledevelopment pace.

THE 12 AGILE PRINCIPLES (3/3)

9. Continuous attention to technical excellence and good design enhances agility.

10. Simplicity – the art of maximizing the amount of work not done – is essential.

11. The best architectures, requirements, and designs emerge from self-organizing teams.

12. At regular intervals, the team reflect on how to become more effective, then tunes and adjusts its behavior accordingly.

9. Continuous attentionto technical excellence

and good design.

10. Simplicity isEssential.

11. The best resultsemerge from

self-organizing teams.

12. Team reflectsregularly where

and how to improve.

Page 38: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Source: www.agilemanifesto.org

AGILE VALUES…

Fact corner:Agile manifesto is firstof its kind in the field ofSoftware engineering

Page 39: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

FEATURE USAGE RATE

Never45%

Rarely19%

Sometimes16%

Often13%

Always7%

Source: Jim Johnson of theStandish Group, Keynote Speech XP 2002

Fact corner:> 60% features neveror rarely used!

One In Seven Enterprises Uses Agile, And Other Will Soon Follow

November 2005 Trends “Corporate IT Leads The Second Wave Of Agile Adoption”

Page 40: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Large Enterprise IT Shops Now Lead In The Adoption Of Agile Processes”

November 2005, Trends “Corporate IT Leads The Second Wave Of Agile Adoption”

Large Enterprise IT Shops Now Lead In The Adoption Of Agile Processes”

November 2005, Trends “Corporate IT Leads The Second Wave Of Agile Adoption”

Page 41: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Time-To-Market Concerns Drive Adoption Of Agile Processes

November 2005 Trends “Corporate IT Leads The Second Wave Of Agile Adoption”

Modes of communication

Page 42: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

EFFICIENT DEVELOPMENT SETTING

Customer

Training

- Daily feedback fromthe developers- Communication- Collaboration

Software development activities,tools, people

Results:Working software,rapid delivery,high business value

State-of-the artmethods Process

definitions

Learning

Management

Removesobstacles

Coach / Mentor

supports

Shares end-userneeds & businessrequirements

Learnsneeds

End-users

delivers

Benefits

Provides value

"Think it all":Mobile-D™ for mobile

software

Page 43: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

MOBILE-D FOR MOBILE SOFTWARE

Concept: “From scratch idea to mobile application in 8 weeks” (java or symbian c++ based)Mobile-D is based on Extreme Programming (practices), Crystal methodologies (scalability) and Rational Unified Process (coverage)Designed to meet the specific characteristics of mobile application development & industry quality standardsDesigned for < 10 developers working in co- to closely located office space

CMMI LEVEL 2CERTIFIED

SET-UP WRAP-UPCORE-2CORE STABILIZE

1 WEEK 2 WEEKS 2 WEEKS 2 WEEKS 1 WEEK

THE PRINCIPAL ELEMENTSOF MOBILE-D

Requirements: Off-Site CustomerPlanning: Phasing and pacing in Planning DayModeling: Agile modelingArchitecture: Architecture LineMetrics: Time, size and defectDocumentation: RaPiD7-methodImprovement: Agile Software Process ImprovementEnd-users: User-Centred FocusTesting: Mobile Test-First development

SET-UP WRAP-UPCORE-2CORE STABILIZE

1 WEEK 2 WEEKS 2 WEEKS 2 WEEKS 1 WEEK

Page 44: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Mobile-D: FIT TO STRATEGIC PLANNING

SET-UP WRAP-UPCORE-2CORE STABILIZE

1 WEEK 2 WEEKS 2 WEEKS 2 WEEKS 1 WEEK

STRATEGIC RELEASEPLANNING

RELEASEPROJECT

INCREMENT

HEARTBEAT

Rautiainen &Vähäniitty (2004)

4 CYCLESOF CONTROL

Mobile-D

Mobile-D: FIT TO STRATEGIC PLANNING

SET-UP WRAP-UPCORE-2CORE STABILIZE

1 WEEK 2 WEEKS 2 WEEKS 2 WEEKS 1 WEEK

STRATEGIC RELEASEPLANNING

RELEASEPROJECT

INCREMENT

HEARTBEAT

Rautiainen &Vähäniitty (2004)

4 CYCLESOF CONTROL

Mobile-D

Page 45: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Mobile-D: FIT TO STRATEGIC PLANNING

SET-UP WRAP-UPCORE-2CORE STABILIZE

1 WEEK 2 WEEKS 2 WEEKS 2 WEEKS 1 WEEK

STRATEGIC RELEASEPLANNING

RELEASEPROJECT

INCREMENT

HEARTBEAT

Rautiainen &Vähäniitty (2004)

4 CYCLESOF CONTROL

Mobile-D

Mobile-D: FIT TO STRATEGIC PLANNING

SET-UP WRAP-UPCORE-2CORE

STRATEGIC RELEASEPLANNING

RELEASEPROJECT

INCREMENT

HEARTBEAT

4 CYCLESOF CONTROL

Mobile-D

PLANNINGDAY

WORKINGDAY

RELEASEDAY

Page 46: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

SET-UP WRAP-UPCORE-2CORE STABILIZE

1 WEEK 2 WEEKS 2 WEEKS 2 WEEKS 1 WEEK

PLANNING DAY WORKING DAY RELEASE DAY

Mobile-D: The daily heartbeat

Contents

Agile manifestoShort introduction speaker(s)The ITEA Agile projectIntroduction to RaPiD7Agile Experiences from Philips

Page 47: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

AGILE Project

Introduction &Highlights

ITEA-labeled projectAGILE - Agile development of embedded systems22 partners, 8 countries, 178 person years1.4.2004 – 31.12.2006http://www.agile-itea.org

CONTENTS

BackgroundProject goalsPartnersIndustry sectorsHighlights from 2004Contact information

Page 48: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Background

Agile software development approaches have proven their effectiveness in small-scale application level software development

10-300% increase in productivity, a 250% increase in value delivered to the customer

Other empirically supported benefits include improved implementation & estimation skills, faster product integration, fewer schedule deviations and lower defect density

Project Goal

Develop Agile software development solutions to increase the reliability, productivity and reduce risk of embedded software development

Page 49: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Expected results

• Agile software development framework for embedded systems domain.

• A general methodology of how to apply Agile programming for embedded systems, compliant to CMMI, SPICE, ISO

• Deployment model to enable the use of the agile software development framework

• Industrial experience reports including qualitative and quantitative data, concrete, empirical results and lessons-learned

Partners

Finland

Netherlands

Spain

Slovenia

Belgium

Bulgaria

Italy

France

Application partners Technology partners

Project manager

Page 50: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Industry sectors present

Highlights from 2004

Developed Agile assessment framework, Agile development patterns among others

Successful agile trialsNokia, Barco, Hantro, F-Secure, Philips, Fagor and VTTIncreased understanding about suitable agile practices & solutions

Contributing to an international upcoming IEEE 1648 standard

15 scientific publications

Page 51: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Contact information

For more information, contact

Project manager Pekka Abrahamsson, [email protected], Finland

Deputy managerKo Dooms, [email protected], The Netherlands

http://ww.agile-itea.org

The planning intention

Page 52: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

The reality

Contents

Agile manifestoShort introduction speaker(s)The ITEA Agile projectIntroduction to RaPiD7Agile Experiences from Philips

Page 53: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Experiments with RaPiD7 in Philips

Ko Dooms

Contents

Background Philips Applied TechnologiesThe case for RaPiD7Results

Page 54: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

5 Programs

System in PackageMechatronicsDigital Systems & Technologies

ServicesIndustry Consulting & PES

The Case for RaPiD7

Start small

An important value of our department is writing of patent applications to protect Philips intellectual property

These are started with small two page documents called “white cards”

Page 55: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

An existing patent describes

Background of the inventionProblems or disadvantages overcome with the inventionThe essential feature(s) of the inventionDetailed description of how to build or use the inventionApplications of the invention

Goal workshop

Goal: Generation of x white cards preferable related to Modena technology

Target: 3 a 4 detailed and submitted white cards, + several ideas ready for next ‘workshop’

Page 56: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Agenda workshop (1/2)

13.00-13.10 Opening (Ko)Roles: Facilitator Ko, Secretary Maarten, expectation from othersAgenda agreement, explaining wow, agreement on payments and names of/on generated IP

13.10-13.15 Goal workshop (Ko)13.15-13.20 One sheet introduction to RaPiD7 (Ko)13.20-13.30 Competence overview EMD (Maarten) 13.30-13.40 Domain related patent (Dennis)13.40-14.10 Gathering ideas (all)

Method: yellow stickers + round robin (A3 paper)14.20-14.30 Silent clustering ideas (all) 14.30-14.45 Clustering overview (Ko)14.45-15.00 Break

Agenda workshop (2/2)

15.00-15.45 analyzing clustered ideas (3 groups)Discussion to get clustered idea clear, regrouping or split up of yellow stickers if needed ‘One liners’ describing the ideasCheck ‘One liners’ in Google

15.45-16.30 Creating detailed white card for one liners (3 groups)

IP&S templateSave as draft

16.30-16.45 Break16.45-17.30 Presentation of created ideas (each group 15 minutes)

Fine-tuning and final decision on each ideaSubmit

17.30-17.45 ClosingAction points, follow up

Page 57: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Results workshop

13 white cards written by the team in one afternoonNo home workAll received AC1 statusTeam had very good feeling on the workshop

Fact box: productivity 400%increased

Results workshop

Challenges Common mistakes

Readability by the customer (for example product management and business owners)

Unnecessary documentation produced by inexperienced project people

Being able to cover everything that is required in the document e.g.:What is essential and what isn’tAre the captured items actually describing what the stakeholders of the documentation needWhere do we get the right input

Too little documentation written by experienced project people Experienced people can either be too busy with other tasks or see some aspects as too obvious to be written down

How to keep/make it consistent with other documents or project deliverables, for example code or test scripts

Achieving common understanding of the decisions written down

Page 58: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

Result workshops

# persons total man hours # id's # white cards8 35 80 89 40 76 134 20 25 46 28 44 710 40 54 3

White card RaPiD7 workshops

Next steps

Integrate RaPiD7 into standard software development processNew projects use RaPiD7 as standard documentation methodThere is a facilitator pool that can help you with workshops:

Facilitators: Bas Bergevoet, Dennis Lomans, Alex Vrijsen, Ben van Gompel, PiotrSawicki, Dick Bos and Ko Dooms

Page 59: Controlled chaos - Producing trustworthy embedded systems ... · Controlled chaos - Producing trustworthy embedded systems using Agile methods Ko Dooms (Philips Applied Technologies)

RaPiD7 planning session

Snapshots of

RaPiD7 planning session

at