don't leave your architecture behindkanban-enabled model ... · system design system...

31
Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development May 9 th , 2012 Esther Johnson and Chris Williams Northrop Grumman Aerospace Systems, Software Engineering SATURN 2012 Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Upload: others

Post on 17-Mar-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Don't leave your

Architecture Behind -

Kanban-enabled Model

Driven Software

Development

May 9th, 2012

Esther Johnson and Chris Williams Northrop Grumman Aerospace Systems, Software Engineering

SATURN 2012

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 2: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Overview

• Why Traditional Engineering Processes didn’t work

• First Agile Project Overview

– Pros and Cons

• Second Agile Project Overview

– Why we felt change was needed

• Kanban Introduction

• Our Hybrid Model Driven Development and Agile Lifecycle

• Summary

2 SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 3: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Traditional Engineering Process Didn’t Fit

3

System Design

System Integration & Test

SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION

REQUIREMENTS ANALSYIS / VALIDATION

SSRD/IRS/RTR

FUNCTIONAL ANALYSIS & VERIFICATION

HW RS/ICD SW/SRS,IDS

SYNTHESIS & DESIGN HW DS/ICD SW/SDD,IDD

DESIGN VERIFICATION HW/ SW/

Components Modules, Data

ELEMENT FABRICATION OR CODING

HW/ SW/ Components Modules, Data

UNIT VERIFICATION & VALIDATION

HW/ SW/Units Components Modules, Data

HARDWARE/SOFTWARE INTEGRATION, VERIFICATION, & VALIDATION

HW/ Assemblies SW/Builds

HARDWARE/SOFTWARE PV&V

HW/Cabinets SW/Programs

INTEGRATED HARDWARE AND SOFTWARE FACTORY

ACCEPTANCE V&V

OPERATIONAL V&V (FCA, PCA)

LBTS and Shipboard

Validation

Verification

Time

• Systems Design scheduled, defined and completed up front

• Document Driven

• Little time to incorporate Lessons Learned

• Limited collaboration and feedback

SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 4: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Project One Overview

• Integration project of 3 existing software packages (multiple languages

and OSs)

– Contract Funded IR&D (CRAD) 18 month program

• First Attempt At Agile with traditional Scrum

– Planning Poker

– 2 week iterations

– Daily stand-ups

– Retrospectives

• Team Composition

– 4 Software

– 1 Chief Engineer (CE)

4

24 Hours

Product Backlog

Sprint Backlog

Daily Scrum Meeting

Potentially Shippable Product Increment and Sprint Retrospective

SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 5: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Positives of Agile

• Daily Scrums helped with communication

• Kept priorities from changing(limited to 2 week chunks)

– Quick turn around on feedback cycles from CE

– Able to make controlled changes when new work popped-up during the middle of

the program.

– Added stories to backlog and prioritized accordingly

• Functioning software at the end of release one which worked out well

since release two got canceled

• Well-groomed backlog of stories to use as future reference since the

second release was canceled

5 SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 6: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Short falls of first attempt

• Difficulty to get stories done-done

• Modeling, development, testing, and deployment in lab

– Minimal Architecture documentation for legacy reuse products

– No enforcement of architecture on software developers

– Team wasn't cross functional and we ran in to bottlenecks due to the nature of the

integration work

– Testing was lacking

• No test automation on legacy systems

• Major component was a Windows OpenGL based GUI

6 SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 7: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Project Two Overview

• Follow-on to the Project One contract – Additional Contract Requirements required more rigor than in previous Agile project

• Technical Requirements Document

• Verification Cross-Reference Matrix (VCRM)

• Decided to modify the process since our previous agile approach wasn't working as well as desired

• Short falls we wanted to address

– More structured decomposition of the statement of work to drive user story creation

– Liked the minimal modeling work done during Project One but need to make it more of an explicit task for the developers to do

– Need for documented tests for each story written before development on the story started since that was lacking during Project One

• Team Composition – 4 Software

– 1 CE

– 2 Systems

– 1 Test

7 SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 8: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Quick Introduction to Kanban Method

• Three Core Principles

– Start with what you do now

– Agree to pursue incremental evolutionary change

– Initially, respect current roles, job titles and

responsibilities

• Five Core Practices

– Visualize

– Limit Work In Progress (WIP)

– Manage Flow

– Make Process Policies Explicit

– Improve Collaboratively

8

Pri. Model Define Code SW System Accept Tests Test Test

Reference: http://agilemanagement.net/index.php/Blog/why_kanban/

SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 9: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

MDD and Kanban to the rescue

• Slimmed down a version of the model driven development architecture

handbook that was in development

• Used Kanban to explicitly define the stages of the software

development life cycle

– Limit our work in progress at any one time

– Use Rally to manage our Agile lifecycle

• Rhapsody for Modeling and DOORS for requirements, but any UML

model and requirement tool could have been used

9

Pri. Model Define Code SW System Accept Tests Test Test

Global Hawk Block 40

«Actor»

Global Hawk Block 40

«Actor»

Global Hawk Block 40

«Actor»

Air Force DCGS

«Actor»

Air Force DCGS

«Actor»

Air Force DCGS

«Actor»

Joint Stars

«Actor»

Joint Stars

«Actor»

Joint Stars

«Actor»CRC BMC2 Prototype

Interoperate with

External Tactical

Systems

Perform Exploitation

Collaborate with Virtual

Crew

Store Data

CRC BMC2 Operator

«Actor»

CRC BMC2 Operator

«Actor»

CRC BMC2 Operator

«Actor»

VirtualCrew

«Actor»

VirtualCrew

«Actor»

VirtualCrew

«Actor»

GmtiEnterpriseGmtiEnterprise

SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 10: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Hybrid Model Driven Development and Agile

Lifecycle Overview

• Leverage the flexibility of an agile

development lifecycle with Model

Driven concepts

• Clearly Defined entry/exit criteria for

each process step

– Focus on model/design and defining test

criteria before writing code

• Provides a better up front

understanding on the impacts to the

architecture

• Test criteria follow design and

expected outcomes understood

10

Hybrid Approach for Agile, Model-Driven, and Test-Driven Development SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 11: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

11

Process composed of four phases (depicted as ‘Swim Lanes’ on Activity Diagram)

1. Requirements Development & Analysis

2. Functional Analysis (Major Component Design)

3. Detailed Design (Sub-Component Design)

4. Software Development

Swim Lane 1

Swim Lane 2

Swim Lane 3

Swim Lane 4

Architecture Modeling Process

SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 12: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Requirements Development & Analysis (SL 1)

12

• Focus for first iteration of project

• Develop an understanding of Customer Requirements

• Develop System Level “Operational” Architecture Models

• Link Requirements to Architecture Artifacts

• Get architectural buy-in from stakeholders

SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 13: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

13

Features/Requirements…

Maintain Requirement Traceability as System Evolves

• Product Owner (Customer) needs/wants drive the system being developed

– Often changes features and priority every iteration

• Maintain Traceability of Use Cases/User Stories back to customer Features/Requirements as system design evolves

• Track Definition of Done for each User Story

• Define how tests map to User Stories and up to Features/Requirements

Technical Requirement

Document (TRD)

System Subsystem

Specification (SSS)

SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 14: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Functional Analysis (Major Component

Design) (SL 2)

14

•Figure out which existing software components to reuse

•Determine what new functionality requires new components

•Model Components focusing on needed functionality and interfaces

•Model Component behavior through Use Cases

•Focus Sequence Diagrams per Use Case on component interactions

SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 15: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Common Model For Entire Project Lifecycle

Architecture Models and Use Cases defined prior development, and updated as needed

during development cycles

Swim Lane 1 Use

Case Packages

Swim Lane 2 Use

Case Packages

Swim Lane 3 Use

Case Packages

Major Component

Functional Analysis Structured View Packages

SubComponent

Functional Analysis Structured View Packages

Deployment

Views

Data Models

SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 16: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

SL2.3 Use Case Artifact Attributes

• Description: – This use case describes …

• Driving Requirements:

– [SSS-###] The Software shall process… – [SSS-###] The Software shall process… – [SSS-###] The Software shall process…

• Preconditions:

– The Software is in XX State – The Software is configured to do xyz.

• Trigger: – The Software receives the xEvent

• Post-conditions:

– The software does Y

SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 17: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Detailed Design (Sub-Component Design) and Software Development (SL 3 & SL 4)

• Detailed Design – Swim Lane 3 Define SW CSC Architecture and Behavior

• Software Development - Swim Lane 4 produces well designed software that is fully tested

– Test Criteria Developed in accordance with design before coding starts

– Software and SEIT Integration Testing

– Approved Software added to Release Cycle

• Development Process (SL 3 and 4) is managed using a “Kanban” process in Rally Tool – Scheduling system enables prioritized workflow

• Right capabilities at right time

• User Stories flow through in prioritized order beginning with Design and Model(SL 3)

– Work In Progress (WIP) limits in place to ensure focus on moving stories through

• Rally Tool work queues used show potential bottlenecks

– Two week iterations will be used to schedule SEIT testing and status reporting

– All Users Stories flow through both Swim Lanes 3 and 4

• Existing functionality flows through at a faster pace

– Design is verified…only update system model as required

– Document Test Criteria

17 SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 18: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Detailed Design (Sub-Component Design)

18

•Develop and Prioritize User Stories

•Model Sub-Components

•Develop Software Deployment

•Model Sub-Component behavior through Use Cases

•Focus Sequence Diagrams per Use Case on Sub-Component interactions

SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 19: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Ports Define Services Produced and Consumed

Operations Describe Functions/Services

Description of CI Responsibilities

Exercise System Interfaces and Validate Behavior

Describe High Level System Behavior

Class Diagrams SW & HW Architecture

Behavioral Diagrams

Key Architecture Artifacts

19

130

11

Data Modeling (DataObjects) Dependencies ID

InfoObjects Used by each Major Component

DataObject Classes Provide Description and Attributes

Hardware Deployment Diagrams

Node Diagrams Show SW Deployed to HW

MajorComponent1

«Component»

schedule():void

complete ():void

Assign():void...

manageRooms():void

monitorHardw are():void

monitorRooms():void

divert():void

Major Component 1 is responsible for the

management and execution of major activities. To

include managing, scheduling and tasking support

options. One function is to track the status of

the assets available for planning including

rooms and hardware assets and assets that

diverted for a higher priority task. Another

·

·

·

iServices

pIntegration

iMap

pMap

iSSL

pSSL

iPublish

pMessageServices

iRTSubscriber

pRTSubscriber

iRTPublish

pRTMessagingServices

iControl

pControl

Service

«Component»

iMonitoring

1

Associations Show Direct Interfaces to other Components

::Component6 :Component4

performOperations(sql)

:Component3

(peformServices(string)

::Component5 ::Component2 :Component1

performMetaDataServices(QueryM etadata)

file=performFileServices(imageFileHandle)

updateDisplay()

returnResults(MetaData)

Activity1

Activity2 Activity3

DataObject1

Activity34

Activity34 Activity34

Activity34 Activity34

Activity34 Activity34

ServerA

Compon Component

Component

Component Component

Component Component

Component

Component

Component

Component

Component

Component

Component

Component

Component

Component Component Component

Component

Alert

«Persistent»

persistence:boolean

acknow ledgePolicy:int

cancelPolicy:int

applicatonData:String

AlertDefinition

«Persistent»

topicName:String

topicID:int

description:String

AlertAcknow ledgement

«Persistent»

ackTime:TimeStamp

acknow ledgement:...

AlertingServices

«Component»

iAlertClient

pAlertClient

iMonitoring

pMonitor

iControl pControl iAlertingServices

pAlertServices

«Usage»

«Usage»

«Usage»

SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 20: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Prioritized Backlog of User Stories

• Assess User Story sizes, keeping in mind Risk and Difficulty

• Prioritize which stories to do first, making sure any dependencies are

accounted for

• Chief Engineer and Product Owner review and adjust prioritized

backlog as needed

20 Small – 1 , Medium – 2, Large – 3, Extra Large - 4

Prioritized Model Define Code SW System Accept

Tests Test Test Backlog

1 User Story

Size 2 User Story

Size

3 User Story

Size 4

User Story

Size

1 User Story

Size

1 User Story

Size

4 User Story

Size

2 User Story

Size

2 User Story

Size 2

User Story

Size

3 User Story

Size

3 User Story

Size

SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 21: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Software Development (SL 4)

21

•Define Acceptance Tests

•Develop Software Based on Models

•Test

•If the test fails, fix the code and update model if needed

•Accept the User Story

•Add functionality to Release

SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 22: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Kanban Enabled Visibility Of Work In Progress

22 SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 23: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

User Story Development Status

23

Use Cases

already

accepted

SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 24: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Activity1

Activity2 Activity3

DataObject1

Ports Define Services Produced and Consumed

Operations Describe Functions/Services

Associations Show Direct Interfaces to other Components

Description of CI Responsibilities

Exercise System Interfaces and Validate Behavior

Describe High Level System Behavior

Class Diagrams 142

CSCI Classes 12

CSCI Operations 133

HWCI Classes 3

CSC Classes 58

CSC Operations 271

Activity Diagrams 8

Sequence Diagrams 233

Class Diagrams SW & HW Architecture

Behavioral Diagrams

Architecture Metrics

24

130

58

253

217

11

Release Delta

MajorComponent1

«Component»

schedule():void

complete ():void

Assign():void...

manageRooms():void

monitorHardw are():void

monitorRooms():void

divert():void

Major Component 1 is responsible for the

management and execution of major activities. To

include managing, scheduling and tasking support

options. One function is to track the status of

the assets available for planning including

rooms and hardware assets and assets that

diverted for a higher priority task. Another

·

·

·

iServices

pIntegration

iMap

pMap

iSSL

pSSL

iPublish

pMessageServices

iRTSubscriber

pRTSubscriber

iRTPublish

pRTMessagingServices

iControl

pControl

Service

«Component»

iMonitoring

1

::Component6 :Component4

performOperations(sql)

:Component3

(peformServices(string)

::Component5 ::Component2 :Component1

performMetaDataServices(QueryM etadata)

file=performFileServices(imageFileHandle)

updateDisplay()

returnResults(MetaData)

SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 25: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Agile Reporting Metrics

• Report velocity every two weeks

and generate prediction estimates

– Average best 2 of 4

– Average worst 2 of 4

– Average last 4

• Other Kanban specific metrics

(throughput and cycle-time based

on story size) exist but weren’t

used due to tool limitations

• Used metrics as input to EVMS

25 SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 26: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Keeping an agile team well-oiled

• Gelling as a team, the other things that helped us

get the job done..

– Lovebug donuts....

• Red Velvet

• Chocolate Covered Cherry

• Maple and Bacon

– Working in common area vs. cubes

• Had predefined days where the team had to be in

the lab working

• Reward the accomplishments

• When everything is going wrong, regroup,

reassess, and have some pizza

26 SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 27: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Lessons we Learned, things we would change

next time...

• How to better take the sequence threads from Swim Lane 2 to User Stories

• Agile engineering practices (automated acceptance/unit testing, pair programming, continuous integration) are just as important, if not more so, than the development lifecycle

• Testing, Testing, Testing....

– If you have a test person on your team, make sure they understand software and bring them up to speed!

– Need training for the dev team on how to better test

• One approach was to make a different member of the team responsible for writing tests every two weeks

• Make sure the SEIT lead is involved and not in and out when convenient

• Keep team engaged when outside programs/responsibilities come calling (the shiny ball effect)

27 SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 28: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Benefits from Incorporating Agile, MDD, and

Kanban Concepts

• Success requires collaboration

– Linked Data (I.e. Requirements -> Architecture -> User Stories -> Code) increases

collaboration and provides records of decisions made

– User story traces back to Use Case, Architecture and then to requirement

• User stories may be systems engineering tasks to do trades, mitigate

risks, or validate decisions

• Designing Tests in early to avoid finding problems later in the project

(early & cheaper defect elimination)

28 SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 29: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Summary

• Why Traditional Engineering Processes didn’t work

• First Agile Project Overview

– Pros and Cons

• Second Agile Project Overview

– Why we felt change was needed

• Kanban Introduction

• Our Hybrid Model Driven Development and Agile Lifecycle

• Summary

29

Build Better, Cheaper, Faster using Agile and MDD

Reliable Software that’s documented , modeled, and supportable for the

entire Product Lifecycle

SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 30: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology

Questions?

30 SEI Architecture Technology User Network Conference, 9 May2012, Don't leave your Architecture Behind - Kanban-enabled Model Driven Software Development

Approved for Public Release: Northrop Grumman Aerospace Systems Case 12-0216, 3/25/12

Page 31: Don't Leave Your Architecture BehindKanban-Enabled Model ... · System Design System Integration & Test SYSTEM ARCHITECTURE & REQUIREMENTS DEFINITION ... SEI Architecture Technology