"Right-sized Architecture: Integrity for Emerging Designs" - - PDF document

right sized architecture integrity for emerging designs
SMART_READER_LITE
LIVE PREVIEW

"Right-sized Architecture: Integrity for Emerging Designs" - - PDF document

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


slide-1
SLIDE 1

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 ∙ sqeinfo@sqe.com ∙ www.sqe.com

slide-2
SLIDE 2

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.

slide-3
SLIDE 3

Right-Sized Architecture

AW7 - 7 November 2012 – 2:15 PM

Integrity for Emerging Designs

Ken Kubo, James Yoshimori, Jason Liu

Agenda

  • Software Engineering and Lean-Agile
  • Right-Sized Architecture

Right Sized Architecture

  • Collaborative Design
  • Extending the Metaphor
  • Retrospective
slide-4
SLIDE 4

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 has government and commercial customers worldwide. The company has

  • ver 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
  • ur 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.

slide-5
SLIDE 5

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 ESLOC in Millions F-35 Aircraft and Ground

5

2 4 1960 1970 1980 1990 2000 2010 2020

Sea Systems Missiles/Space Ground Systems Aircraft

Patriot PAC-3 Virginia SSN Polaris A3 Aegis System

Sources: CARD Data, SEI, CSIS Analysis

ACS SBIRS F-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

  • at o

technology 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”

slide-6
SLIDE 6

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 task y 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

slide-7
SLIDE 7

The Agile Transition

Predictive

RA HLD DD Develop FS A I&T V&V PDS Develop FS B

FS A,B,C

RA HLD RA HLD DD I&T V&V PDS Develop 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. Also

Architecture 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

slide-8
SLIDE 8

When Engineering Goes Bad…

Traditional predictive practices and “ilities” can commit too early

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

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

  • Only discuss design with customer prior to development
  • Design for all possible customer

requests, enhancements, and expandability

11

Wide focus can be uninformed

When Agile Goes Bad…

Agile methodology focus can incur technical debt

  • Agile methodology impacts

Agile 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

slide-9
SLIDE 9

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 development p

  • 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

slide-10
SLIDE 10

Roles and Responsibilities

  • Initial Design

Objective: 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

  • bvious?”) requirements

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

  • Delta Design

Objective: 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

slide-11
SLIDE 11

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

slide-12
SLIDE 12

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
  • n 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 display

Focus 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

slide-13
SLIDE 13

Color Assignments

  • Specific colors do

not matter just be consistent

  • Edge components

that perform I/O

consistent

  • 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

component

5 colors

21

component

  • User Interface

High Level Tracking Architecture

Signal Processing Data Ingest Tracking Event Detection g Events Wideband Track Points

Pipeline

22

Display Simple approach has issues

slide-14
SLIDE 14

Current Display Architecture

Track Events Point View View View View Data 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

slide-15
SLIDE 15

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 View Events Controller Points Controller

26

Wide- band Wide- band Service View Wide- band Controller

slide-16
SLIDE 16

Display Architecture

Blade Workstation

Track Track Track Events Events Service Track Point Points Service Events Controller Points Controller Exec View View View

27

Wide- band Wide- band Service Wide- band Controller Setup View View

Display Architecture

Blade Workstation

Track Track Track Events Events Service Track Point Points Service Events Controller Points Controller Wide- Cache View App View App View App Exec

28

Wide- band Wide- band Service Wide band Controller View App View App Setup

slide-17
SLIDE 17

Display Architecture

Blade Workstation

Track Track Track Events Events Service Track Point Points Service Events Controller Points Controller Wide- View App View App View App View App View App

29

Wide- band Wide- band Service Wide band Controller Setup Exec Track Point Events Wide- band Cache

Display Architecture

Blade Workstation

Track P i t

Vi A Track Points Service Event Service

Points Controller Events Controller Wideband Controller

View App View App View App Track Points Events View App

30

Wideband Service Exec View App

Config File

Wide- band

Wide- band Event Track Points

slide-18
SLIDE 18

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

  • verlaid on map data to provide quick indication that data is flowing
  • verlaid 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 Points Service Event Service

Points Controller Events Controller Wideband Controller

View App View App View App Track Points Events View App

32

Wideband Service Exec View App

Config File

Wide- band

Wide- band Event Track Points

View App

slide-19
SLIDE 19

Information Radiator

50 100 150 200 250 10 9 8 7 6 5 4 3 2 1 Ideal ETC 2 4 6 8 10 12 14 16 10 9 8 7 6 5 4 3 2 1 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

slide-20
SLIDE 20

Extending the Metaphor

  • Team-based metaphors (and better note stock)
  • Visual design patterns

Visual 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 y whole

  • “Responding to Change > Following a Plan”

does not mean “Don’t Plan”

36

slide-21
SLIDE 21

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

slide-22
SLIDE 22

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 these maintains 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

slide-23
SLIDE 23

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 He bits 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 Manoa Engineering 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