boeing when agile software development and software … · 2012-05-22 · boeing approach for agile...

27
Boeing When Agile Software Development and Software Architecture Collide Don O’Connell 1 BOEING is a trademark of Boeing Management Company. Copyright © 2011 Boeing. All rights reserved.

Upload: others

Post on 25-Feb-2020

9 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Boeing g

When Agile Software Development and

Software Architecture Collide

Don O’Connell

1BOEING is a trademark of Boeing Management Company.Copyright © 2011 Boeing. All rights reserved.

Page 2: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Report Documentation Page Form ApprovedOMB No. 0704-0188

Public reporting burden for the collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering andmaintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information,including suggestions for reducing this burden, to Washington Headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson Davis Highway, Suite 1204, ArlingtonVA 22202-4302. Respondents should be aware that notwithstanding any other provision of law, no person shall be subject to a penalty for failing to comply with a collection of information if itdoes not display a currently valid OMB control number.

1. REPORT DATE MAY 2011 2. REPORT TYPE

3. DATES COVERED 00-00-2011 to 00-00-2011

4. TITLE AND SUBTITLE When Agile Software Development and Software Architecture Collide

5a. CONTRACT NUMBER

5b. GRANT NUMBER

5c. PROGRAM ELEMENT NUMBER

6. AUTHOR(S) 5d. PROJECT NUMBER

5e. TASK NUMBER

5f. WORK UNIT NUMBER

7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) Boeing,Engineering, Operations & Technology,Chicago,IL,60606

8. PERFORMING ORGANIZATIONREPORT NUMBER

9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES) 10. SPONSOR/MONITOR’S ACRONYM(S)

11. SPONSOR/MONITOR’S REPORT NUMBER(S)

12. DISTRIBUTION/AVAILABILITY STATEMENT Approved for public release; distribution unlimited

13. SUPPLEMENTARY NOTES Presented at the 23rd Systems and Software Technology Conference (SSTC), 16-19 May 2011, Salt LakeCity, UT. Sponsored in part by the USAF. U.S. Government or Federal Rights License

14. ABSTRACT

15. SUBJECT TERMS

16. SECURITY CLASSIFICATION OF: 17. LIMITATION OF ABSTRACT Same as

Report (SAR)

18. NUMBEROF PAGES

26

19a. NAME OFRESPONSIBLE PERSON

a. REPORT unclassified

b. ABSTRACT unclassified

c. THIS PAGE unclassified

Standard Form 298 (Rev. 8-98) Prescribed by ANSI Std Z39-18

Page 3: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Engineering Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

BioEngineering, Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

Don O’Connell is a Technical Fello in SW architect reDon O’Connell is a Technical Fellow in SW architecture for the Boeing Company. He has been with Boeing for 27 years, and has worked on many dozens of projects, including domains of airplanes satellites weaponincluding domains of airplanes, satellites, weapon systems, helicopters, windmills and many more.

Don is on the team that develops agile processes for SW p g pand system engineering use, and he leads the team that defines SW architecture processes as applied to agile SW development.

2Copyright © 2011 Boeing. All rights reserved.

Page 4: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Engineering Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

ContentsEngineering, Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

• Agile defined

• Architecture defined

• How agile and arch don’t coexistHow agile and arch don t coexist

• How agile and arch can coexist

B i A il ith S ft A hit t• Boeing Agile with Software Architecture

• Examples • 3 tier web based data delivery system• 3 tier web based data delivery system• Safety critical surveillance and weapons system• Performance intensive, deterministic Avionics system

3Copyright © 2011 Boeing. All rights reserved.

Page 5: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Engineering Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

What is Agile SW Development?Engineering, Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

Agile Manifesto – we have all seen these

• Individuals and interactions over processes and tools• Working software over comprehensive documentation• Customer collaboration over contract negotiation• Responding to change over following a plan

Different types of agile

Agile Practices

Different types of agile• Scrum, extreme programming, feature driven development, others

Short iterationsTest-driven developmentPrioritized requirements/reviews

Close customer collaborationDaily stand-up meetingsContinuous integration

4Copyright © 2011 Boeing. All rights reserved.

requirements/reviewsProduct demonstrationsSelf-organized teams

Continuous integrationAutomated testingPlanning and estimating

Page 6: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Engineering Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

Agile SW BenefitsEngineering, Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

• Boeing builds upon Scrum Pre-Planning

ProductVision

Planning: Vision Roadmap Release Iteration Daily• Boeing builds upon Scrum agile practices

• Agile Benefits Iteration Planning

New Requirements

Pre Planning

Demo/Review

Retrospection

WorkingSoftware

Planning: Vision Roadmap Release Iteration Daily

It tig• End result, higher quality, faster to

market, adaptable development

• Higher quality and faster if the environment is changing

Estimating and Prioritizing

Execution

DailyStandup

Iterations

g g

• Adaptive vs. Planned – Chaotic systems are inherently unpredictable, often software development is seen as a chaotic process.

Learning and Impediments

Boeing Agile Scrump

• Team involvement , The team chooses how much work can be accomplished,

oe g g e Sc u

5Copyright © 2011 Boeing. All rights reserved.

• Prioritizes work based on highest value

Page 7: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Engineering Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

Agile SW Development, My TakeEngineering, Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

• My take on this• Many practices of agile have been• Many practices of agile have been

practiced for years, such as continuous integration, desktop integration, automated testing, collocation etccollocation, etc.

• Agile gathers these best practices, then adds to them

• Team power, team work are pronounced in agile, power to the people

• Completing high value, small chunks of software first, then moving on to the next ones

Power to the people

6Copyright © 2011 Boeing. All rights reserved.

Page 8: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Engineering Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

Agile SW Development, What is DoneEngineering, Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

• What is done• Done is when a chunk of SW is sold off• Done is when a chunk of SW is sold off

• What about rework, refactoring?– Suppose to be rare– Just get it done againJust get it done again

• All done is when “all” chunks are sold off– Or when the money is gone– Or when people all leave

• How is this different than a “not agile” project– It isn’t, done when money is gone or people leave– It is different if the value of the work is greater

7Copyright © 2011 Boeing. All rights reserved.

Page 9: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Engineering Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

Software Architecture DefinedEngineering, Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

• SEI definition• set of structures needed to reason about the system,set of structures needed to reason about the system,

which comprise software elements, relations among them, and properties of both [Clements, et al]

• Phrased in another way• Phrased in another way• Architecture requirements

– Quality attributes (performance, availability, safety, security, evolvability, adaptability, etc)

– Business drivers ways to make money adhere toBusiness drivers, ways to make money, adhere to constraints

• Architecture description– Overall decisions about how the system will be constructed

how it will run, how it will be deployed, p y– Tactics and strategies to accomplish the architecture

requirements– Provides guidance for the design, code, integration of the

system

8Copyright © 2011 Boeing. All rights reserved.

Page 10: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Engineering Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

Software Architecture BenefitsEngineering, Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

• Force intentional understanding of gdriving architectural requirements

• Help customer understand what they really need and can really getreally need and can really get

• Create distinct architectural products that guide the design andthat guide the design and development to achieve those QA

• Think before you buildy

9Copyright © 2011 Boeing. All rights reserved.

Page 11: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Engineering Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

Software Architecture, What is DoneEngineering, Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

• Often times, done means the architecture description is , pdone

• Code isn’t done, nor is working software accepted by the customer

• Customer may accept arch description to consider it y p pdone

• Sometimes it is a model that is done• But a model != architecture

• Rework and refactoring• Called architecture maintenance• The architecture should not change as code is g

designed, coded, tested• When arch change does happen, done means

redeliver the description

10Copyright © 2011 Boeing. All rights reserved.

Page 12: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Engineering Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

How agile and architecture don’t coexistEngineering, Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

• Classic take by the agile community• Architecture evolves or sprouts fromArchitecture evolves or sprouts from

iterations

• Little bit of architecture happens each day by everybodyby everybody

• Everybody should contribute to the architecture

• Scrum does not include distinct architecture phases, roles or products

• Their problems with architecture developers

• Have to wait too long• Ivory tower

11Copyright © 2011 Boeing. All rights reserved.

Ivory tower• It will just be wrong anyways

Page 13: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Engineering Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

How agile and architecture don’t coexistEngineering, Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

• Classic take by architects

A il ’t l• Agile won’t scale– Large distributed teams can’t do daily

standup– Rework will increase as time goes on

Refactoring will soon dominate all– Refactoring will soon dominate all iterations

– Building a house of cards

• Agile won’t know or meet QA• Agile won t know or meet QA– Upfront effort required to

know/understand QA– Meeting QA cannot sprout

Agile Foundation• Agile won’t do complex systems– Systems won’t integrate without upfront

planning, interface work, etc

Agile FoundationJust refactor the Jack

12Copyright © 2011 Boeing. All rights reserved.

• Agile works only if the architecture is already defined

Page 14: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Engineering Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

Don’t coexist, my takeEngineering, Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

• My take on this lack of co-existence

Agile comm nit• Agile community

• Needs to recognize the need for architecturearchitecture

• Needs to recognize when architecture ends and design begins

• Needs to accept that one size of pdevelopment process does not fit all projects

Architecture community• Architecture community

• Needs to recognize their own ivory tower• Needs to get something done quickly so

13Copyright © 2011 Boeing. All rights reserved.

Needs to get something done quickly so everybody is not waiting

• One size of process does not fit all

Page 15: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Engineering Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

How agile and SW architecture do coexistEngineering, Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

• Agile development of architectureg e de e op e t o a c tectu e• What is done, does architecture done count as

done?

• Develop in small chunks, most important chunksDevelop in small chunks, most important chunks first

– We have been doing this for years– Iterative development

Pi k t i t t t fi t– Pick most important aspects first– Delay what you can– Could do these more, be more agile

• Enable design, code, integration to start earlier– Without large scale rework

• Agile development of arch alone is not worth much

14Copyright © 2011 Boeing. All rights reserved.

g p

Page 16: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Engineering Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

How agile and SW architecture do coexistEngineering, Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

• Agile development of system that needs architecturearchitecture

• Architect, design, code, integrate, test deliver in small chunks

What chunks? What happens first?– What chunks? What happens first?

• Agile SW designers – Work together with architects

• Stop making those giant requirements specs and architectures that are late and significantly wrong

Nobody intends for this but that is– Nobody intends for this, but, that is how it ends up, sometimes

• Now, what is doneArch part done some chunks are done

15Copyright © 2011 Boeing. All rights reserved.

– Arch part done, some chunks are done– Eventually arch is done– Keep on finishing chunks

Page 17: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Engineering Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

Boeing Approach for Agile including SW Architecture

Engineering, Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

m

Product Vision

Prog

ram

Capability 1Capability 2

Architecture

Feature 1Feature 2Roadmap

Feature 3Feature 4

leas

e

Coordination Team ct

Bac

klog

uire

men

ts)

Features fit in

Releases

Feature 2p Feature 4

ReTeam

Prod

uc(R

equ

ProductOwner Tasks

Rel

ease

Rel

ease

ScrumMaster

BASP Teams

Tasks

Based on an original diagram by Dean Leffingwell

Page 18: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Engineering Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

ExamplesEngineering, Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

• Examples

• Well known architecture

• Not well known architecture

• Requirements well known in advance

17Copyright © 2011 Boeing. All rights reserved.

Page 19: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Engineering Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

Well Known ArchitectureEngineering, Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

• 3 tier web based data delivery system What is the architecture

Browsertier• What is the architecture

– Well, each tier is based on COTS elements, standards are defined, patterns are well known, QA are determined by all those choices so it will be high availability open

tier

Application choices, so it will be high availability, open, modular, . So, the arch is really defined by industry norms. There are dozens of books on how to build a system like this given these arch decisions

Wh t i il h

pptier

D t b• What is agile here. – Well, develop small chunks using these

COTS, guidance and frameworks. Deliver those chunks to customer.

– Software only is the deliverable 3 tier architecture

Databasetier

– Software only is the deliverable• What if

– What if the team does not know the technology very well, or understand the arch very well?

3 tier architecture

Copyright © 2011 Boeing. All rights reserved.

y– COTS or standards change

Page 20: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Engineering Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

Well Known Architecture, DiscussionEngineering, Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

• What is the problem here• Arch decisions

– Arch decisions may not be the right ones up front– Quickly selected COTS – Change COTS or change technology– Change display platform and framework, causing rework.

Significance depends.

– So, arch still has to be decided before significant SW development takes place

– But, since it is classic COTS, guidance already exists. Many decisions do not require significant workq g

– For those that do not know the technology, get the book

• Does agile work– Sure, works great, in fact this is an ideal place for agile

19Copyright © 2011 Boeing. All rights reserved.

Page 21: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Engineering Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

Not Well Known ArchitectureEngineering, Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

• Safety critical surveillance and weapons s stemsystem

• What is the architecture? – To be developed, QA are not all known, such

t f il bilit fas amount of availability, performance, reliability, safety, modifiability, configurability needed, etc. Not a lot of COTS, so patterns do not have books to back them up.

– What is in and outside of the system, needs further definition.

• What about agile?g– Working software is part of the embedded

system that includes hardware, missiles

– What would one agile developer do on day 1?

20Copyright © 2011 Boeing. All rights reserved.

Page 22: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Engineering Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

Not Well Known Architecture, DiscussionEngineering, Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

• What is the problem here• Arch decisions

– Architecture has to be developed, that will take time– What architecture to do first?

Software that is built using wrong COTS wrong frameworks wrong– Software that is built using wrong COTS, wrong frameworks, wrong messaging, wrong etc will have to be redone

• What about contracted subsystems, how to make them agile. One needs a contract and scope and SOW and requirementsneeds a contract, and scope, and SOW, and requirements, classically. These systems always have subcontracted parts.

• Does agile work here , To wait or not to wait– Working software is part of the embedded system that includesWorking software is part of the embedded system that includes

hardware, missiles– Delivering small working sub parts of missiles is not practical

or desirable– After many architecture decisions are made agile will work but

21Copyright © 2011 Boeing. All rights reserved.

– After many architecture decisions are made, agile will work, but– Customer to deliver to may be the system integration or test

team, not the final customer

Page 23: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Engineering Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

Well Known RequirementsEngineering, Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

• Performance intensive, deterministic Avionics system

AssumptionsControls and displays• Assumptions

– Seasoned veterans have built 10 of these in the past, know exactly what they want and how to do it. Requirements are well

displays

Guidance, nav Sensor to do it. Requirements are well known

– Architecture is not fully defined, new tools, new technologies, techniques will be usedA hit t d t b

And control interfaces

– Architecture needs to be developed

• What is agile hereSome arch decisions have to be– Some arch decisions have to be made before starting agile development

– Again, an embedded system, so delivery of chunks to test team

22Copyright © 2011 Boeing. All rights reserved.

y(not final customer)

Page 24: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Engineering Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

Well Known Requirements, DiscussionEngineering, Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

• What is the problem here• Arch decisions

– Arch still has to be decided before significant SW development takes place

• Does agile work– After some architecture decisions have been made, agile

development can start

• What is the value of agile if the requirements do not churn?• Reduced differential value of agile over traditional

23Copyright © 2011 Boeing. All rights reserved.

Page 25: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Engineering Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

Another TakeEngineering, Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

• Creationists vs evolutionistsCreationists believe in an architect They• Creationists believe in an architect. They believe that a preconceived and intentional architecture decides the outcome.

– After all, random lines of code don’t just make the right things happen Primordial goothe right things happen. Primordial goo doesn’t just spring to life.

• Evolutionists believe it all just happens, iterates and evolves to where we are todayiterates and evolves to where we are today.

– After all, the architect did not predict everything right. Things that did not evolve died.

• Nobody knows for sure, both think they are right. Maybe it is a bit of both.

• Same with agile and arch, both alone are

goo

24Copyright © 2011 Boeing. All rights reserved.

g ,partly right, perhaps together they are more right.

Page 26: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

Engineering Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

AcronymsEngineering, Operations & Technology | Boeing Research & Technology FaST | Networked Systems Technology

• BASP – Boeing Agile Software ProcessCOTS i l ff th h lf• COTS – commercial off the shelf

• Ivory Tower – where architects live• SEI – software engineering institute• SOW – statement of workSOW statement of work• SW – software – (not southwest)• QA – quality attributes

25Copyright © 2011 Boeing. All rights reserved.

Page 27: Boeing When Agile Software Development and Software … · 2012-05-22 · Boeing Approach for Agile including SW Architecture Engineering, Operations & Technology | Boeing Research

26Copyright © 2011 Boeing. All rights reserved.