1 / 18

Agile and Incremental Development of Large Systems: Visualizing Dependencies

This article explores the importance of managing dependencies in complex systems and introduces the concept of visualizing dependencies between system capabilities. It provides examples of dependencies in the development of a system and discusses the benefits of a clear understanding of dependencies.

pcruse
Télécharger la présentation

Agile and Incremental Development of Large Systems: Visualizing Dependencies

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

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

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

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

  5. Alternative view on System Engineering • Clear view of the system • That all parties can understand and 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

  6. Cello5 Anatomy 2003 - 11 - 06 PA13 CADE: WP1 Commercial tool upgrade (ROSE RT, DesignBase : O&M: WP7 DesignBase : Test Realtime 2003) MoM 5.0 (proposal) Req : MR Cello4.3 TC3 Req : MGwR3, inc 7 03mmdd To LSV: 0 WPs that are next On schedule to each other are C5: WP1 Core: WP0 but not started New ClearCase OSE 4.5.1 & GCC O&M: WP1 structure Start: SS7 GUI preparation To LSV: W44 jointly tested. to LSV: W49 On schedule start:031006 Req : MR370 To LSV: W49 C5: WP2 CADE: WP2 Req : ? Shipment 0, w51 New CPP 4.3 TC 4 CADE tools 2 Completed To LSV: 1 start: Req : MR370 To LSV:W3 MSP: WP0 O&M: WP3 Risk Req : MR ClearCase structure Fault management Start: 031124 start: 031117 To LSV: 2 To LSV: W3 Off track O&M: WP2 Req : MR349 Req : MR426? Shipment 1, w04 SS7 GUI simplification Start: To LSV: W10 Req : ? SS7: WP4 Core: WP3 Core: WP8 Core: WP2 Async MTP3BI SCCI RMM part 1 Core adopted to GCC OSE 4.5.2 Integration Start: 030901 Start: 031027 Start: 031103 Start: 031103 MSP: WP2 O&M: WP9 To LSV 040210 MFD framwork + TS device, Upgrade observability To LSV: W11 To LSV: W5 To LSV: W14 Req : CPP4 TR ( DEMO) Req : ? Req : Req : ? Start: Dependency Start: 030901 To LSV: W17 NCH: WP2 NCH: WP3 To LSV: No, delivery Req : CPP4 CR PRI v3 (AAL2) PRI v3 (PHY) Req : MR348 Core: WP4 Core: WP6 Core: WP16 SS7:WP1 - A Start: Start: DB upgrade SPP split Async IP communication SIGTRAN ITU (Complete ITU) To LSV: 040318 To LSV: 040318 improvements ,CMA + EMAS Start: 031020 Start: 031103 Start: 031103 Req : Req : Start: 031006 To LSV: W9 To LSV: W14 To LSV: W19 Critical Path Req : ? Req : Req : To LSV: 040409 Req : MR413, 416, 418, 419 EXTERNAL MSP: WP11 NCH: WP1 NCH: WP6 MSP: WP34 Intel NP - code MFD ver0, MSP - WP Robust AAL5 ISP improvement 1 MFD Ver1 Montavista OS connection & 64 link (SPAS) CADE: WP3 SS7:WP2 Core: WP10 Start: Start: Req : ? (AAL1) CADE tools 3 64 - link support Trace & Debug Start: To LSV: W19 To LSV:W19 Start: Req : MR348 Start: Start: 030901 Start: 040301 Lawful Interception To LSV: 040318 Req : MR348, MR403 Req : To LSV: 040318 To LSV: W18 To LSV: 040130 To LSV: W18 Req : Req : MR Req : MR350 Req : NCH: WP4 CADE: WP4 Core: WP7 CLI data (AET) Ext. CADE release 4 HW fault detection and basic test environment SS7: WP1 - B Start: Start: IP: WPJTa Joint Function Test of IP SIGTRAN ANSI (complete)+ start: 031027 To LSV: 040318 To LSV: W22 WPS - FOC, CMA + EMAS Req : Req : MR To LSV: W17 Included WPs : Start: 040322 Req : MR423, 353 IP: WP1,3,5,6,9 040604 To LSV: MSP: 10 Req : MR413, 416, 418, 419 Start: To LSV:W17 Req : MR332 C5: WP6 CR: UABtr17479 Shipment 2, W21 Reduction of RAM usage MSP: WP1 Start: SW loading To LSV: Reg : MR362 Start: To LSV: W25 Core: WP5 Core: WP13 Req : MR349 CPI RMM improvement 2 Start: 040315 Start: 040130 To LSV: W22 To LSV: W24 NCH: WP5 Reg : MR387 Req : NCH: WP7 PRI v3 (AET) PRI v3 & Preload FPGA (Equip) MSP: WP15 MSP: WP521 C5: WP3 Start: System upgrade, MSP - WP MFD version 2 + LI ISP, system upgrade Start: To LSV: 040430 O&M ? SS7: WP1 - D Req : Start: Start: To LSV: 040422 TTC Req : Start: To LSV: W25 To LSV: W25 Start:040329 Req : MR431 Req : MR349 To LSV: W25 To LSV 040702 Reg : MR430, 431, 432 Req : MR413, 416, 418, 419 NCH: WP12 NCH: WP13 ISP improvement 1 ISP improvement (SPAS) (AAL2) Core: WP11 Overload protection Start: Start: Start: 040105 SS7: WP1 - C To LSV: 040518 To LSV: 040518 SIGTRAN China Req : Req : To LSV: W24 Req : MSP: WP51 Start: 040412 TRFO version1 To LSV: 040625 report RFCI, act/ deact SC Req : MR413, 416, 418, 419 RA updates Start: To LSV: W33 Req : MR409 Shipment 3, w 27 MSP: WP14 HW diagnostics Start: Core: WP18 To LSV: W33 End support of PRI - version Req : MR28 1,2 NCH: WP8 OVLP (AAL015) Start: Start: To LSV: Reg : internal To LSV: ? NCH: WP14 Req : PRI v3 (AAL015) NCH: WP10 CADE: WP5 Start: Improved PM (PHY) CADE release 5 To LSV: 040618 Req : Start: Start: To LSV: 040618 To LSV: Req : C5: WP7 Req : MR ISP, characteristics measurements Start: Core: WP17 Core: WP1 NCH: WP11 To LSV: GPB - GX & PQII PQ2 driver Improved PM (AET) Reg : MR427 Start: Start: 031020 Start: IP: WPJTb To LSV: W27 To LSV: W23 To LSV: 040709 Joint Function Test of IP O&M: WP12 Req : ? Req : Req : MR350 MoM 5.2 (final) Included WPs : Start: IP: WP2,7,8,10,11,12,13 To LSV: NCH: WP1 SS7: WP5 Start: To LSV: W29 C5: WP9 Req : MR340 CBU merge S tart : O&M: WP13 MoM 5.3 (proposal) To LSV: W40 Req : CPP4 CR MSP: WP522 Start: Shipment 4, w35 TRFO version 2 To LSV: Start: To LSV: W40 Core: WP14 Core/CADE:WP8 Req :MR409 Start up tests GPB Ext. CEDE release 5 SS7: WP7 Start: 031201 start: CPI To LSV: W35 to LSV: Core: WP12 SS7: WP6 Req : MR28 Start: 030901 Req : MR ISP logging Overload protection To LSV: 040917 SAAL Reg : MR387 Start: 040202 IP: WPJTc Start: 040202 To LSV: W35 Joint Function Test of IP Req : To LSV: 040917 Req : MR421 Included WPs : O&M: WP4 SS7: WP11 NCH: WP15 NCH: WP16 NCH: WP17 IP: WP2,4,8 MoM 5.3 (final) Joint Test 64 - Link HW Diagnostics (Board) HW Diagnostics (Board) HW Diagnostics (Board) Start: Support Start: Start: Start: To LSV: Start: Start: To LSV: To LSV: To LSV: To LSV: Req : Req : Req : To LSV: W40 Req : MR350 Req : MR340 Shipment 5, w42 PRA, W51

  7. Developing ∆ capabilities

  8. 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

  9. D 6.0 7.0 + = NewSystem OldSystem System Development: ~ 10-20 months ~ 100-300 people The Context Complex Large Scale Development • 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

  10. The General Idea Develop the system in many small steps! Design, implementation & test of changes (D) D D D D D D D 27 16 17 18 19 20 21 ... .... Working System Version: System Test (in target environment) WorkingSystemQualities < 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

  11. ~ 200 persons Week For large systems, sequential incremental development doesn’t work! 6.0 6.1 7.0 6.3 6.2 6.15 D D D D + = + = + = + = 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

  12. D D D Week But developing increments in parallel works! 6.0 6.1 7.0 6.3 6.2 6.15 D D D D + = + = + = + = 0 2 4 6 30 32 Mastering parallel incremental development is the key to successful stepwise development of large systems

  13. Where&How? E 4.0 D D D D D D D D D D D D E 5.0 When&Who? What&Why? D GO D Anatomy Integration Driven Development E 3.0 E 4.0 System ofIntegrated Systems: Integration Test Formal Verification D D team D D team MergeCorrections D D team D D team D D team 27 11 21 15 16 17 18 19 20 12 ... .... Working System Version: System Test (in target environment) • Three Development Principles: • Work is divided into verifiable system changes • Teams have an end-to-end responsibility • Teams do verification before integration WorkingSystemQualities 2 weeks .... Time

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

  15. D Manager Plans Specification Team Specifications Needed System Change D System Development Team New System Version Design Team  Test Team Design Team    Trouble Reports  Components 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 ofspecialist teams delivering parts to each other

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

  17. Where&How? E 4.0 D D D D D D D D D D D D E 5.0 When&Who? What&Why? D GO D Anatomy Integration Driven Development E 3.0 E 4.0 System ofIntegrated Systems: Integration Test Formal Verification D D team D D team MergeCorrections D D team D D team D D team 27 11 21 15 16 17 18 19 20 12 ... .... Working System Version: System Test (in target environment) • Three Development Principles: • Work is divided into verifiable system changes • Teams have an end-to-end responsibility • Teams do verification before integration WorkingSystemQualities 2 weeks .... Time

  18. 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 long-lasting, 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.

More Related