How to Break Mammoth-Sized Projects into Bite-Sized Pieces Esther - - PowerPoint PPT Presentation

how to break mammoth sized projects into bite sized pieces
SMART_READER_LITE
LIVE PREVIEW

How to Break Mammoth-Sized Projects into Bite-Sized Pieces Esther - - PowerPoint PPT Presentation

How to Break Mammoth-Sized Projects into Bite-Sized Pieces Esther Johnson and Kevin Nguyen Northrop Grumman SEI Architecture Technology User Network Conference, Wednesday, 18 May2011, Architecture is Not Just for Architects Approved for Public


slide-1
SLIDE 1

SEI Architecture Technology User Network Conference, Wednesday, 18 May2011, Architecture is Not Just for Architects Approved for Public Release, Control No. 11-0359 , dtd. 11-04-05

How to Break Mammoth-Sized Projects into Bite-Sized Pieces

Esther Johnson and Kevin Nguyen

Northrop Grumman

slide-2
SLIDE 2

SEI Architecture Technology User Network Conference, Wednesday, 18 May2011, Architecture is Not Just for Architects Approved for Public Release, Control No. 11-0359 , dtd. 11-04-05

Overview

  • Avoiding typical software development problems
  • Accurately design the intended system based on the acquired

requirements

– Capturing customer requirements

  • Translating the requirements
  • Trace Requirements
  • Transition from Systems to Software
  • Architecture Development Process
  • Experiences
  • Customer Comments

2

slide-3
SLIDE 3

SEI Architecture Technology User Network Conference, Wednesday, 18 May2011, Architecture is Not Just for Architects Approved for Public Release, Control No. 11-0359 , dtd. 11-04-05

Most Common Reasons for Software Project Failure

  • Poor communication among stake holders in order to understand a

project requirements

  • Poor planning on resources and activities
  • Poor quality control
  • Poor estimation
  • Poor risk identification and management

3

If you don’t understand what the Customer wants, you can’t build it.

slide-4
SLIDE 4

SEI Architecture Technology User Network Conference, Wednesday, 18 May2011, Architecture is Not Just for Architects Approved for Public Release, Control No. 11-0359 , dtd. 11-04-05

4

Today’s Systems of Systems Are Too Complex To Play “Bring Me A Rock”

class_5_copy class_3 class_1_copy_copy_0 Externals::AppFramework class_1_copy class_4_copy Externals::UI_SMap Key, T, Compare, Allocator UI_SMap::Key UI_SMap::Allocator 1 1 UI_SMap::Compare 1 1 UI_SMap::T 1 1 1 1 class_1_copy_copy Externals::SocketUDP class_2_copy 1 1 1 1 class_0_copy_1 1 1 1 1 class_0 class_0::class_2 Externals::UI_SVector T, Allocator UI_SVector::Allocator UI_SVector::T class_3_copy class_5_copy_0 class_1_copy_copy_2 1 1 1 1 class_1 1 1 1 1 1 1 class_0_copy_0 1 1 class_0_copy_5 class_0_copy_2 1 1 1 1 1 1 class_0_copy 1 1 1 1 class_4 1 1 1 1 1 1 class_5 Externals::Allocator T Allocator::T class_2 1 1 1 1 class_0_copy_3 1 1 1 1 class_1_copy_1 class_1_copy_0 Externals::OS_Database arg1 OS_Database::arg1 class_0_copy_4 Externals::Index T Index::T 1 1 1 1 class_2_copy_0 class_1_copy_copy_1 1 1 Externals::SocketInterface 1 1 1 1 1 1

slide-5
SLIDE 5

SEI Architecture Technology User Network Conference, Wednesday, 18 May2011, Architecture is Not Just for Architects Approved for Public Release, Control No. 11-0359 , dtd. 11-04-05 5

  • Traditional Systems and Software Architecture Processes Are

Stressed To Meet Demands Of Software Intensive Service Oriented Architecture Systems

  • Sustainable Architecture Goals:

– Increase “Visual Bandwidth” To Improve SE-SWE Communication from womb to tomb – Work At Higher Level Of Abstraction To Manage Large-scale System Complexity – Demonstrate Correct Functionality/Performance Early In Lifecycle Using Models – Enable Process Automation And Performance Analysis Via Smart, Integrated Toolset – Early Involvement Of Test And Stakeholder Communities

Sustainable Architecture Development–Motivation

Visualization Application Application App App App App App App Common Services Integrated Infrastructure Communication Hardware/OS

Redefine the Way We Design and Build Systems of Systems

slide-6
SLIDE 6

SEI Architecture Technology User Network Conference, Wednesday, 18 May2011, Architecture is Not Just for Architects Approved for Public Release, Control No. 11-0359 , dtd. 11-04-05

Northrop Grumman’s Architecture in Practice

  • Exploits a sustainable Model Driven Architecture

Development Processes

  • Provides the framework to support customers,

management, and architects working towards common goals

  • Provides tangible steps and example artifacts to allow

architects to clarify requirement understanding with various stakeholders

  • Encourages customer input/feedback
  • Iterative process helps to catch design deficiency early
  • Endows customers, managers, architects, and

developers with the same understanding of the requirements by illustrating the architecture in a concise, common language

6

Project Manager Customer Architect Success

Keys to Success

slide-7
SLIDE 7

SEI Architecture Technology User Network Conference, Wednesday, 18 May2011, Architecture is Not Just for Architects Approved for Public Release, Control No. 11-0359 , dtd. 11-04-05

Model Driven Architecture Development Highlights

7

Input Document Purpose Collaboration Customer Requirements Understand customer’s requirements

  • System Engineers work with customers to understand their

requirements

  • Start a concept model to support the effort of breaking the

system requirements to hardware, and software requirements System Hardware/ Software Requirements Initial architecture with CSCIs

  • System Engineers work with Senior architects and Test

engineers to convey knowledge as well as clarification of any misunderstanding

  • Refine/derive requirements
  • Develop test plan

System Software Requirements Expand the model to CSCs

  • Software Engineers and Architects work with Subject Matter

Expert to further breaking the architecture down to CSCs

  • Generate ICDs and data information
  • Refine test plan

ICDs Develop Interfaces

  • SMEs support software engineers to design and develop

interfaces for internal/external interfaces Test plan Verify/Validate design

  • Software engineers, and test engineers collaborate to verify the

system performs as expected

slide-8
SLIDE 8

SEI Architecture Technology User Network Conference, Wednesday, 18 May2011, Architecture is Not Just for Architects Approved for Public Release, Control No. 11-0359 , dtd. 11-04-05

Key Ingredients in Model Driven Architecture Development

8

Input Process Artifacts Manage Presentation

  • Each of the phase of architecture development

revolves around this circle of activities

  • Horizontally, these steps allow architects to

absorb input from both customers and managers which leads to customer satisfaction and align the design with a corporate product line

  • Vertically, this process allows technical experts such as system

engineers, architects, software engineers and test engineers to work in lock steps

  • The project is built on top of the previous success step
  • Collective efforts are deposited in one elaborated system architecture

which is used to generate appropriate documentation each phase

slide-9
SLIDE 9

SEI Architecture Technology User Network Conference, Wednesday, 18 May2011, Architecture is Not Just for Architects Approved for Public Release, Control No. 11-0359 , dtd. 11-04-05

9

General Architecture Process Flow

BMC2 Create_Mission _Plan Create_Detailed_ Route_Plan «include» Create_Sensor _Plan «include» «include» «include» MissionCrewMember MissionCrewMember Sensor Sensor Fixed Target Indication data is processed. Proces s FTI_Data A stopped track is created (automatically, or manually) for the FTI data receiv ed. StoppedTrackInitiated Continuous scans of the area containing the stopped track are performed in GMTI mode. PerformGMTIScans GMTI data is correlated to detect mov
  • ement. If mov
ement is confirmed, the track transitions to a confirmed mov er. MonitorForMovement The stopped track is transitioned to a mov ing track. Des ignateConfirmedMover An alert is generated to notify the operator of the track's change in status. GenerateOperatorAlert Movem ent [res ult=="N o"] [res ult=="Yes "] [res ult=="N o"] [res ult=="Yes "] Attempt to associate FTI with existing tracks As s ociateFTI As s ociated [res ult=="N o"] [res ult=="N o"] Maintain track as Stopped. StoppedTrackMaintained [res ult=="Yes "] [res ult=="Yes "]

Input Rqts Model System Behavior

AOC «Actor» AOC «Actor» 1 1 AOC «Actor» AWACS «Actor» AWACS «Actor» 1 1 AWACS «Actor» GlobalHawk «Actor» GlobalHawk «Actor» 1 1 GlobalHawk «Actor» 1 1 1 1 E10A 1 1 1 1 E10A 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 SpaceAsset «Actor» SpaceAsset «Actor» 1 1 SpaceAsset «Actor» 1 1 LandNet «Actor» LandNet «Actor» 1 1 1 1 LandNet «Actor» 1 1 ForceNet «Actor» 1 1 1 1 ForceNet «Actor» ForceNet «Actor» 1 1 DCGS «Actor» DCGS «Actor» 1 1 1 1 DCGS «Actor» 1 1 E-10A Context Diagram WeaponSystem «Actor» 1 1 WeaponSystem «Actor» 1 1 WeaponSystem «Actor» 1 1 1 1 JointStars «Actor» 1 1 JointStars «Actor» JointStars «Actor» 1 1 AOC «Actor» AOC «Actor» 1 1 AOC «Actor» AWACS «Actor» AWACS «Actor» 1 1 AWACS «Actor» GlobalHawk «Actor» GlobalHawk «Actor» 1 1 GlobalHawk «Actor» 1 1 1 1 E10A 1 1 1 1 E10A 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 SpaceAsset «Actor» SpaceAsset «Actor» 1 1 SpaceAsset «Actor» 1 1 LandNet «Actor» LandNet «Actor» 1 1 1 1 LandNet «Actor» 1 1 ForceNet «Actor» 1 1 1 1 ForceNet «Actor» ForceNet «Actor» 1 1 DCGS «Actor» DCGS «Actor» 1 1 1 1 DCGS «Actor» 1 1 E-10A Context Diagram WeaponSystem «Actor» 1 1 WeaponSystem «Actor» 1 1 WeaponSystem «Actor» 1 1 1 1 JointStars «Actor» 1 1 JointStars «Actor» JointStars «Actor» 1 1

Model Component Interaction

Milestone Review

Model System Structure

E10A E10A 1 1 1 1 1 1 BMC2Subsystem 1 1 PlatformSubsystem 1 1 1 1 PlatformSubsystem MPRTIP MPRTIP

Capture System Requirements Model Domain Information Model System Environment

ENV manageConstellationPlanning(SurveillanceCollRequest) :ISRManagem entAndMonito ring manageConstellationPlanning(SurveillanceCollRequest) taskingResponse() processCCP(ConstellationCollectionPlan) taskingResponse() processCCP(ConstellationCollectionPlan) :Constellation CollectionPla nning manageCollectionPlan(ConstellationCollectionPlanRequest) manageCollectionPlanReply() manageCollectionPlan(ConstellationCollectionPlanRequest) manageCollectionPlanReply()

Allocate functionality, define component interfaces Capture system knowledge Analyze customer requirements, develop derived requirements Define System boundary, external Actors, Interfaces With allocations to components

:GlobalHawk :WeaponSyst em :MissionCrew Member message_5() :Target message_5() message_0() :BMC2 message_2() message_4() message_6() message_7() message_8() message_9() message_0() message_2() message_4() message_6() message_7() message_8() message_9() :Sensor message_1() message_3() message_1() message_3() :GlobalHawk :WeaponSyst em :MissionCrew Member message_5() :Target message_5() message_0() :BMC2 message_2() message_4() message_6() message_7() message_8() message_9() message_0() message_2() message_4() message_6() message_7() message_8() message_9() :Sensor message_1() message_3() message_1() message_3() :GlobalHawk :WeaponSyst em :MissionCrew Member message_5() :Target message_5() message_0() :BMC2 message_2() message_4() message_6() message_7() message_8() message_9() message_0() message_2() message_4() message_6() message_7() message_8() message_9() :Sensor message_1() message_3() message_1() message_3() :GlobalHawk :WeaponSyst em :MissionCrew Member message_5() :Target message_5() message_0() :BMC2 message_2() message_4() message_6() message_7() message_8() message_9() message_0() message_2() message_4() message_6() message_7() message_8() message_9() :Sensor message_1() message_3() message_1() message_3()

Validate Model

:BMX manageConstellation() manageConstellation() receiveFlightPlanUpdate() :GlobalHawk receiveFlightPlanUpdate() receiveControlTask() receiveControlTask() receiveTasking() :MissionCrew receiveTasking()
  • bserveTaskingStatus()
  • bserveTaskingStatus()
BMX ITaskingStatus ISensorTasking crewPort IGH_Status IGH_Control,IGH_FlightPlan GHPort

Model External Interaction

Exercise model with cross-use case threads Define external interfaces Define next level architectural components

PDIS-ESM7107 Model Driven System Engineering (MDSE) System Architecture Development (SAD) Technical Manual for Object Oriented Systems Engineering (OOSE)

slide-10
SLIDE 10

SEI Architecture Technology User Network Conference, Wednesday, 18 May2011, Architecture is Not Just for Architects Approved for Public Release, Control No. 11-0359 , dtd. 11-04-05

10

Design the intended system based on the acquired requirements

  • Develop Architecture Models based on acquired requirements and develop new

requirements from what you learn

  • Embrace an incremental analysis philosophy

– The process steps are repeated at each level of abstraction from System to Segment/Subsystem to Components – May also be thought of as agile analysis & design spirals

  • Number of iterations/spirals dependent on project size/scope

Sustainable Architecture Development

System Level Analysis Sub-System Level Analysis Component Level Analysis Implementation

slide-11
SLIDE 11

SEI Architecture Technology User Network Conference, Wednesday, 18 May2011, Architecture is Not Just for Architects Approved for Public Release, Control No. 11-0359 , dtd. 11-04-05

Keys to Successfully Translating Stakeholder Requirements into System Requirements

  • Focus on the needs of stakeholders

– Each project phase needs to assess the requirements from the previous phase to gain an understanding and maintain project momentum

  • Primarily accomplished through the formulation of a system solution

defined by its system architecture

  • Approach is structured around the development of a model
  • System engineers build models to better understand problems, develop

candidate solutions, and validate their decisions.

  • Use a common language – SysML, UML, DoDAF… Pick a language your

interdisciplinary team already knows, or can pick-up fast

  • Pick a tool set early, and put products under Configuration Management

11

slide-12
SLIDE 12

SEI Architecture Technology User Network Conference, Wednesday, 18 May2011, Architecture is Not Just for Architects Approved for Public Release, Control No. 11-0359 , dtd. 11-04-05

Capturing Customer Requirements

  • Rule #1: Construct a good Map of your Architecture

– Base Architecture Map on Stakeholder Requirements – Refine details as you learn to move from high-level National Map (Operational Views) to your lowest street level map (Computer System Components and Units)

  • Different Views for Different Purposes and Stakeholders

– Don’t put in too much detail all at once, make sure the detail is appropriate for the stakeholder your focusing on

  • Rule #2: Document Architecture In-Depth

– Document design decisions in the working architecture model

  • Keep every one on same page
  • Make sure a new team members can use your architecture to

come up to speed on the project

  • Rule #3: Validate Design Decisions

– Use Model-based design validation throughout a project's life cycle to help reduce downstream errors and non-compliance.

  • Rule #4: Manage Scope of Stakeholder Reviews

– Meet at major decision points to agree on requirement interpretations – Make sure review is appropriate to audience

  • Review of in-depth software class detail with the end-user is not

appropriate

12

Dispay class_7 1 1 1 1 1 1 1 1 class_8 class_9 1 1 actor_10 1 actor_10 1 class_11 1 1 1 1 1 class_12 class_13 1 1 1 1 1 1 1 1 class_14

Refine based on Stake Holder Needs Refine based on Stake Holder Needs

slide-13
SLIDE 13

SEI Architecture Technology User Network Conference, Wednesday, 18 May2011, Architecture is Not Just for Architects Approved for Public Release, Control No. 11-0359 , dtd. 11-04-05

Requirements Linked to Model for Coverage Analysis

  • Document pedigree of requirements as they are developed
  • Individual requirement traceability to software components
  • Software component traceability back to its requirements

Womb to Tomb Requirements Trace

13

Use Modeling Tool set to generate requirement specifications from Model

  • Description
  • Operations
  • Allocated requirements
  • Interfaces & data objects
  • Diagrams

SRS SRS

Requirement Specifications

Integrated Tool Suite Generates Specifications and Maintains Traceability

slide-14
SLIDE 14

SEI Architecture Technology User Network Conference, Wednesday, 18 May2011, Architecture is Not Just for Architects Approved for Public Release, Control No. 11-0359 , dtd. 11-04-05

Transitions in Architecture Team Members

  • Changing Key Engineers is Typically Major Customer concern

– No one paying for a product that hasn’t been built wants to spend time talking about what they want with the Systems Engineers just to have the work thrown away when its thrown over the wall to Software

  • Combat the Transition issues

– From project start, build an interdisciplinary team to prevent the need for a painful transition between project phases

  • Architects
  • Systems Engineers
  • Software Engineers
  • Test Engineers
  • Modeling&Sim Engineers
  • Trainers

14

slide-15
SLIDE 15

SEI Architecture Technology User Network Conference, Wednesday, 18 May2011, Architecture is Not Just for Architects Approved for Public Release, Control No. 11-0359 , dtd. 11-04-05

Experiences/Benefits

  • Step-by-step process activities provide a roadmap for specifying the requirements,

architecture and design – Both process & tools were relevant to entire engineering team… conduit for system-to-software engineering communication

  • Visual based UML artifacts proved to be understandable by operational and

programmatic customer communities – Executable thread activity and sequence diagrams used to review system design with operators

  • Provided common design reference for large, geographically distributed and diverse

team

  • Forced frequent check-points and quality reviews
  • Emphasis on early behavioral/performance modeling improved customer design

confidence, aligned stakeholder expectations, and lowered downstream risk – Executable Model used to “simulate” system behavior through production of animated Sequence Diagrams – Early performance analysis performed using UML timing profile on same sequence diagrams

15

slide-16
SLIDE 16

SEI Architecture Technology User Network Conference, Wednesday, 18 May2011, Architecture is Not Just for Architects Approved for Public Release, Control No. 11-0359 , dtd. 11-04-05

Summary

  • Large-scale systems require new engineering paradigms

– Sequential and document-centric development doesn’t deliver a solid sustainable Architecture – UML based Model Driven Architecture Development provides visual bandwidth and abstraction to design software intensive architectures for net-centric warfare

  • perations
  • Process/tools successfully employed on multiple Northrop Grumman

Aerospace Systems programs

– Contribute design consistency and depth…extensive design detail for Major Design Reviews – Model validated architecture design

  • Exercised system function and performance characteristics
  • Improved customer understanding of design and behavior

16

Dispay class_7 1 1 1 1 1 1 1 1 class_8 class_9 1 1 actor_10 1 actor_10 1 class_11 1 1 1 1 1 class_12 class_13 1 1 1 1 1 1 1 1 class_14

Visualization Application Application App App App App App App Common Services Integrated Infrastructure Communication Hardware/OS

slide-17
SLIDE 17

SEI Architecture Technology User Network Conference, Wednesday, 18 May2011, Architecture is Not Just for Architects Approved for Public Release, Control No. 11-0359 , dtd. 11-04-05

Architecture in Practice Customer Comments

  • “ MDE requires a commitment to robust systems engineering. The MDE technology

is evolving and improving, but the benefits are clear. It's a great vehicle for projects that need to be able to reason about large scale problems and to collaborate across multiple organizations.” Tom Wheeler, MITRE senior principal engineer who served as Deputy Chief Engineer of the former 851st, Electronic Systems Group, Hanscom Air Force Base, Mass

  • “Based on my 40 years of software development, this just feels right to me.” Dr.

Robert Miller, B-2 Inc1 USAF Lead Software Engineer.

  • “In my 15 years of DoD work, I’ve never seen a better roadmap for the success of

SW related Reviews.” Shaun Power, B-2 Increment 2 Deputy Manager.

17

slide-18
SLIDE 18

18