agile architecture + outsourcing = agile outsourcing build, auto test, scm •technical debt &...

34
©2011 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice ©2011 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Ashok Gurumurthy Client Executive Marc Palmaffy Technology Consultant, Enterprise Architect Agile Architecture + Outsourcing = Agile Outsourcing

Upload: truongnhan

Post on 29-Mar-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

©2011 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice

©2011 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice

Ashok GurumurthyClient Executive

Marc Palmaffy Technology Consultant, Enterprise Architect

Agile Architecture + Outsourcing= Agile Outsourcing

Agile Architecture is the practice of making architecture and design decisions incrementally and iteratively with an emphasis on balancing the costs and risks of adaptability versus predictability.

“Agility is the ability to both create and respond to change in order to profit in a turbulent business environment.” - Jim Highsmith

“Architecture is the fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution.” - IEEE 1471

Which supplier is right, and does it matter at this time.

THIS WAS OUTSOURCED TO MULTI SUPPLIER…..

4

5/10/2012

4 5/10/2012 HP CONFIDENTIAL

Requirements

Acquirer

Supplier

5

5/10/2012

5 5/10/2012 HP CONFIDENTIAL

Delivery

6

5/10/2012

6 5/10/2012 HP CONFIDENTIAL

Refactoring and change orders

7

5/10/2012

7 5/10/2012 HP CONFIDENTIAL7

Fixes

Abstract

8 HP Confidential

degrees of Agility introduced into an Outsourcing enterprise.

Agile Architecture + Outsourcing = Agile Outsourcing

The trends of Outsourcing software development and introducing Agile practices are not new. However, there is a growing emphasis on combining Outsourcing with Agile to achieve total greater combined benefits. This fusion of benefits has the potential for major productivity gains in both commercial and government enterprises, however, the compound risks can also overwhelm the benefits if the acquisition model is not also transformed to be “Agile”.

Agile Software Architecture practices are the pivotal element in transforming traditional acquisition into holistic Agile Outsourcing.

Architecture Frameworks, Reference Models, and Abstract Release Plans provide the necessary input to Agile Contracting activities to define a clear vision, goals, and release cadence while allowing the flexibility in scope to realize the benefits of Agile and maintain an acceptable balance of risk.

The resulting Collaboration Interface between client and supplier drives Agile practices. Iterative architecture refinement, prioritizing design progression, and emergent design reviews are used to manage risk and keep development value-driven. Frequent releases of intermediate stable forms and transparent metrics to product owners provide the means to measure progress and provide Agile assurance.

This paper will draw on current Agile Enterprise transformation efforts underway at various Hewlett-Packard clients in the commercial and government sectors to illustrate Agile Outsourcing scenarios and degrees of Agility introduced into an Outsourcing enterprise.

Outsourcing is inevitable…

9 HP Confidential

Outsourcing – Common

Term

Most cases there are multiple suppliers

Objective is to reduce

cost

Matured over a period of

time, becomes

more complex

Outsourcing

Does outsourcing deliver its promise?

In Real World, Outsourcing Frequently Fails to deliver its promise

Top reasons why CIOs Outsource

But we also need speed…

11 HP Confidential

Business needs speed

We need more

collaboration

Show working models

Requirements are not

known 100% on day 1

Agile

What happens if you marry both ???

12 HP Confidential

More Benefits??

More Risks ??

Benefits Vs Risks

13 HP Confidential

Ben

efits

Ris

ks

Cheaper

Faster

Access to Global Talent pool

Loss of project control

Limited visibility into progress

Technical debt built into solution

Increased oversight overwhelm savings

Responsive to changes

Incremental delivery of business value

Quality built into each release

Cheaper and faster

Access to expertise

Responsive to change

Streaming business value

Higher Quality

Risk of overwhelming Technical Debt

Risk of building wrong thing (without product owner Coll)

Quick Releases of poor quality that can’t be fixed or changed quickly

No Architecture Up Front (“hurry up and fail”)Ad hoc design (“coding in circles”)

Lack of experienced disciplined developers

Lack of Product Owner collaboration

Outsourcing Agile Outsourcing Agile

Agile

Outsourcing

Outsourcing

Agile

Outsourcing Agile vs. Agile Outsourcing

14 HP Confidential

• Outsourcing Agile– Annual portfolio management funding decisions– Fixed-price, fixed-scope contracts with long development cycles before release– Comprehensive tollgates based on complete fixed requirements– But hires an “Agile” software development supplier

• Agile Outsourcing– Portfolio strategy updated quarterly or after every release– Variable scope contracts with multiple regular releases– Incremental and Iterative Requirements, Architecture and Design collaboration– Then, hires a software development supplier willing to work toward a product vision

with incomplete information

Agile Architecture is necessary to mitigate the combined Risks of Agile and Outsourcing and enhance the combined benefits

Agile CustomerNon-Agile Supplier

‐ Agile Architecture‐ Not aligned technically‐ Reduced Agile benefits‐ Outsourcing + Agile Risks

Holistic AgileCustomer &

Supplier

- Agile Architecture‐ Agile Product Owner‐ Agile Technical Practices‐ Outsourcing + Agile Benefits‐ Reduced & balanced Risks

Non-AgileCustomer &

Supplier

‐ No Agile Architecture or PM‐ Aligned Technically‐ No Agile benefits‐ Outsourcing Risks only

Agile SupplierNon-Agile Customer

‐ Non‐Agile Architecture‐ Not aligned technically‐ Reduced Agile benefits‐ Outsourcing & Agile Risks

Agile Outsourcing Benefits-Risks Quad Chart

15 HP Confidential

Low BenefitHigh Risk

High BenefitLow Risk

Cus

tom

er A

gile

Mat

urity

No BenefitLow Risk

Low BenefitHigh Risk

Supplier Agile Maturity

Agile Customer(Agile

Architecture)

Holistic AgileCustomer &

Supplier

Non-AgileCustomer &

Supplier

Agile SupplierNon-Agile Customer

Agile Outsourcing Assessment

16 HP Confidential

Cus

tom

er A

gile

Mat

urity

Supplier Agile Maturity

So, what is the best Path to Holistic Agile?

How does an Agile Enterprise deal with a Non-Agile Supplier?

How does an Agile Supplier

deal with a Non-Agile Customer?

Agile Practices Modeling

17HP Confidential

Agile Practices

• Agile practices dependency diagram (one variant)

• We need a model to evaluate and explain how Agile practices build‐up an Agile Enterprise

• For example, effective CI depends on Testing, Automated Builds, SCM, and the required Tools. 

Dependencies

18 HP Confidential

Agility Ranges

• Example of extremely non‐Agile project assessment

• Red Practices indicate non‐Agile or poor software practice assessment

Non-Agile Extreme

19 HP Confidential

Agility Ranges

• Example of partial Agile practices at Team‐level

• aka “Water‐Scrum‐Fall”

• Common Scenario

Agile Team-level Only

20 HP Confidential

Agility Ranges

• This is RARE – Why?

• Is it rare because it doesn’t work? 

• Or is it rare because it drives Agile behaviors?

• Hint:  if the Agile Architecture practice was turned red, this project would fail early

Agile Enterprise-level

21 HP Confidential

Agility Ranges

• Agile Portfolio Management and Architecture practices

• Enterprise practices aligned with [outsourced] Agile Team Practices

• Outsourcing development makes this alignment critical

Agile Enterprise

22 HP Confidential

Outsourcing Agile

• Plan‐Driven Management, Big‐Design Up Front, Fixed‐Scope Contracts create tension with a supplier trying to execute Agile development practices

• Supplier must adapt to client interface which creates friction and mitigates benefits of Agile

23 HP Confidential

Zone of Tension

Agile Outsourcing

• Agile Architecture aligns Portfolio Management & Contracting with technical practices

• Agile Contracts provide response to change, frequent releases, and variable scope

• Agile Architecture drives technical practices and cadence

Zone of Collaboration “ZOC”

24 HP Confidential

Agile Contract

Architecture Inputs to Agile Outsourcing

• Reference Software Architecture & Models support orderly incremental & iterative development with acceptable risk.

• Abstract Release Plans with target release cadence and Non-Functional Requirement goals support variable scope RFPs and Contracts that balance risk.

Enabling the Zone of Collaboration

25 HP Confidential

Initiating / Contracting Iteration 0 Iter1 Iter 2 … … Iter N

Agile Outsourcing Reference Timeline

26 HP Confidential

Inception

Portfolio Mgmt

Enterprise Architectur

e

Construction TransitionElaboration

Portfolio Mgmt

Enterprise Architectur

e

Portfolio Mgmt

Enterprise Architectur

e

Portfolio Mgmt

Enterprise Architectur

e

Solution Architecture

Architecture-First

Risk Assessment

RFP Design

Architecture Iteration 0

Envisioning with Team

High-Level Design

Technical Credit

Architecture Iteration 1..N

Design Reviews each Iteration

Technical Balance Sheet

• Reference Agile Project Lifecycle showing Architecture phases• In-flight feedback to Enterprise Architecture and Portfolio Management

Milestones

Phase

Tools

Practices

Goals

Initiating /Contracting Iteration 0 Iter 1 …

Agile Outsourcing Timeline

27 HP Confidential

Architecture Goals from Project Initiation thru Iteration 0

Funding Approval

Core Team in place

RFP Released

PO Signed

Sprint Planning

PM & Arch Tools Setup

CM & Data Mgmt Tools

Team & Backlog Tools Setup

IDE, Build, Test, CI Tools Setup

Solution Architecture

• Value Stories Developed• Scope Analysis• Risk Analysis• Tailor Abstract Release Plan• Evaluate Vendors• Initiate High-Level Design, Agile

Modeling

• Value Stories Developed• Scope Analysis• Risk Analysis• Tailor Abstract Release Plan• Evaluate Vendors• Initiate High-Level Design, Agile

Modeling

Architecture Iteration 0

• Establish Common Vision• High-Level Design, Agile Modeling• Backlog Value & Risk Prioritization• Training and Coding Standards• Agile “hello World” Demo - team dry-

run of TDD & CI to exercise tools and process

• Exit Iteration 0 with Technical Credit

• Establish Common Vision• High-Level Design, Agile Modeling• Backlog Value & Risk Prioritization• Training and Coding Standards• Agile “hello World” Demo - team dry-

run of TDD & CI to exercise tools and process

• Exit Iteration 0 with Technical Credit

Entry

Phase

Exit

Practices

Goals

… Iteration 1 Iteration 2 Iteration 3 … Iteration N

Agile Outsourcing Timeline

28 HP Confidential

Architecture from Sprint 1 thru Deployment

Sprint Planning

Sprint Planning

Sprint Planning

Sprint Planning

Baseline Agile Dev Demo

Design Review, SW Demo

Architecture Iteration 1..NArchitecture Iteration 1..NEmergent Design, OODEmergent Design, OOD

Test Driven DevelopmentTest Driven DevelopmentRefactoringRefactoring

Continuous IntegrationContinuous IntegrationAuto Build, Auto Test, SCMAuto Build, Auto Test, SCM

•Technical Debt & Risk Analysis, Enterprise Alignment•Technical Debt & Risk Analysis, Enterprise Alignment

•Complexity Management, Agile Modeling•Complexity Management, Agile Modeling

•Design for Testability•Design for Testability

•Leverage Reusability•Leverage Reusability

•Test Discipline, Step-wise Regression Testing•Test Discipline, Step-wise Regression Testing

•Enable Rapid Feedback and Process Control•Enable Rapid Feedback and Process Control

Design Review, SW Demo

Design Review, SW Demo Review, Deploy

Best Path to Enterprise Agile Transformation

29HP Confidential

Agile Customer(Agile

Architecture)

Holistic AgileCustomer &

Supplier

Non-AgileCustomer &

Supplier

Agile SupplierNon-Agile Customer

Summary – Best Path to Holistic Agile

30 HP Confidential

Architecture-enabled Path to Improvement

Agile Architecture Practices can

Drive Enterprise & Supplier Behaviors

Difficult for Supplier to Drive Customer Agile Improvements

Future Research and Development …

31 HP Confidential

1. Technical Debt Model

• Basis for in-flight assessment and design decisions

• Input to Assessment Model

• Used by Staging Team

2. Staging Team

• Rapid Engagement Model

• Establish Architecture and other best practices early

• Ensure Sprints start with Technical Credit

3. Holistic Assessment

• End-to-End Data• More accurately

calculate ROI of Agile practices

• Used to optimize Contracting

4. Agile Contracting

• Balance Risks• Maximize ROI• Leverage experience

and assessment data• Streamlined

Outsourcing model

Technical Debt Model Holistic Assessment

Staging Team Agile Contracting

Agile Architecture

AuthorsMarc Palmaffy is currently an Enterprise Architect and Technology Consultant at Hewlett Packard serving in the Strategic Enterprise Systems Agile Capability Group providing Enterprise-level Agile Transformation services and assessments.His prior experience includes developing product-line architectures, component frameworks, and model-based systems & software engineering techniques and integrating them into Agile delivery models at companies such as Xerox, Raytheon, and Eastman Kodak.He has a Masters in Software Engineering from Arizona State University and is a certified Scrum Master and PMP. Feel free to email him with questions or comments at [email protected]

• Ashok Gurumurthy is currently the Client Executive at Hewlett-Packard for one of HP’s largest clients. He has 15 years of experience in IT governance, Outsourcing, Program management & process improvements in the area of CMMI, 6 Sigma & ITIL. He was one of the reviewers of the initial CMMI-ACQ model. He managed the first CMMI-ACQ Pilot in one of HP’s client in 2006. He was also invited by the Software Engineering Institute to be in the CMMI-ACQ Pilot Panel in SEPG 2007 Conference in Texas and CMMI-ACQ rollout panel in SEPG 2008 conference in Florida. He presented various papers in SEI Conferences in topics around contract Management, Application Outsourcing Management and Multi Supplier governance. Feel free to email him with questions or comments at [email protected]

THANK YOU

Agile Architecture Activity Diagram (Iteration 1..N)

34

• Depicts Agile Architecture activities during Sprint 1..N

• Ideally, tight collaboration loop with Emergent Design and TDD Activities ( at least 1 cycle per iteration)

• Architecture/Design document repository can be more formal and persistent or lightweight and temporary, depending on criticality, scope, team size, distribution, etc.