Agile and Incremental Development of Large Systems The

  • Slides: 18
Download presentation
Agile and Incremental Development of Large Systems The Anatomy – Visualizing dependencies between needed

Agile and Incremental Development of Large Systems The Anatomy – Visualizing dependencies between needed system capabilities Lars Taxén Linköping University Ulrik Pettersson Saab Aerosystems

The system to be developed • …. • Design/ Build Hubble Window is not

The system to be developed • …. • Design/ Build Hubble Window is not visible! • Construct Hardware • Design / build Mission Control Table • …. PAGE 2

The Anatomy What capabilities are needed and how do they depend on each other

The Anatomy What capabilities are needed and how do they depend on each other ?

SW upgrade during traffic Operation and Management HW/SW info Call path tracing Traffic connection

SW upgrade during traffic Operation and Management HW/SW info Call path tracing Traffic connection DCH connection supervision Softer handover DCH Multi code Hard handover Multi DCH Radio link DCH User data process Start MMI Soft handover Single DCH radio link DCH Single code Fast power control Element management platform Fast congestion control Cell capacity supervision FACH Ack. Java execution platform FACH/RACH connection AAL 5/IP packaging and encapsulating SMS broadcast DCH Power control FACH Process user data RACH Transport channel IP support Iub data stream setup/release “The most important thing when working with complex system is to manage dependencies” DCH Synchronization BCCH User data process FACH Power control BCCH Power control DCH setup/release BCCH setup/release RACH setup/release FACH setup/release PCH User data process PCH Power control PCH setup/release Cell measurement. Setup of RBS/RNC control link report to RNC RX diversion AAL 2 network connection control The anatomy shows dependencies between capabilities Node synch. Cell processing setup/release Resource auto configuration System upgrade Scalable execution SW key handling De-block HW (incl. Self test) Application SW load Network synch. incl. Distr. CMsupport Physical line termination FM support Distributed OS Local execution platform Power on LED handling Application hook SAAL layer AAL 2 layer AAL 5 layer Node connection control PM support

Alternative view on System Engineering Clear view of the system • • That all

Alternative view on System Engineering Clear view of the system • • That all parties can understand agree upon Well defined target Focus on managing dependencies in the system • Re-focus from activities, method and process to the system Visualization of progress in the system • • More important to understand WHAT to deliver than HOW Planning based on capability growth in the system Arena for collaboration based on common understanding Enables parallel development Benefits increase with complexity of the system PAGE 5

Cello 5 Anatomy 2003 -11 -06 PA 13 CADE: WP 1 Commercial tool upgrade

Cello 5 Anatomy 2003 -11 -06 PA 13 CADE: WP 1 Commercial tool upgrade (ROSE RT, Test Realtime 2003) Req : MR Design. Base : Cello 4. 3 TC 3 To LSV: 0 O&M: WP 7 Mo. M 5. 0 (proposal) Req : Design. Base : MGw. R 3, inc 7 03 mmdd WPs On schedule On C 5: WP 1 New Clear. Case structure Core: WP 0 OSE 4. 5. 1 & GCC Start: To LSV: W 44 but not started schedule Completed C 5: WP 2 New CPP 4. 3 TC 4 CADE: WP 2 CADE tools 2 To LSV: 1 start: Req : MR 370 To LSV: W 3 Req : MR Risk to LSV: W 49 Req : MR 370 that are next to each other are O&M: WP 1 SS 7 GUI preparation jointly tested. start: 031006 To LSV: W 49 Req : ? Shipment 0, w 51 MSP: WP 0 Clear. Case Off track Shipment 1, w 04 O&M: WP 3 Fault management structure Start: 031124 start: 031117 To LSV: 2 Req : MR 349 To LSV: W 3 Req : MR 426? O&M: WP 2 SS 7 GUI simplification Start: To LSV: W 10 Req : ? SS 7: WP 4 Async MTP 3 BI SCCI Start: 030901 To LSV 040210 Req : CPP 4 TR Integration Dependency Core: WP 3 RMM part 1 Core: WP 8 OSE 4. 5. 2 Core: WP 2 Core adopted to GCC Start: 031027 Start: 031103 To LSV: W 11 Req : ? To LSV: W 14 Req : To LSV: W 5 Req : ? MSP: WP 2 MFD framwork (DEMO) O&M: WP 9 Upgrade observability + TS device, Start: 030901 SS 7: WP 1 -A SIGTRAN ITU (Complete ITU) improvements , CMA + EMAS Start: 031006 Critical Path To LSV: 040409 NCH: WP 2 PRI v 3 (AAL 2) NCH: WP 3 PRI v 3 (PHY) Start: To LSV: 040318 Req : NCH: WP 6 ISP improvement 1 (SPAS) Core: WP 4 DB upgrade Core: WP 6 SPP split Core: WP 16 Async IP communication Start: 031020 Start: 031103 To LSV: W 9 Req : ? To LSV: W 14 Req : To LSV: W 19 Req : CADE: WP 3 CADE tools 3 SS 7: WP 2 64 -link support Core: WP 10 Trace & Debug NCH: WP 1 Robust AAL 5 connection & 64 link (AAL 1) Start: 030901 Start: 040301 Start: To LSV: W 18 Req : MR To LSV: 040130 Req : MR 350 To LSV: W 18 Req : To LSV: 040318 Req : To LSV: No, Req : MR 348 Req : MR 413, 416, 418, 419 SS 7: WP 1 -B SIGTRAN ANSI (complete)+ WPS -FOC, CMA + EMAS To LSV: 040318 Req : Core: WP 7 HW fault detection and basic test environment NCH: WP 4 CLI data (AET) start: 031027 To LSV: 040318 Req : MSP: WP 11 MFD ver 0, MSP Start: To LSV: W 19 Lawful Interception Req : MR 348, MR 403 To LSV: W 19 Req : MR 348 -WP Start: IP: WPJTa Joint Function Test of IP To LSV: W 22 Req : MR Included WPs : IP: WP 1, 3, 5, 6, 9 MSP: 10 Req : MR 413, 416, 418, 419 Start: To LSV: W 17 Req : MR 332 C 5: WP 6 Reduction of RAM usage CR: UABtr 17479 Shipment 2, W 21 Start: MSP: WP 1 SW loading To LSV: Reg : MR 362 SS 7: WP 1 -D TTC Start: 040329 To LSV 040702 Req : MR 413, 416, 418, 419 MSP: WP 34 MFD Ver 1 CADE: WP 4 Ext. CADE release 4 Start: To LSV: W 17 Req : MR 423, 353 Start: 040322 To LSV: 040604 EXTERNAL Intel NP -code Montavista OS Req : ? Start: To LSV: W 17 Req : CPP 4 CR delivery Start: Core: WP 13 CPI Core: WP 5 RMM improvement 2 Start: 040315 Start: 040130 To LSV: W 22 Reg : MR 387 To LSV: W 24 Req : To LSV: W 25 Req : MR 349 NCH: WP 7 PRI v 3 & Preload FPGA (Equip) C 5: WP 3 ISP, system upgrade O&M ? Start: MSP: WP 15 System upgrade, MSP To LSV: 040430 Req : To LSV: 040422 Req : Start: NCH: WP 5 PRI v 3 (AET) To LSV: W 25 Reg : MR 430, 431, 432 SS 7: WP 1 -C SIGTRAN China NCH: WP 12 ISP improvement 1 (SPAS) NCH: WP 13 ISP improvement (AAL 2) Start: To LSV: 040518 Req : -WP Start: To LSV: W 25 Req : MR 431 To LSV: W 25 Req : MR 349 Core: WP 11 Overload protection Start: 040105 To LSV: W 24 Req : Start: 040412 MSP: WP 51 TRFO version 1 report RFCI, act/ RA updates Start: To LSV: W 33 Req : MR 409 To LSV: 040625 Req : MR 413, 416, 418, 419 Shipment 3, w 27 Core: WP 18 End support of PRI 1, 2 MSP: WP 521 MFD version 2 + LI Start: -version NCH: WP 8 OVLP (AAL 015) Start: deact SC MSP: WP 14 HW diagnostics Start: To LSV: W 33 Req : MR 28 Start: To LSV: Reg : internal To LSV: ? Req : NCH: WP 14 PRI v 3 (AAL 015) NCH: WP 10 Improved PM (PHY) Start: To LSV: 040618 Req : C 5: WP 7 ISP, characteristics measurements CADE: WP 5 CADE release 5 Start: To LSV: 040618 Req : To LSV: Req : MR Start: To LSV: Reg : MR 427 Core: WP 17 GPB -GX & PQII Core: WP 1 PQ 2 driver NCH: WP 11 Improved PM (AET) Start: 031020 Start: To LSV: W 27 Req : MR 350 To LSV: W 23 Req : ? To LSV: 040709 Req : IP: WPJTb Joint Function Test of IP O&M: WP 12 Mo. M 5. 2 (final) Included WPs : IP: WP 2, 7, 8, 10, 11, 12, 13 NCH: WP 1 SS 7: WP 5 Start: To LSV: W 29 Req : MR 340 C 5: WP 9 CBU merge S tart : O&M: WP 13 Mo. M 5. 3 (proposal) To LSV: W 40 Req : CPP 4 CR MSP: WP 522 TRFO version 2 Shipment 4, w 35 Start: 031201 Core/CADE: WP 8 Ext. CEDE release 5 SS 7: WP 7 CPI Start: 030901 To LSV: 040917 Reg : MR 387 start: Core: WP 12 ISP logging to LSV: Req : MR SS 7: WP 6 Overload protection SAAL Start: 040202 To LSV: W 35 Req : To LSV: 040917 Req : MR 421 SS 7: WP 11 Joint Test 64 Support Start: To LSV: Req : MR 350 -Link NCH: WP 15 HW Diagnostics (Board) NCH: WP 16 HW Diagnostics (Board) NCH: WP 17 HW Diagnostics (Board) Start: To LSV: Req : Shipment 5, w 42 PAGE 6 To LSV: W 40 Req : MR 409 Core: WP 14 Start up tests GPB To LSV: W 35 Req : MR 28 Start: IP: WPJTc Joint Function Test of IP Included IP: WP 2, 4, 8 WPs : O&M: WP 4 Mo. M 5. 3 (final) Start: To LSV: W 40 Req : MR 340 PRA, W 51

Developing ∆ capabilities PAGE 7

Developing ∆ capabilities PAGE 7

Agile and Incremental Development of Large Systems Integration Driven Development – Managing incremental development

Agile and Incremental Development of Large Systems Integration Driven Development – Managing incremental development with the anatomy Lars Taxén Linköping University Ulrik Pettersson Saab Aerosystems

The Context Complex Large Scale Development 6. 0 + D = 7. 0 New

The Context Complex Large Scale Development 6. 0 + D = 7. 0 New System Old System Development: ~ 10 -20 months ~ 100 -300 people Development complexity mainly due to: § Many people from different development sites involved § The system is part of an even larger system of inter-connected systems § The system is in operation PAGE 9

The General Idea Develop the system in many small steps! Design, implementation & test

The General Idea Develop the system in many small steps! Design, implementation & test of changes (D) D Working System Version: . . D 16 D 17 18 D D 19 20 D D 21 . . . 27 System Test (in target environment) Working System Qualities < 2 weeks . . Each new step: § is the realization of a planned system change (D) § results in a working system version ready for advanced tests in target environment § is made within a few weeks PAGE 10

For large systems, sequential incremental development doesn’t work! ~ 200 persons 6. 0 +

For large systems, sequential incremental development doesn’t work! ~ 200 persons 6. 0 + D = 6. 1 + D = 6. 2 + D = 6. 3 6. 15 + D = 7. 0 Week 0 2 4 6 30 32 Limiting system changes to be “something that can be designed, integrated and tested within two weeks” will make the process slow and inefficient. This since we neither can define nor coordinate “two week changes” that will involve and make use of all our resources in an efficient way PAGE 11

But developing increments in parallel works! D D D 6. 0 + D =

But developing increments in parallel works! D D D 6. 0 + D = 6. 1 + D = 6. 2 + D = 6. 3 6. 15 + D = 7. 0 Week 0 2 4 6 30 Mastering parallel incremental development is the key to successful stepwise development of large systems PAGE 12 32

Integration Driven Development System of Integrated Systems: Wher e & How? E 3. 0

Integration Driven Development System of Integrated Systems: Wher e & How? E 3. 0 E 4. 0 Integration Test Formal Verification E 4. 0 What & Why? D D D E 5. 0 D D D Anatomy D When & Who? D D team GO D Working System Version: D team Merge Corrections D team 11 12 . . 15 16 17 18 19 20 21 . . . 27 System Test (in target environment) Three Development Principles: 1. Work is divided into verifiable system changes 2. Teams have an end-to-end responsibility 3. Teams do verification before integration Working System Qualities 2 weeks . . Time PAGE 13

Development Principle #1 Work is divided into verifiable system changes The scope for a

Development Principle #1 Work is divided into verifiable system changes The scope for a system release is divided into small and verifiable system changes (D) instead of distributed on organisational units, sub-systems and components. Work D D D D- anatomy PAGE 14

Development Principle #2 Teams have an end-to-end responsibility We have cross functional teams with

Development Principle #2 Teams have an end-to-end responsibility We have cross functional teams with an end-to-end responsibility for the realisation of a new system version instead of specialist teams delivering parts to each other D Manager Plans Specification Team Needed System Change Specifications Design Team Trouble Reports PAGE 15 System Development Team New System Version Components Test Team D

Development Principle #3 Teams do Verification Before Integration Teams do stepwise integration of verified

Development Principle #3 Teams do Verification Before Integration Teams do stepwise integration of verified system qualities instead of “big bang” integration of unverified components “Big bang” integration of unverified components Stepwise integration of tested system qualities 4 copy 3 copy 2 copy 1 PAGE 16 2 1

Integration Driven Development System of Integrated Systems: Wher e & How? E 3. 0

Integration Driven Development System of Integrated Systems: Wher e & How? E 3. 0 E 4. 0 Integration Test Formal Verification E 4. 0 What & Why? D D D E 5. 0 D D D Anatomy D When & Who? D D team GO D Working System Version: D team Merge Corrections D team 11 12 . . 15 16 17 18 19 20 21 . . . 27 System Test (in target environment) Three Development Principles: 1. Work is divided into verifiable system changes 2. Teams have an end-to-end responsibility 3. Teams do verification before integration Working System Qualities 2 weeks . . Time PAGE 17

Conclusions Combination of rigorous planning with agile development The anatomy visualizes how capabilities in

Conclusions Combination of rigorous planning with agile development The anatomy visualizes how capabilities in the system depend on each other • the most important things when developing complex systems The importance of shared or common understanding • cannot be overestimated The approach is hard to implement, and requires a longlasting, committed effort to “stick” in the organization If there are many agile teams or “sprints” going on simultaneously, and all teams deliver parts of the same system, then it’s necessary to spend time on how to coordinate these teams.