right-sized architecture: integrity for emerging designs

23
AW7 Concurrent Session 11/7/2012 2:15 PM "Right-sized Architecture: Integrity for Emerging Designs" Presented by: Ken Kubo Northrop Grumman Corporation Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 8882688770 9042780524 [email protected] www.sqe.com

Upload: techwellpresentations

Post on 26-Jun-2015

357 views

Category:

Technology


2 download

DESCRIPTION

In agile projects, design ideally "emerges" over the course of development. However, if teams primarily focus on independent user stories, they risk losing sight of the product's vision and the integrity of well-thought-out architecture. Ken Kubo shares techniques he's used to improve the chances that a product's design will emerge into a cohesive and coherent architecture that serves its customers for many years. Join Ken to find out how you can incorporate contextual design principles and simple, visual techniques as part of his "A-Little-Before-Its-Time Design" framework. You can add these practices into your agile workflow to maintain a shared team understanding of your product's vision and the system's emerging design. Ken believes that you can only realize all the promises of agile development with a clearly and constantly communicated product vision and a set of architecture goals. Lack of these key principles leads to sub-optimizing system development-or much worse, failure.

TRANSCRIPT

Page 1: Right-sized Architecture: Integrity for Emerging Designs

 

    

AW7 Concurrent Session 11/7/2012 2:15 PM 

       

"Right-sized Architecture: Integrity for Emerging Designs"

   

Presented by:

Ken Kubo Northrop Grumman Corporation

       

Brought to you by:  

  

340 Corporate Way, Suite 300, Orange Park, FL 32073 888‐268‐8770 ∙ 904‐278‐0524 ∙ [email protected] ∙ www.sqe.com

Page 2: Right-sized Architecture: Integrity for Emerging Designs

Ken Kubo Northrop Grumman Electronic Systems

Ken Kubo is director of software engineering with twenty years of service at Northrop Grumman Electronic Systems, Intelligence, Surveillance, Reconnaissance, and Targeting Systems Division, Azusa campus. His work has focused on the development of satellite ground systems, building the bigger picture from individual bits of data. Information radiators are Ken’s natural focus in agile development. A certified Lean-Agile ScrumMaster and Certified ICAgile Professional, he developed and teaches a Lean-Agile Development overview course for NGES. Ken firmly believes that lean-agile and government acquisition processes are not completely incompatible.

 

Page 3: Right-sized Architecture: Integrity for Emerging Designs

Right-Sized Architecture

AW7 - 7 November 2012 – 2:15 PMIntegrity for Emerging Designs

Ken Kubo, James Yoshimori, Jason Liu

Agenda

• Software Engineering and Lean-Agile

• Right-Sized ArchitectureRight Sized Architecture

• Collaborative Design

• Extending the Metaphor

• Retrospective

Page 4: Right-sized Architecture: Integrity for Emerging Designs

Acknowledgements

• The team gratefully acknowledges the support and interest of the Sensor Exploitation Systems/SAIG business area leadership.

3

But First…A Word From Our Sponsor

• Northrop Grumman Corporation (NYSE: NOC) is a leading global security company providing innovative systems, products and solutions in aerospace, electronics, information systems, and technical services to government and commercial customers worldwide The company hasgovernment and commercial customers worldwide. The company has over 120,000 employees in all 50 states and 25 countries around the world.

• Our core competencies are aligned with the current and future needs of our customers and address emerging global security challenges in key areas, such as unmanned systems, cyber-security, C4ISR, and logistics that are critical to the defense of the nation and its allies.

• Our Electronic Systems sector is a leader in airborne radar, navigation, y , g ,electronic countermeasures, precision weapons, airspace management, space payloads, marine and naval systems, communications, biodefense, and government systems.

Page 5: Right-sized Architecture: Integrity for Emerging Designs

The Need for Agility

Increase in Software in DoD Systems

Software Content of Sample Major DoD Weapon Systems 1960 - 2020

6

8

10

12

14

16

18

DDX

Virginia SSN

FCS

ESLO

C in

Mill

ions

F-35 Aircraftand Ground

5

0

2

4

1960 1970 1980 1990 2000 2010 2020Sea Systems Missiles/Space Ground Systems Aircraft

Patriot PAC-3

Virginia SSN

Polaris A3Aegis System

Sources: CARD Data, SEI, CSIS Analysis

ACS

SBIRSF-22

The Need for Agility

• Defense Science Board Recommends More agile Acquisition Process (March 2009)

“A new acquisition process for information • National Defense Authorization Act for Fiscal Year 2010 (H.R.2647)

(Became Public Law No: 111-84 October 2009)

• AFEI Task Force 804 Report – June 2010

ew acqu s t o p ocess o o at otechnology should be developed—modeled on successful commercial practices, for the rapid acquisition and continuous upgrade and improvement of IT capabilities. The process should be agile and geared to delivering

Recommended (Among Other Things):“Institute continuous, iterative, development, test, and certification processes that drive the

6

meaningful increments of capability in approximately 18 months or less—increments that are prioritized based on need and technical readiness.”

test, and certification processes that drive the commercial IT state of the art to deliver more trusted, standard, off-the-shelf building blocks”

Page 6: Right-sized Architecture: Integrity for Emerging Designs

Software Engineering (and other oxymorons)

• Definitions:– Software: a set of instructions which define and enable the operation of a computer

system to perform a desired tasky p– Engineering: the discipline and profession of applying technical, scientific, and

mathematical knowledge to practical problems

• Historical endpoints– 1968 NATO Software Engineering Conference– Software Engineering Body of Knowledge (SWEBOK) (IEEE, 2004)

7

Software Engineering Practices

• Systemic view and development lifecycle (requirements analysis, design, development, testing, deployment, maintenance)

• Risk analysis

• Best practices– Lessons learned– Design patterns

• Certification– Certified Software Development Associate/Professional (CSDA/P)– PMI-ACP, ICAgile Certified Agile Professional, role certification etc.

8

Page 7: Right-sized Architecture: Integrity for Emerging Designs

The Agile Transition

Predictive

RA HLD DD

Develop FS A

I&T V&V PDSDevelop FS B

FS A,B,C

RA HLD

RA HLD DD I&T V&V PDSDevelop FS B

Develop FS C

Adaptive

9

RA HLD

FS A FS B FS D

FS C

PDS

Agile Execution

A hit t

Analysis “Desirement Analysis” with iteration planning and backlog (work queue) grooming. AlsoArchitecture

Design

Development

I & T

and backlog (work queue) grooming. Also used for risk identification/mitigation.

Traditional engineering activities all still occur, but note that they (mostly) happen collaboratively, not sequentially.

10

I & T

Page 8: Right-sized Architecture: Integrity for Emerging Designs

When Engineering Goes Bad…

Traditional predictive practices and “ilities” can commit too early

• Lock-down architecture at the beginning of the project (Big Design UpLock down architecture at the beginning of the project (Big Design Up Front)

• Only discuss design with customer prior to development

• Design for all possible customerrequests, enhancements, andexpandability

11

Wide focus can be uninformed

When Agile Goes Bad…

Agile methodology focus can incur technical debt

• Agile methodology impactsAgile methodology impacts– Iteration focus can emphasize coding activity – de-emphasizing others– “Just in time” design can devalue architecture

• Technical debt– Neglecting the “big picture”– Decoupling architecture– Losing sight of system

design integrity

12

Tight focus can prove short-sighted

Page 9: Right-sized Architecture: Integrity for Emerging Designs

Agile as a Philosophy

• Execute with lean agility– Avoid waste

Creating shared knowledge > creating documentation– Creating shared knowledge > creating documentation

• Leverage social interaction– Use a common “information radiator”

• Artifacts and processes are open to view• Artifacts are easily accessible• Single source creates common understanding

– Build a social environment for developmentp• Encourage developers to work closely with one another• Strengthen trust within the community

– Establish common understanding of artifacts being constructed

13

Shared understanding drives efficiency

Implementing Agile Architecture

• Avoid waste – just enough (George Fairbanks)“You‘ll be smarter later”

• The Zen of “just enough”– Avoid big design up front (BDUF)– Decide on the vision for your framework– Pick your focal points (risk and ignorance)– Make design a convenient part of the workflow– Emphasize creating knowledge, not creating diagrams

• Encourage an open team dynamic so team members can say when they have enough information to code

– Prefer the collaboration dynamic to automation tools– Don’t force documentation of design sessions– Be disciplined but not rigid

14

Just Enough Architecture A Little Before Its Time

Page 10: Right-sized Architecture: Integrity for Emerging Designs

Roles and Responsibilities

• Initial DesignObjective: identify interfaces, processing partitions/components, general system sketch, build the framework for the developers

– Architect: maintains big picture, helps identify and define interfaces, keeps focus of the meeting, controls documentation

– Product Owner: clarifies objectives and done-ness, fills in unstated (“wasn’t that obvious?”) requirements

– Technical Lead(s): identify where development activity has to occur, help define interfaces

• Delta DesignObjective: sanity check and impact analysis (not the search for the perfect design)Objective: sanity check and impact analysis (not the search for the perfect design)

– Developer(s): present (proposed) solution, highlight any changes/detailing to architecture

– Architect: helps perform impact analysis, verifies design integrity, controls documentation

– Technical Lead(s): help perform impact analysis

15

Eyes on the Big Picture

• Apply Agile philosophy– Understanding > documentation

• How?– Using my Agile eyes …

• Inspiration– CRC: class, responsibilities & collaborators (Ward Cunningham)

• Informal grouping of index cards (4”x6”)• Simple, easily remembered rules• Visual and collaborative

16

Page 11: Right-sized Architecture: Integrity for Emerging Designs

Color Map Affinity Diagrams

• Use colored index cards and push-pins – advanced developers may use self-adhesive notes

• Assign colors to the various types of high level components you may have (more details to follow)

• Find sufficient vertical space to place the index cards

• Have fun ☺

17

Example

• Project: Support processing, archive, and display of satellite wideband data, substantial legacy code

• Team size: 5 members

• Platform: SGI and Linux

• Language: C/C++ and Java

18

Page 12: Right-sized Architecture: Integrity for Emerging Designs

Issues with Database to Display Interfaces

• Large amounts of data being transferred to displays on network– Intermingled with smaller data packets

• Noticing network loading “uncomfortably” increased for single source on a GigE network

– Anticipating load to increase by 4 times current loading in a year– Load may increase by more than 18 times in 5 years

• Current display has noticeable lag in processing and rendering– Display is just one executable so performance degradation is not unexpected

19

New capabilities have outgrown old paradigm

Just Enough Architecture

• Risk driven

• Focus on data stores and displayFocus on data stores and display

• Decouple display – Do not directly attach to principal data stores– Get away from single executable for display– Create an infrastructure that supports “drop-in” views

• Find a smarter way to manage the data and their transmission over the network

• Pay more attention to modularity and scalability qualities

20

Prioritize what to rearchitect/refactor

Page 13: Right-sized Architecture: Integrity for Emerging Designs

Color Assignments

• Specific colors do not matter just be consistent

• Edge components that perform I/Oconsistent

• 4-5 is usually all I need

• Coincidentally a stack of colored index cards have 5 l

that perform I/O

• Processing components

• Persistent component

• Controller component5 colors

21

component

• User Interface

High Level Tracking Architecture

Signal ProcessingData Ingest Tracking Event

Detectiong

EventsWideband Track Points

Pipeline

22

DisplaySimple approach

has issues

Page 14: Right-sized Architecture: Integrity for Emerging Designs

Current Display Architecture

Track

Events

Point

View

View

View

ViewData

Service

23

Wide-band

View

Initial Update to Display Architecture

Track Track Points

Events Events Service

Point Points Service

View View

View

24

Wide-band

Wide-band

Service

View

Page 15: Right-sized Architecture: Integrity for Emerging Designs

Updated Display Architecture

Track Track Points

Blade Workstation

Events Events Service

Points Points Service

View

View View

View

25

Wide-band

Wide-band

Service

View

We use blue painters tape to identify

boundaries

Updated Display Architecture

Blade Workstation

Track Track Track Points

Events Events Service

Track Point Points

Service

View

View View

ViewEvents

Controller

Points Controller

26

Wide-band

Wide-band

Service

View

Wide-band

Controller

Page 16: Right-sized Architecture: Integrity for Emerging Designs

Display Architecture

Blade Workstation

Track Track Track

Events Events Service

Track Point Points

Service

Events Controller

Points Controller

Exec

ViewView

View

27

Wide-band

Wide-band

Service

Wide-band

ControllerSetup

View

View

Display Architecture

Blade Workstation

Track Track Track

Events Events Service

Track Point Points

Service

Events Controller

Points Controller

Wide-

Cache

View AppView App

View App

Exec

28

Wide-band

Wide-band

Service

Wideband

Controller View App

View App

Setup

Page 17: Right-sized Architecture: Integrity for Emerging Designs

Display Architecture

Blade Workstation

Track Track Track

Events Events Service

Track Point Points

Service

Events Controller

Points Controller

Wide-

View App

View AppView App

View App

View App

29

Wide-band

Wide-band

Service

Wideband

Controller

SetupExec

Track PointEvents

Wide-band

Cache

Display Architecture

Blade Workstation

Track P i t Vi A

Track PointsService

Event Service

PointsController

Events Controller

Wideband Controller

View App

View App

View App

Track Points

Events

View App

30

Wideband Service

ExecView App

ConfigFile

Wide-band

Wide-band Event

Track Points

Page 18: Right-sized Architecture: Integrity for Emerging Designs

And Now For Something Different

• Story: As a mission operations monitor, I need an “always on” passive display that shows wideband data from the satellite point of view overlaid on map data to provide quick indication that data is flowingoverlaid on map data to provide quick indication that data is flowing and line of sight is good.

• Approach: Add a new view application which can be standalone or “boxed” with the others which just provides a wideband data display.

31

Display Architecture

Blade Workstation

Track P i t Vi A

Track PointsService

Event Service

PointsController

Events Controller

Wideband Controller

View App

View App

View App

Track Points

Events

View App

32

Wideband Service

ExecView App

ConfigFile

Wide-band

Wide-band Event

Track Points

View App

Page 19: Right-sized Architecture: Integrity for Emerging Designs

Information Radiator

0

50

100

150

200

250

10 9 8 7 6 5 4 3 2 1 0

Ideal

ETC

0

2

4

6

8

10

12

14

16

10 9 8 7 6 5 4 3 2 1 0

Committed

Completed

33

• Can be physical or virtual

• Must be current

Information Radiator

• Iteration goal/vision

• Current iteration task/story status (in play and backlogged), iteration metrics

• Schedule (IMS, Release Plan, milestone calendar)

• Product vision, roadmap, Release Backlog

• Project metrics (velocity, defects found in I&T, bug rates, customer feedback)

• High-level architecture/system overview

Process/workflow team rules and standards• Process/workflow, team rules and standards

• Team member vacation/leave calendar

• Recognition/appreciation

Build shared knowledge and team direction

Page 20: Right-sized Architecture: Integrity for Emerging Designs

Extending the Metaphor

• Team-based metaphors (and better note stock)

• Visual design patternsVisual design patterns

• Component abstraction

• UML, SysML, MBE, … tools where value-added

• For legacy systems, practical default may be to adopt legacy standards

35

Team evolves “design language”

The Working System

• “My code works” is only a start; each developer must own the performance of the system as a p ywhole

• “Responding to Change > Following a Plan” does not mean “Don’t Plan”

36

Page 21: Right-sized Architecture: Integrity for Emerging Designs

Retrospective

• Lean-Agile and good engineering practices are not opposed!

• Visual design methodologies can strengthen role of architectural design in Agile (and predictive!) methodologies

• Be creative (and Agile)– Focus on goals

• Build shared system understanding• Incorporate design into workflow• Facilitate evolution of architecture over project life• Reduce integration rework

– Right-sized = Do the minimum– Create a variant or use another technique –

find what works better for your team

• Always keep looking for ways to do better

37

Keep an Agile eye on design

Useful References

• Scott L. Bain, Emergent Design: The Evolutionary Nature of Professional Software Development (Addison-Wesley, 2008)

• Kent Beck, Ward Cunningham, “A Laboratory for Teaching Object-Oriented Thinking” (OOPSLA 1989)

• George Fairbanks, Just Enough Software Architecture: A Risk-Driven Approach (Marshall & Brainerd, 2010)

38

Page 22: Right-sized Architecture: Integrity for Emerging Designs

Abstract

Lean-Agile development methodologies provide increased flexibility to deliver a more rapid return on customer investment in the form of working software. In Agile projects, system architecture ideally emerges over the course of development. However, if teams primarily focus on independent user stories, they risk losing sight of the Big Picture – the product’s vision and the integrity of well-thought-out architecture. This presentation shares techniques to improve the chances that a product’s design will emerge into a cohesive and coherent architecture that will support customer needs now and in the future. Incorporating contextual design principles and simple, visual techniques as part of “A Little Before Its Time (ALBeIT) Design” maintains a focus on architectural integrity You can adopt thesemaintains a focus on architectural integrity. You can adopt these practices into your Agile workflow to maintain a shared team understanding of your product’s vision and the system’s emerging design.

40

Page 23: Right-sized Architecture: Integrity for Emerging Designs

Author Biography

• Ken Kubo is Director of Software Engineering at Northrop Grumman Electronic Systems, Intelligence, Surveillance, Reconnaissance, and Targeting Systems Division, Azusa campus with twenty years of service with NGES. His development work has focused on the development of satellite ground systems, building the bigger picture from individual bits of data Information radiators are thus his natural focus in Agile development Hebits of data. Information radiators are thus his natural focus in Agile development. He holds an MS in Management Science from Cal State Fullerton and a BS in Engineering/English from Harvey Mudd College. He is also a certified Lean-Agile Scrum Master and a Certified ICAgile Professional.

• James Yoshimori has over 30 years of experience in software development. His work has ranged from small embedded signal processing systems to very large radar imaging and infrared processing systems. He has served in various roles from software engineer to architect to program management. He currently serves as architect, team lead and Agile process maven for the Situational Awareness and Global Exploitation (SAGE) project. He holds an MS in Information and Computer Science and a BS in Civil Engineering from the University of Hawaii ManoaEngineering from the University of Hawaii, Manoa.

• Jason Liu is a Software Engineer currently associated with the SAGE project. He has been with NGES at the Azusa campus since 2009. Jason holds an MS in Computer Science from UCLA and a BS in Information Computer Science from the University of California, Irvine.

41