Federal Aviation Administration Agile Acquistion Principles and Practices

96
FEDERAL AVIATION ADMINISTRATION AGILE ACQUISITION PRINCIPLES AND PRACTICES April 2016 MITRE Avinash Pinto = Michael E. Liggan = Nadya K. Subowo = Hugh G. Goodwin = Siroos Sekhavat-Tafti = Amanda M. Staley Approved for Public Release; Distribution Unlimited. 16-1231 ©2016 The MITRE Corporation. ALL RIGHTS RESERVED. MP160350

Transcript of Federal Aviation Administration Agile Acquistion Principles and Practices

Page 1: Federal Aviation Administration Agile Acquistion Principles and Practices

FEDERAL AVIATION ADMINISTRATION AGILE ACQUISITION PRINCIPLES AND PRACTICES

April 2016MITRE

Avinash Pinto = Michael E. Liggan = Nadya K. Subowo = Hugh G. Goodwin = Siroos Sekhavat-Tafti = Amanda M. Staley

Approved for Public Release; Distribution Unlimited. 16-1231 ©2016 The MITRE Corporation. ALL RIGHTS RESERVED. MP160350

Page 2: Federal Aviation Administration Agile Acquistion Principles and Practices
Page 3: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 1

EXECUTIVE SUMMARYThe Federal Aviation Administration (FAA) operates in a challenging environment to provide the safest

and most cost-effective air traffic management system in the world. To address the challenge, the FAA

acquires and operates a wide variety of information technology systems, from internal administrative

systems, similar to commercial businesses, to unique safety-critical air traffic control systems. Too often,

the development and implementation of these systems has involved cost and/or schedule overruns

that detract from the anticipated operational value, or involve times to acquire or develop that are not

sufficiently responsive to the needs of a changing environment.

As part of its commitment to continuous improvement to enhance acquisition outcomes, the FAA

is pursuing the use of Agile acquisition practices to accelerate the deployment of capabilities and to

ensure that capabilities exhibit greater user acceptance and operational value. Since Agile emerged

as a software development methodology in 2001, it has matured to become the leading software

development methodology in commercial industry. Agile has been used in critical mission software for

banking, healthcare, and automotive industries. Agile has growing adoption in agencies across the federal

government to deliver capabilities rapidly and iteratively to users and to realize the value of acquired

capabilities. The FAA is currently exploring how to best integrate Agile practices into the Acquisition

Management System (AMS).

This document represents an initial step in implementing Agile practices in FAA acquisitions, where

appropriate. The identified principles and practices provide insight to FAA acquisition executives regarding

implementing Agile in the FAA environment, identifying differences between Agile and traditional

approaches and the prospective value of Agile. Among the considerations addressed are Agile influences

on planning, requirements management, contracting, cost and effort estimation, test and evaluation,

deployment, enterprise architecture, and program management. The principles and practices include the

vital topic of developing an Agile culture and organization. An approach to applying Agile acquisition to

AMS is suggested.

The FAA is currently in the early phases of adopting Agile, and this document provides the key principles

and practices that should be considered as it integrates this new approach. Next steps in Agile adoption

include:

• Assess organizational readiness and the prospective challenges involved in pursuing Agile.

• Train the workforce to understand and apply Agile principles and practices, including modifying

practices as appropriate in response to the needs of the environment.

• Pursue an Agile Pilot program to validate practices adapted to the FAA.

• Evaluate and adopt emergent system engineering practices that enable and complement Agile

development.

Page 4: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N2

ACKNOWLEDGMENTSThis document is the product of a collaboration between the Federal Aviation Administration (FAA) and

MITRE’s Mission-Oriented Investigation and Experimentation (MOIE) program, an independent research

and development (R&D) program sponsored by the FAA. The MOIE program is focused on R&D for

sponsor mission applications, and this project was selected due to its relevance and potential impact on

FAA acquisition and systems engineering.

This document has been adopted by the FAA, and is available on the FAA Acquisition System Toolset

(FAST) website at: http://fast.faa.gov.

The authors are grateful to several individuals from MITRE for their subject matter expertise, review, and

support. These include:

• Craig Wanke

• Andy Anderegg

• Urmila Hiremath

• Dennis Sawyer

• Dean Lamiano

• Greg Howard

• Pete Modigliani

• Su Chang

• Awais Sheikh

• Sadia Syeda

• Duncan Thomson

• Frank Willingham

Page 5: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 3

Introduction 6 1.1 Purpose 6 1.2 Document Organization 6 1.3 Agile Fundamentals 7 1.3.1 Agile Origins 7 1.3.2 Differences between Agile and Waterfall 8 1.3.3 Agile Process and Framework 10 1.3.4 Scaling Agile 14 1.3.5 Agile Acquisition 15 1.4 Agile Adoption in the Government 16

Tailoring the Acquisition Management System for Agile Acquisition 18 2.1 Introduction 18 2.2 Determining When an Agile Approach Applies 18 2.3 Example Agile Lifecycle Alternative 23 2.3.1 Define Need 26 2.3.2 Service and Investment Analysis 26 2.3.3 Execution and Deployment 27 2.3.4 Support and Maintenance 28 2.3.5 Agile Acquisition Artifacts 28 Applying Agile within the Acquisition Management System 30 3.1 Agile Culture and Organization 30 3.1.1 Adopting the Agile Culture 30 3.1.2 Integrating Agile Knowledge 31 3.1.3 Defining Agile Roles and Responsibilities 32 3.1.4 Developing Organizational Agility 36 3.1.5 Scaling Agile Practices as Necessary 37 3.1.6 Agile Culture and Organization Challenges 39 3.2 Agile Planning 41 3.2.1 Defining Multi-level Plans for Evolving Stakeholder Needs 42 3.2.2 Refining Plans Continuously 43 3.2.3 Agile Planning Challenges 44 3.3 Agile Requirements 45 3.3.1 Satisfying the Customer’s Needs 45 3.3.2 Evolving Requirements and Reflecting Regularly 46 3.3.3 Agile Requirements Challenges 48 3.4 Agile Cost and Effort Estimation 50 3.4.1 Evaluating Cost Based on Complete Work Performance 52 3.4.2 Increasing Fidelity of Work Estimates over Time 55 3.4.3 Agile Cost and Effort Estimation Challenges 56 3.5 Agile Contracting 56 3.5.1 Structuring the Contract to Support Agile Practices 57 3.5.2 Defining and Leveraging an Agile Contracting Strategy 57 3.5.3 Agile Contracting Challenges 61

1

2

3

TABLE OF CONTENTS

Page 6: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N4

3.6 Agile Test and Evaluation 61 3.6.1 Satisfying Users through Collaboration 63 3.6.2 Testing Delivered Software 64 3.6.3 Maintaining a Constant Pace of Testing 66 3.6.4 Evolving Tests with the Software Design 66 3.6.5 Measuring Working Software 66 3.6.6 Agile Test and Evaluation Challenges 67 3.7 Agile Deployment and Sustainment 67 3.7.1 Collaborating with Users 68 3.7.2 Satisfying Users through Delivery of Useful Software 69 3.7.3 Delivering Working Software Frequently 70 3.7.4 Adapting to Changing Circumstances 70 3.7.5 Promoting Technical Excellence and Good Design 71 3.7.6 Agile Deployment Challenges 71 3.8 Agile Program Management 72 3.8.1 Fostering a High-Performance Cross-Organizational Team 73 3.8.2 Providing Effective Technical Planning, Monitoring, and Execution with Agile Program Management 75 3.8.3 Agile Program Management Challenges 76 3.9 Enterprise Architecture—Transition to Agile 77 3.9.1 Valuing Individuals and Interactions over Processes and Tools 78 3.9.2 Maintaining Simplicity—the Art of Developing “Good Enough” 79 3.9.3 Engaging Stakeholders Continuously 80 3.9.4 Adapting to Changing Circumstances 81 3.9.5 Challenges with Applying Agile to Enterprise Architecture 81 Next Steps 83 References 85 Appendix A Glossary and List of Abbreviations 88 A.1 Glossary 88 A.2 List of Abbreviations 90

45

Page 7: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 5

LIST OF FIGURESFigure 1-1. Agile and Waterfall Differences 9Figure 1-2. Fixed vs. Flexible in Waterfall and Agile 10Figure 1-3. Agile Development Process 11Figure 1-4. Agile Acquisition in the Government 16Figure 2-1. Increasing Alignment of AMS Investment Types and Categories with Agile 19Figure 2-2. Agile Lifecycle Model 24Figure 2-3. Agile Acquisition Lifecycle Model Detailed Process 25Figure 2-4. Agile Lifecycle Model Required Artifacts 29Figure 3-1. Key Roles for Effective Execution of Agile Acquisition in the Enterprise 33Figure 3-2. A Multi-team Scrum of Scrums Model 38Figure 3-3. Segmenting a Large, Complex Program 40Figure 3-4. Agile Planning Stages 42Figure 3-5. Requirements Backlog Management 48Figure 3-6. Cone of Uncertainty 51Figure 3-7. General Depiction of Agile Cost Estimation Process 54Figure 3-8. Contract Types and Associated Risk Levels 59Figure 3-9. Traditional Conceptualization of Testing in Acquisition 62Figure 3-10. Agile T&E Integration 65

LIST OF TABLESTable 1-1. Agile Values and Principles 8Table 2-1. Questions for Agile Consideration 21Table 3-1. Cost Estimation Precision 53

Page 8: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N6

INTRODUCTION

1.1 Purpose The Federal Aviation Administration (FAA) operates in a challenging environment to provide the safest and

most cost-effective air traffic management (ATM) system in the world. To address the challenge, the FAA

acquires and operates a wide variety of information technology (IT) systems, from internal administrative

systems, similar to commercial businesses, to unique safety-critical air traffic control systems. Too often

the development and implementation of these systems has involved cost and/or schedule overruns

that detract from the anticipated operational value, or involve times to acquire or develop that are not

sufficiently responsive to the needs of a changing environment.

As part of its commitment to continuous improvement to enhance acquisition outcomes, the FAA

is pursuing the use of Agile acquisition practices to accelerate the deployment of capabilities and to

ensure that capabilities exhibit greater user acceptance and operational value. Since Agile emerged

as a software development methodology in 2001, it has matured to become the leading software

development methodology in commercial industry. Agile has been used in critical mission software

for banking, healthcare, and automotive industries. Adoption of Agile is growing in agencies across the

federal government to deliver capabilities rapidly and iteratively to users and realize the value of acquired

capabilities. The FAA is currently exploring how to best integrate Agile practices into the Acquisition

Management System (AMS).

This document represents an initial step in implementing Agile practices in FAA acquisitions, where

appropriate. The identified principles and practices provide insight to FAA acquisition executives regarding

implementing Agile in the FAA environment, identifying differences between Agile and traditional

approaches and the prospective value of Agile. Among the considerations addressed are Agile influences

on planning, requirements management, contracting, cost and effort estimation, test and evaluation (T&E),

deployment, enterprise architecture, and program management. The principles and practices address the

vital topic of developing an Agile culture and organization. An approach to applying Agile acquisition in

AMS is suggested.

1.2 Document Organization This document describes the principles, practices, and challenges associated with an FAA Agile Acquisition

process. Section 1.1 has discussed the purpose of this document. The remainder of this document is

organized as follows:

The remainder of Section 1 provides background on the Agile process (Section 1.3), and the status of Agile

adoption in government (Section 1.4).

To effectively implement Agile within the FAA, the canonical AMS lifecycle needs to be adapted. Section 2,

Tailoring Acquisition Management System for Agile Acquisition, provides guidance for determining when

1

Page 9: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 7

1. INTRODUCTION

Agile best applies to a program and suggests a notional Agile lifecycle model.

Section 3 addresses the key aspects involved in applying Agile within the AMS. These aspects include the

following:

• Agile Culture and Organization (Section 3.1) discusses the roles and responsibilities for executing an

Agile Acquisition.

• Agile Planning (Section 3.2) presents the evolution of current strategic and tactical planning activities

toward one that facilitates continuous improvement.

• Agile Requirements (Section 3.3) details a requirements solicitation and management framework that

promotes delivery of valuable products in an iterative manner.

• Agile Cost and Effort Estimation (Section 3.4) identifies the changes to current cost and effort

estimation processes when accommodating an Agile development process.

• Agile Contracting (Section 3.5) presents the most effective contracting strategies suitable for

executing an Agile Acquisition.

• Agile Test and Evaluation (Section 3.6) discusses a re-conceptualized Agile T&E framework.

• Agile Deployment and Sustainment (Section 3.7) identifies an Agile approach that promotes

continuous development and management based on technical excellence and responsiveness

to users.

• Agile Program Management (Section 3.8) presents an approach for the necessary organization and

administration activities when executing an Agile Acquisition.

• Enterprise Architecture-Transition to Agile (Section 3.9) highlights the Agile principles that may be

adopted when developing the enterprise architecture, including any supporting artifacts.

• Next Steps (Section 4) concludes with the identification of follow-on activities in preparation for

developing a more comprehensive execution plan.

1.3 Agile Fundamentals

1.3.1 Agile OriginsThe Agile methodology is a philosophy and collection of techniques that promote adaptive planning,

evolutionary development, early and iterative delivery of functionality and operational value, and

continuous improvement through user feedback loops. The Agile process is conducted through the

collaboration of self-organizing, cross-functional teams and provides an alternative to traditional project

management and development approaches (e.g., Waterfall, Spiral, or the V-model).

In response to the increasing potential for software development project failures, as documented in

studies such as the Standish Group CHAOS reports [1], software development researchers/practitioners

defined alternatives adapted from incremental approaches and Lean principles that have come to be

known as “Agile.” The term was coined in February 2001 by a group of software developers meeting

at the Snowbird Resort in Utah to discuss lightweight software development methods. These methods

were being evolved in response to increasingly cumbersome and document-driven development

Page 10: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N8

processes perceived to be impeding software development. The fundamentals of Agile were captured

in the publication of the Manifesto for Agile Software Development [2], which expresses the values and

principles of the Agile development approach. Agile development has become increasingly popular

in the software development community and continues to expand in scope and application to larger

developments, to more challenging environments such as government IT procurement, and to the

conduct of project activities not directly related to software.

The Agile manifesto expresses four values and 12 principles, depicted in Table 1 1. The bolded items under

Agile Development Values represent items of the highest value.

AGILE DEVELOPMENT VALUES AGILE DEVELOPMENT PRINCIPLES

1. Individuals and interactions over Processes and tools

2. Working software over Comprehensive documentation

3. Customer collaboration over Contract negotiation4. Responding to change over Following a plan

1. Customer satisfaction by rapid delivery of useful software

2. Welcome changing requirements, even late in development

3. Working software is delivered frequently (weeks rather than months)

4. Close, daily cooperation between business people and developers

5. Projects are built around motivated individuals, who should be trusted

6. Face-to-face conversation is the best form of communication (co-location)

7. Working software is the principal measure of progress8. Sustainable development, able to maintain a constant

pace9. Continuous attention to technical excellence and

good design

10. Simplicity—the art of maximizing the amount of work not done—is essential

11. Self-organizing teams

12. Regular adaptation to changing circumstance

1.3.2 Differences between Agile and WaterfallFigure 1 1 summarizes the primary differences between the Agile approach and the commonly employed

Waterfall approach.

The Waterfall model is a sequential process in which progress flows through sequential phases

of conception, initiation, analysis, design, development, testing, production/implementation, and

sustainment. Conceptually, each phase is completed before moving to the next phase. The model is

considered to be derived from the manufacturing and construction industries and was applied to software

development in the absence of software-specific alternatives. The process shuns change in subsequent

phases, emphasizing the need for comprehensive planning up front.

Agile Values and PrinciplesTable 1-1

Page 11: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 9

1. INTRODUCTION

In contrast, the Agile model is iterative, with progress advancing incrementally in small units of

development activity, which deliver complete functions. Each iteration of development activity involves

aspects of analysis, design, development, testing, and demonstration. User feedback is provided in

each iteration to better ensure the operational suitability of the evolving product (e.g., a capability or

service). Rather than focusing on comprehensive planning and shunning change, the Agile model involves

expecting and adapting to change. It involves doing “just enough” planning to execute the intended

development through just-in-time decomposition and decision making. “Just enough” details are

developed to maintain progress (avoids over-engineering), and commitment-level decisions are deferred

until ready to execute.

AGILE SUBJECT WATERFALL

Elaborated throughout –

Expects that requirements cannot be perfect from the start

RequirementsFully defined and well understood Up-Front

Highly collaborative Management Structure Command and control

Short, iterative cycles Release Schedule Single release

Expected part of every iteration Perspective on ChangeA deviation from the baseline requir-ing a formal change request

Focus on flexibility and value delivery Delivery Focus on requirements

Indefinite delivery, indefinite quantity, time-and-materials, short term task orders

Contracting Vehicle Orientation Firm fixed price contracts

Important, but developed as needed – just-in-time

DocumentationDocumentation is critical and re-quired up-front

Agile and Waterfall DifferencesFigure 1-1

Unlike the Waterfall model, in which requirements are fixed and degrees of freedom are often the cost

and schedule, the Agile model allows requirement changes and scope variability based on user feedback

or if issues impede function development. The Agile model adheres to schedule, applies resources

consistently (i.e., an established development capacity), and focuses on value delivery, as represented in

Figure 1 2. Prioritization of the requirements promotes realizing the most valuable capabilities first and

deferring or eliminating developments of lesser value, if necessary.

Page 12: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N10

Fixed vs. Flexible in Waterfall and Agile

1.3.3 Agile Process and FrameworkThe Agile model and philosophy have been instantiated in a number of branded methods with varying

focus and techniques. Scrum is the most popular and widely applied. In the sections that follow, the

Scrum method has been adapted for use in characterizing an Agile framework suitable for application to

government programs. The terminology utilized in this Agile framework is consistent with the terms used

by government programs applying Agile Scrum methods.

The Agile framework consists of events, roles, and artifacts. Figure 1 3 presents some of the core elements

of an Agile framework. This section details the events, roles, and artifacts.

Agile events include the following:

• The Sprint: In Agile, software/system capabilities are developed through a series of Sprints, a time-

boxed period during which a potentially releasable “working capability” is developed. The lengths of

Sprints (e.g., days to several weeks) are constant for a particular program. The Sprint duration selected

depends on the implementing organization and the overall complexity of the development, test, and

production environments. This defined timeframe assigned for each planned development activity is

called “time-box.” Time-boxing is limiting the amount of time conducted on an activity, and is a critical

aspect of the Sprint.

• Planning: The planning occurs at the Program, Release, and Sprint levels. Program planning is more

strategic in nature and includes defining the product vision and roadmap consistent with enterprise

objectives, and capturing and prioritizing the operational needs in the Program Backlog. Release

planning also is more strategic and focuses on how the program can incrementally deliver value

Figure 1-2

Page 13: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 11

1. INTRODUCTION

through major capability releases. During release planning, prioritized features from the Program

Backlog are selected for a particular release. Release planning occurs at a cadence commensurate

with the duration of each release development. At a Sprint level, planning is typically time-boxed to

a day for a one-month Sprint. Longer or shorter Sprint durations will have longer or shorter planning

times, respectively. Sprint planning entails two primary objectives: 1) identifying the list of features to

be developed during a particular Sprint (as selected from the Release Backlog), and 2) understanding

the work required to develop the features.

• Daily Scrum: The Daily Scrum is the heart of the Agile process, and is typically a 15-minute event

during which the Development Team coordinates and plans their activities for the next day. It is not

intended to be an event to foster a lot of discussion, but rather one in which progress is shared and

measured, and obstacles are identified. Three fundamental questions are asked of each Development

Team member during the Scrum:

o What did you do yesterday to contribute toward the Sprint?

o What will you do today to contribute toward the Sprint?

o Are there any impediments that are keeping you from making progress?

Following the Daily Scrum, team members meet to discuss issues at greater length, or to re-plan

their activities as necessary.

• Review: Reviews occur at the Sprint and Release levels. The purpose of the Sprint Review is to

provide a forum that allows the Agile team (Product Owner, Development Team, Scrum Master), the

Agile Development ProcessFigure 1-3

Page 14: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N12

acquisition team, and stakeholders to understand what was accomplished during the Sprint, relative

to the Sprint plan and Release Backlogs. During the review, the developed capability is demonstrated

to program stakeholders. Feedback received during the Sprint Review is used for subsequent Sprint

Planning. The Release Review serves a similar function, but it is a more prominent event as the

capabilities encapsulated in the Release will be delivered to the user community. The Release Review

has broader involvement, and includes stakeholders from interacting programs in addition to the

user community.

• Retrospective: Retrospectives occur at the completion of any significant Agile event—at the end of a

Sprint, Release, or Program. Retrospectives are an outcome of a “continuous improvement” mind-set.

The purpose of the Retrospective is to evaluate the event in terms of people relationships, processes,

and tools. It also includes a discussion of what went well, issues that arose, and resolutions that were

made. Based on the evaluation, improvements are identified and prioritized for implementation in

successive events.

Agile employs the following specific roles as part of its framework:

• Product Owner: The Product Owner is responsible for maximizing the value of the work conducted

by the Development Team. The Product Owner is responsible for the backlog, and prioritizing the

capabilities in the backlog in order of optimal business value. The Product Owner also works with

the Development Team to ensure that the product backlog is well understood. Note that the term

“product” is used loosely to represent a variety of solution types. It is meant to describe a given

solution to be acquired to address a mission need and does not always imply automation. Products

can be systems, services, procedures, policies, capabilities, or functions.

• Development Team: The Development Team is responsible for conducting the development

work necessary to deliver a potentially releasable increment of functionality at the end of each

Sprint. Development Teams are a holistic construct, and do not contain sub-teams. Development

Teams tend to have a combination of generalized and specialized expertise, which allows teams

to maintain stability across Sprints. Teams may be augmented with specialty engineers, who focus

on security, network management, data management, etc. They are cross-functional in nature,

empowered to organize themselves and decide how best to complete the work necessary for

each Sprint. Ideally, these teams contain no more than 7 +/- 2 members, in order to accomplish a

significant amount of work while keeping coordination overhead to a minimum.

• Scrum Master: The Scrum Master is responsible for maintaining the structure and the Scrum rules

of operation. The Scrum Master provides a “servant-leader” function to the Product Owner and the

Development Team. The Scrum Master works with the Product Owner on managing and prioritizing

the backlog, and works with the Development Team to maximize the quality of work accomplished

and ensure that obstacles to progress are removed. The Scrum Master serves a coaching function

for the Development Team’s members, and ensures that Agile concepts and practices are well

understood and applied.

Agile leverages the use of key artifacts as part of its framework, including a backlog and a set of

roadmaps. From a government perspective, these backlogs and roadmaps must be framed and

understood within the context of a program. Key artifacts include the following:

Page 15: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 13

1. INTRODUCTION

• Program Backlog: Comprises the set of functional and non-functional requirements to be delivered

by the Program. It contains a prioritized list of features, which are the key capabilities or services that

will be provided by the system that is being developed. The Program Backlog is never complete—it

initially identifies the best understood requirements, and subsequently evolves as the use for the

system and the understanding of the operating environment evolve.

• Release Backlog: Comprises the subset of Program Backlog requirements that has been selected for

the development of a specific Release. It contains a prioritized list of features, or services that will be

provided by the system during the next delivery to the user.

• Sprint Backlog: Comprises the subset of Release Backlog items that has been selected for

development for a given Sprint. It is owned and maintained by the Development Team and

encapsulates all the work necessary to complete the Sprint. The Sprint Backlog reflects a real-time

view of the completed and planned work in a Sprint, and is revised accordingly during a Sprint to

maintain accuracy.

• Roadmap: Describes the planned evolution of a product. It consists of smaller development efforts

(Sprints), and aligns the development schedule to business objectives.

An important element of consideration within the Agile process is the notion of requirements.

Requirements within Agile are written at different levels, depending on the following perspective:

• Epics: Epics are a large user story, often defined for a release that spans multiple Sprints. Epics may

reflect enterprise (business and architectural) level initiatives that are substantial in scope. Business

epics are user-facing initiatives that are intended to realize new opportunities and deliver benefits

to the user community. Architectural epics are technology initiatives necessary to evolve portfolio

solutions to support current and future business needs.

• Features: Features are program-level requirements that represent the key capabilities or services

provided by a system to fulfill stakeholder needs. Features are typically maintained in the Program

Backlog.

• User stories: User stories are Sprint-level requirements that describe the functionality desired by

a user and the non-functional requirements that act as constraints. User stories are written in a

structured format and maintained in the Sprint Backlog. A key aspect to consider for the User Story

is the “definition of done,” when the development of a capability is complete. Several factors may

influence when a capability is “done,” including: unit, integration, and acceptance tests have been

passed; acceptance criteria have been met; and the capability has been accepted by the Product

Owner.

In addition to the events, roles, and artifacts, the Agile framework also introduces new terminology

regarding the development process. Terms include the following:

• Cadence: Refers to development at a sustainable pace, where there is a consistent flow of activities

(e.g., planning and deployment and retrospective) within the time-box.

• Velocity: Represents the rate at which functionality is being delivered. It may be measured in terms

of story points per Sprint, where story points are a relative unit of measurement to describe the

complexity of user stories.

Page 16: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N14

• Burn-down chart: Graphically captures the amount of work left to do versus time. The chart

highlights the time left until completion of all work. It is a helpful tool for estimating when the work

will be accomplished, and can be used to estimate whether progress is ahead of or behind schedule.

1.3.4 Scaling AgileIn recent years, the success of Agile has resulted in the development of frameworks aimed at applying

Agile techniques to efforts of increasingly larger scope, projects of significant complexity involving more

than just Development Teams, and efforts outside the IT domain. A few of the more mature frameworks

include the following:

• Disciplined Agile Delivery (DAD): DAD is a process decision framework that encompasses

strategies and best practices from several other models. DAD emphasizes people first, is goal driven

and learning oriented in nature, and accommodates several system delivery lifecycles, including Agile

software delivery, Lean/Kanban, and a continuous delivery lifecycle. [3]

• Large-Scale Scrum (LeSS): LeSS applies Scrum to several teams working together on a single

product through two frameworks—LeSS and LeSS Huge. The latter scales to more than eight teams

and can accommodate up to a few thousand people. This framework applies the principles, elements,

and purpose of Scrum within a large-scale context. With LeSS, an organization-specific framework is

developed and applied, based on the product, processes, and organization design. [4]

• Scaled Agile Framework (SAFe): SAFe emphasizes an enterprise-wide approach to Agile, which

aligns activities at the Team, Program, and Portfolio levels. The framework addresses governance,

organizational, and technical processes, and their alignment across each level. SAFe promotes the

identification of business opportunities and architecture evolution at the Portfolio level, which are

then managed at the Program level and developed at the Agile Team level on a regular cadence. [5]

• Scrum-of-Scrums (SoS): SoS provides the means for an organization to apply Scrum at scale. In

SoS, multiple teams work together on the same product, with each having daily Scrum sessions to

coordinate activities. The timing of the Scrum meetings is aligned in order to offer the Scrum Master

(or another member) of each team to have a “Scrum of Scrums” meeting, which serves to coordinate

activities across multiple teams. SoS is an approach that has been adopted by other frameworks

aimed at scaling Agile techniques. [6]

1.3.5 Agile AcquisitionWhereas the roots of Agile began in software development, Agile techniques have broadened to

help programs acquire capabilities more expeditiously. Agile Acquisition is a strategy for providing

multiple, rapid deliveries of incremental capabilities for operational use and evaluation. It embraces

the values and principles outlined in Agile and adapts them to the acquisition process to facilitate

rapid development and delivery of business value. Agile Acquisition approaches comprise several

facets of the acquisition process, including requirements, systems engineering, contracting, costing,

development, integration/testing, deployment, and sustainment. The strategy assumes a predominately

software-based development of the system.

Page 17: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 15

1. INTRODUCTION

In an Agile Acquisition process, elements of the organization are aligned in order to support Agile

techniques. At the core, these elements comprise the Program Manager, system engineers, user

community representative(s), and the development and test team. Other key elements needed to support

the Agile process include the acquisition office, contracting officer, operational leadership, costing and

financial support, and enterprise architects. The user community is an important element that needs to be

defined early in the process and requires ongoing engagement. Within the FAA, the user community for a

program may include FAA Lines of Business, FAA personnel, the airlines, and general aviation.

Once the organizational elements are identified and defined with respect to their role in the Agile

Acquisition process, it is important to tailor the program structure to facilitate Agile Acquisition. Ideally,

the program is structured to realize the delivery of capabilities on a regular basis, without emphasizing

the need for extensive up-front documentation. Acquisition practices and functions are assessed and

evaluated to accommodate the appropriate Agile techniques required to facilitate expeditious delivery.

Some of the overall principles behind Agile Acquisition include the following:

• Structure the program to deliver usable capabilities every six to 12 months: Time-boxing

the delivery of capabilities (for development and deployment) every six to 12 months helps to

mitigate the risk of technology irrelevance or obsolescence prior to deployment. It also serves to

frequently align the delivered capabilities with emergent priorities and reduce integration risks. A

key aspect of this approach is to require the developer to deliver regular iterations of capability for

evaluation and/or deployment, as appropriate. This allows the government program, stakeholders,

and user community to provide frequent feedback into the development process, to ensure that

the capabilities meet user needs. It also allows for timely verification and validation, and test and

evaluation.

• Prioritize and evolve requirements in alignment with emergent needs: Instead of a formal

series of static requirements documents, requirements in Agile are typically managed through a

backlog of needs, where the backlog represents an evolving requirements baseline. The program

actively works with the user community and other stakeholders to identify the highest priority

needs, which are developed during the next available Sprint. The system engineers and architects

work with the program to ensure that the necessary infrastructure functionality is developed to

support existing and future capabilities. The backlog of needs is prioritized based on value and

duration—those that deliver the highest value and have the shortest duration are developed first.

After a Sprint, if a capability has been deemed good enough to meet user needs, development shifts

to the next priority.

• Leverage common infrastructure for development, test, and production: Agile techniques

emphasize the use of common infrastructure platforms to improve interoperability and security,

while decreasing costs and time required for deployment. Leveraging enterprise services (e.g.,

security, data dissemination) whenever feasible reduces development time so that programs

can focus on developing the core functionality required for capabilities. Automated tools enable

continuous integration and testing to reduce the delays caused by errors found downstream.

The common infrastructure platforms continually evolve to accommodate new capabilities and

infrastructure functionality.

Page 18: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N16

• Integrate users throughout the acquisition and development process: A key tenet of Agile

Acquisition is to integrate users throughout the acquisition and development process. It is important

for programs to strive to continually improve the mutual understanding between the acquisition and

user communities (both internal and external to the FAA). User conferences held with all stakeholders

can enhance collaboration, and facilitate clarification and consensus on the objectives and priorities

of the program. Regular system demonstrations to users can be a valuable means for users to provide

the necessary feedback. User priorities influence the capabilities included in successive Releases and

Sprints.

1.4 Agile Adoption in the Government Agile methodology has been widely adopted in software development. Currently, Agile is being expanded

to encompass enterprise-wide concerns through methodologies such as the Scaled Agile Framework [5]

and into systems engineering through the introduction of a chapter on Agile in the International Council

on Systems Engineering (INCOSE) handbook [8].

Agile Acquisition in the GovernmentFigure 1-4

Page 19: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 17

1. INTRODUCTION

The Department of Defense (DoD) is implementing guidance for conducting defense acquisitions using

Agile practices [7]. The White House has published a Digital Services Playbook that explicitly advises, “build

the service using Agile and iterative practices” (“play” #4) [9]. The TechFAR handbook [10] highlights the

flexibilities in the Federal Acquisition Regulation (FAR) that can help agencies implement “plays” from the

Digital Services Playbook that would be accomplished with acquisition support—with a particular focus

on how to use developers to support an iterative, customer-driven software development process, as is

routinely done in the private sector.

Agile Software Development and Acquisition practices have been implemented by several United States

(U.S.) federal government agencies, as shown in Figure 1 4. Successful Agile adopters include the DoD,

Department of Homeland Security, Department of Veterans Affairs (VA), National Aeronautics and

Space Administration (NASA), and National Geospatial-Intelligence Agency, among others. The following

examples highlight the impact of Agile in the federal government:

• DoD’s Global Combat Support System-Joint (GCSS-J) program began leveraging Agile practices in

2008 to better address user needs, and since then has successfully delivered capabilities to the field

every six months. [11]

• By introducing Agile practices in 2010, DoD’s Integrated Strategic Planning & Analysis program was

able to shorten the acquisition cycle duration between program initiation and Initial Operational

Capability by 45 months.

• Through utilizing Agile practices, NASA’s Mission Control Technologies project was able to shorten its

release cycle, with better results and lower costs than traditional development methods. Releases are

delivered to the customer every three weeks, and a formal release for operations is available every

three months.

• Prior to adopting Agile practices in 2009, the VA delivered IT capabilities every three to seven years.

Since adopting Agile practices, it delivers capabilities every 4.2 months on average.

Agile practices have also been adopted by several international government organizations. For example,

NATO successfully applied Agile to the development of a capability fielded at 20 NATO sites, with strong

user involvement. The time between contract award and fielding the capability was 1.5 years.

Page 20: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N18

TAILORING THE ACQUISITION MANAGEMENT SYSTEM FOR AGILE ACQUISITION 22.1 IntroductionThe FAA AMS provides policy and guidance for FAA acquisitions [34]. The AMS policy constitutes agency-

wide, mandatory requirements captured in the Acquisition Management Policy document [51]. Guidance

is provided in the form of guidelines, processes, instructions, templates, databases, handbooks, checklists,

and other information to execute the AMS policy [52]. This information guides and supports the workforce

in planning and executing acquisition management policy and all related lifecycle management and

functional discipline activities and processes. Acquisition management guidance is derived from the

acquisition management policy and should be followed unless there is a rational basis for adopting a

different approach.

Agile might be introduced to the AMS in several ways, including using the existing AMS tailoring

mechanisms to define an Agile approach, or to define an Agile-specific subset of AMS guidance. With

respect to the first, AMS provides the flexibility for organizations managing investment initiatives to

request tailoring of the AMS lifecycle management process by submitting a tailoring request to the

Acquisition Executive Board (AEB) [53]. The tailoring process [54] involves preparing a tailoring request

form [55] defining the requested tailoring with supporting rationale and providing it to the AEB for review

and approval and subsequent distribution to the Joint Resources Council (JRC). In this approach, Agile use

is treated as a program-specific request. The second way of introducing Agile is to update AMS guidance

to explicitly address Agile acquisition. Section 2.3 suggests an alternative Agile lifecycle with associated

decision points and artifacts that might be applied in either case.

2.2 Determining When an Agile Approach AppliesAn Agile Acquisition approach may apply when the prospective attributes of the acquisition and the

motivations for Agile application align. Acquisition program attributes are currently defined in the AMS

through investment types and acquisition categories (ACATs) [56]. First, a proposed FAA investment

program will be classified into an investment type (New Investment, Technology Refreshment, Facility,

Variable Quantity, or Support Contract). Second, the acquisition program will be classified into an ACAT for

that investment type based on the ACAT designation criteria. Programs will be assigned to the highest level

ACAT (starting with ACAT 1) in which they meet one or more of the designation criteria. Designation criteria

include total facilities and equipment (F&E) costs, single-year F&E costs, operations and maintenance (O&M)

costs, and other factors such as complexity, risk, political sensitivity, safety, and security.

Based on current interpretation and application of Agile methodologies, Agile may not apply to all

investment types. Agile may not apply to facility initiatives, which involve traditional facility design and

Page 21: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 19

2. TAILORING THE ACQUISITION MANAGEMENT SYSTEM FOR AGILE ACQUISITION

Increasing Alignment of AMS Investment Types and Categories with Agile

construction activities. Agile may not apply to variable-quantity programs that involve additions to and/

or modernizations of previously fielded systems nor to technology refreshment programs, which by

definition do not include new or improved capabilities.

Agile is most suitably applied to new investments, particularly those that are software intensive.

Agile originated in the software development community, and programs with significant software

development continue to be the primary target of Agile use. Agile may also be applied effectively to

software maintenance programs such as the software development and support service contracts

applied to National Airspace System (NAS) automation systems after deployment. Although more

typically resourced through O&M budgets, these programs involve significant amounts of software

development for problem resolution and capability enhancement that are prioritized and task-directed

by second level engineering organizations. Although not necessarily involving significant degrees of

software development, non-material programs might adapt Agile approaches (e.g., airspace design

or procedure development) for which software product analogies may be defined and the program

motivations share similarities with Agile.

ACAT level is another program attribute influencing the potential applicability of Agile. Although Agile

scaling frameworks have been and continue to be defined to apply Agile principles and methods to

programs of larger size and to enterprise-level portfolios, the more traditional application is to smaller

development efforts within the scope of one or several Development Teams. This would suggest that

smaller programs, reflected in higher assigned ACAT levels, are better aligned with Agile approaches,

pending maturing Agile capabilities within the organization.

Figure 2 1 illustrates the increasing potential applicability of Agile based on AMS investment type

and acquisition category. Green represents the region best aligned with Agile use. Best alignment

exists between new investments and support services of smaller size that involve software-intensive

development.

Figure 2-1

Page 22: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N20

A decision to use an Agile Acquisition approach should also involve alignment of the program with Agile

motivations. The motivations for Agile include the following:

• Business agility: There is a need or desired opportunity to streamline processes and decision making.

There is a need to respond to evolving requirements or a changing environment. There is a need or

desire for more opportunities to inject innovative acquisition or development approaches.

• Rapid delivery: There is a need or desired potential to deliver capabilities more rapidly without

diminishing product quality.

• Sustainable delivery: There is a need or desire to provide a consistent, sustainable pace of

development that makes development more predictable (i.e., no “death marches”).

• Plan adherence: There is a need or desired opportunity to promote schedule and resource

adherence, exercising flexibility with respect to function/feature scope as a potential trade-off. Short

planning and development cycles inherent in Agile approaches promote accurate planning and

measured progress.

• User acceptance: Iterative development through Sprints and Releases provides opportunity for

frequent user feedback and enhanced product operational suitability, decreasing the risk in solution

delivery.

• Cost-effectiveness: Providing and maintaining focus on the needs/capabilities/ features of greatest

importance reduces unnecessary work and rework. Frequent feedback opportunities support

continuous process improvement. Pursuing “just enough” documentation reduces the potential

overhead of documentation that has little utility.

• Team satisfaction: The dedicated and self-directed Agile teams associated with Agile development

promote employee satisfaction through empowerment and workload balance. Trust is implicit in the

Agile process. Transparency and communication are promoted.

To summarize, a prospective acquisition program should consider an Agile approach when the program

possesses attributes and motivations that align with Agile. This alignment is reflected in responses to the

key questions for consideration shown in Table 2 1. Questions for Agile Consideration. Questions identified

as “factor” relate to intrinsic properties of the intended acquisition; they must be accommodated.

Questions identified as “plan” are those subject to influence by designing a program for Agile acquisition.

Page 23: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 21

2. TAILORING THE ACQUISITION MANAGEMENT SYSTEM FOR AGILE ACQUISITION

AGILE EFFORT SUITABILITY & SUCCESS PROSPECTS QUESTIONS

FACTOR/PLAN NOTES

Culture/Organization Aspects

Is there executive sponsorship for the effort?

Factor In many if not most organizations, introduction of Agile involves a cultural change. To overcome the impediments to change that are likely to occur, it is important that the leadership of the organization is visibly supportive of the effort.

Does the project sponsor understand and accept the Agile philosophy?

Factor Alignment of sponsor expectations and Agile program conduct is necessary to ensure spon-sor support.

Is there a commitment to provide end-user involvement?

Factor Customer collaboration and user feedback are fundamental to Agile methodology, involving an organizational commitment to provide the resources of user time and attention.

Is there a supportive relationship among stakeholders?

Factor Stakeholders should understand and be sup-portive of the Agile approach, such as incre-mental addition of capabilities.

Can the organization accommodate an Agile cadence?

Factor Agile methodologies suggest sprint durations of 2-4 weeks and program increment/release du-rations of 12-24 weeks, but the Agile philosophy promotes adaptability. The selected cadence must conform to the needs of the organization.

Is the Project Manager (PM) knowl-edgeable and experienced with Agile development?

Plan PM leadership is fundamental to align enter-prise, program, and development objectives and to ensure the program is conducted in an Agile fashion.

Is there a clear business owner who is dedicated to the effort?

Plan An authoritative and available business owner is necessary to ensure alignment of the effort with business objectives.

Does the acquisition team have the ap-propriate skills (i.e., Agile trained, cross-functional, critical domain knowledge)?

Plan The acquisition team must be knowledgeable of Agile methods as well as domain knowledge to effectively execute an Agile acquisition.

Are the core team members empow-ered to make decisions on behalf of their communities?

Plan Empowerment is implicit in the Agile values and principles; it is necessary to achieve the Agile goals of flexibility and rapid development pace.

Is the acquisition team dedicated to the effort?

Plan Dedicated teams are strongly encouraged to promote productivity and avoid the inefficien-cies of context switching between tasks, lapses in collaboration, and impeded communications.

Is the team effectively sized for Agile? Plan Agile methods suggest optimal team size based on research and ways to scale team organiza-tion for larger efforts.

Is the team co-located? Plan To promote communication and collaboration, the Agile ideal is for teams to be co-located. Recognizing that this is not always possible, technical means should be employed to pro-mote coordination.

Questions for Agile ConsiderationTable 2-1

Page 24: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N22

Are the necessary tools/resources avail-able to the team?

Plan Especially for new implementations of Agile, it is important to provide suitable Agile train-ing to the team and stakeholders. The Agile implementation may be facilitated by the use of Agile-oriented tools for managing backlogs and measuring progress in an Agile way.

Does the project have an experienced Agile coach/mentor?

Plan Especially when Agile is being introduced and adapted to a new environment, it is important to have an experienced and trusted advisor to whom the team can turn for guidance and advice.

OPERATIONAL/TECHNICAL ASPECTS

Does the program involve a new in-vestment or capability acquisition with substantial software development involvement?

Factor Although Agile principles and practices may have broader application, the origin of Agile and motivation for its evolution have been to pro-mote more effective software development.

Does the capability involved have direct business value?

Factor The Agile principle of satisfying the customer and practices of prioritizing requirements and managing backlogs are significantly im-peded without clarity about the business value involved.

Does the capability involved represent a critical function or potential operational bottleneck?

Factor Critical functions and potential bottlenecks sug-gest a combination of time criticality and func-tional completeness that are not consistent with the Agile expectation of scope flexibility.

Is the prospective program “rightsized” for Agile application (e.g., ACAT 4 or 5) given the current maturity of Agile use in the organization?

Factor Although approaches exist for scaling Agile for application across the enterprise, greater expe-rience exists with smaller efforts, and smaller efforts are more adaptable as the organization matures its Agile practices.

How subject to change are the capabilities created by this effort?

Factor A fundamental value of Agile is adaptability and responsiveness to change. If change isn’t a prop-erty of the environment, then the utility of Agile is diminished.

Does the program need or benefit from rapid and incremental delivery of opera-tional capabilities?

Factor Agile emphasizes the rapid delivery of value at an established development cadence. If the op-erational environment constrains the ability to change operational capabilities frequently, then the value of Agile will be diminished.

Is the program sensitive to user accep-tance and operational suitability issues that can benefit from early and frequent user feedback?

Factor Agile promotes frequent exposure of develop-ment products to users for feedback and ac-ceptance, promoting operational suitability. If the capabilities involved don’t have the sensi-tivity (e.g., embedded functions with little/no user interface), then the value of Agile will be diminished.

Does the program offer sufficient flex-ibility to define source selection and con-tract content that enable/promote Agile development?

Factor Agile value is undermined if the developer is unwilling or unable to collaborate in the Agile process, or if the contract disincentivizes an Agile approach (e.g., defines a single deliverable, focuses on documentation).

Page 25: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 23

2. TAILORING THE ACQUISITION MANAGEMENT SYSTEM FOR AGILE ACQUISITION

Is there a target architecture (e.g., stable infrastructure and standard interfaces) that would inform software design and development?

Factor Agile development is greatly facilitated by lever-aging existing assets, allowing development to focus on features of program unique value and reducing planning involved.

Is the program providing infrastructure on which other components will rely?

Factor Agile promotes adherence to cost and schedule, but with scope flexibility offering the degree of freedom needed for adjustment. If other proj-ects are dependent on specific functionality being provided by an Agile project, scope vari-ability may not be available and the Agile devel-opment could be over-constrained.

Can the requirements be prioritized? Plan Agile is based on evolving requirements, having the flexibility to trade off requirements of lesser importance to adhere to cost and schedule, and pursuing the highest value first. Satisfaction of these objectives involves effectively prioritizing requirements accounting for value, urgency, and dependencies.

Does the acquisition/development have a fixed timescale?

Plan The Agile emphasis on established cadence and schedule adherence aligns well with a need to meet a fixed timescale. Agile assumes that scope flexibility exists as a trade-off to meet schedule, understanding that effective prioriti-zation ensures satisfaction of critical functional-ity and performance.

Does the program offer sufficient flex-ibility to trade off lower priority functions and features for schedule adherence and resource constraints?

Plan Agile methodology depends on scope flexibil-ity. To promote achieving the greatest value, an Agile development needs a prioritized backlog that doesn’t demand completion. Situations may exist where this isn’t possible (e.g., the en-tire development effort is the minimum viable product).

2.3 Example Agile Lifecycle AlternativeApplying Agile principles to the AMS requires tailoring certain acquisition activities and artifacts

irrespective of the development lifecycle strategy (e.g., the Waterfall or Agile development practices).

The following sections present an illustrative Agile lifecycle model and associated artifacts. In this Agile

lifecycle model example, shown in Figure 2 2 and Figure 2 3, the current AMS process has been tailored

for a new, software-intensive system. This Agile Acquisition model focuses on the high-valued activities

and artifacts (e.g., items necessary to make an informed decision for acquisition), as shown in Figure 2 4,

from defining the mission need to establishing an acquisition strategy and business case, and finally to

articulating the implementation strategy and roadmap. The primary assumption is that there is flexibility

in scope and dedicated, trained Agile individuals to execute this Agile Acquisition. It must be stressed that

the presented example is only a draft, and there is a need to develop concurrence on an Agile lifecycle

adapted to the FAA environment.

Page 26: Federal Aviation Administration Agile Acquistion Principles and Practices

24 F E D E R A L AV I AT I O N A D M I N I S T R AT I O N

2. TAILORING THE ACQUISITION MANAGEMENT SYSTEM FOR AGILE ACQUISITION

Agile Lifecycle ModelFigure 2-2

Page 27: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 25

2. TAILORING THE ACQUISITION MANAGEMENT SYSTEM FOR AGILE ACQUISITION

Agile Acquisition Lifecycle Model Detailed ProcessFigure 2-3

Page 28: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N26

2.3.1 Define Need During the Define Need phase, the FAA is responsible for defining a vision that captures the mission need

and an enterprise understanding of the business and architecture capabilities. Aspects of Section 3.2, Agile

Planning, and Section 3.9, Enterprise Architecture—Transition to Agile, are relevant during this phase, as

it includes defining a vision and roadmap. The operational functions and environment are captured in

business and architecture epics, which will feed into the creation of a release roadmap, which is part of

the next phase (see Figure 2 3 for details on the relationship among vision, epics, and release roadmap).

As a solution has not been explicitly defined or selected, the epics should represent what the desired

operational end state should be in a moment in time, devoid of any design specifications. The Define Need

phase is an iterative process, where feedback loops are used to continuously refine the program backlog,

capturing new or changed enterprise (agency) priorities based on input from the user community.

Articulating the mission need and desired operational functions in the form of a vision document, a

program backlog, and program roadmap is critical to passing this first milestone, as the FAA’s decision

makers (e.g., JRC) must have evidence of an operational need.

2.3.2 Service and Investment AnalysisThe next phase, Service and Investment Analysis, focuses on establishing a program that will execute the

vision. The business and architecture epics, initially captured in the program backlog, will be decomposed

into a set of features, both functional and non-functional, and allocated to a release backlog (see Section

3.3 for more information on Agile requirements). These features are used to guide the development of an

acquisition and implementation strategy, as they represent the desired objectives/outcomes on which a

vendor will bid and deploy in a set timeframe. Prior to any further refinement of capabilities, the vision,

epics, and features will need to be evaluated against the enterprise architecture to ensure that there

are no duplicate existing or planned efforts and/or features. A Product and Release roadmap captures

the set of features to be included in a Release and the schedule of the Release (see Section 3.2 for more

information). Figure 2 3 highlights in yellow those high-priority features that represent a minimum viable

product (set of features that adds value from the user community’s perspective), which will be included in

the first Release. Special considerations such as user training must be accounted for when developing the

Release schedule.

The acquisition strategy includes development of a business case, which includes a cost/benefit analysis

and budget assessment (see Section 3.4 for information on cost estimation), and a contracting strategy.

To support frequent delivery of usable capabilities, the contract must be tailored appropriately to focus

on the activities and required deliverables (Contract Data Requirements Lists) that provide high value

(see Section 3.5 for information on Agile contracts). For example, the Request for Proposal may include

guidance on the expectations for incremental development processes, with more frequent program

reviews and specific Agile metrics for measuring performance from a program management perspective.

The FAA has a large role in conducting these activities prior to any development work. The expectation

at the end of this phase is for the FAA to have set up and identified the necessary resources to support

an Agile development process, including identifying a clear roadmap of features and FAA personnel

who will serve as a user community representative (Product Owner). Facilitation mechanisms to support

Page 29: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 27

2. TAILORING THE ACQUISITION MANAGEMENT SYSTEM FOR AGILE ACQUISITION

continuous feedback and engagement with the Development Team, systems engineering team (including

specialty engineering), and the Program Office are established. The following artifacts are developed as

required to proceed into the next phase and allow further development work with the contract awardee:

• Release roadmap that captures the scheduled development cycle and the release backlog

• Acquisition strategy, including the ACAT level and contract strategy

• Implementation strategy

• Business case to highlight the cost/benefit analysis and budget assessment.

2.3.3 Execution and DeploymentThe Execution and Deployment phases focus on the developer’s efforts and collaboration with the FAA.

Together, the FAA and the developer will form an Integrated Delivery Team, which includes specialized

personnel in systems engineering, security, T&E, program management, and contracts, to ensure the

successful delivery of capabilities. From a requirements and planning perspective, the developer will

begin to define Sprints and user stories (as part of the Sprint backlog) that decompose the release plans

and features from the release backlog. From Figure 2 3, three Sprints will address features 1 and 3 as

part of the first release, where the Development Team will design, develop, integrate, and test the user

stories assigned per Sprint. User stories that cannot be addressed or fulfilled by the end of the Sprint will

be reassessed for importance and go into the Sprint backlog for a future Sprint, if deemed a priority. In

addition, the release backlog should be re-evaluated for impact of a missed user story. Changes to the

backlog should be also reflected in the contract, where the program manager and the contracting officer

(CO) should continuously collaborate in defining the contract scope as necessary. The ability to flex on the

scope of the work at a Sprint level is for risk reduction purposes, as the Development Team is able to make

more informed design decisions. A Test and Evaluation Master Plan will capture the resources needed for

test and integrations, and is expected to evolve through the execution of each Sprint (see Section 3.6 for

information on T&E).

There are a number of program reviews (milestones) to ensure alignment of expectations between the

user community, Program Office, and developer. For example, in Figure 2 3, there is a review milestone,

the purple diamond marked PR2, after Sprint planning, where the FAA may sign off on the developer’s

plans for Sprint execution, specifying the user stories that will be addressed and mechanisms to support

integration and test (ask if build plans are executable). The frequency and duration of program reviews,

including the entrance and exit criteria, may be based on the complexity and needs of the Program

Office. While there is no “right number” of reviews, the Program Office should determine the number of

reviews that would provide the most value given a schedule and cost constraint in a more collaborative,

incremental development process, and may consider leveraging certain Agile events (e.g., Sprint

demonstration) as part of the review. For example, the requirement for a Preliminary Design Review

may be fulfilled through a number of smaller reviews, where features are demonstrated to the user

community, and a number of required and valuable systems engineering artifacts, including a user stories

(requirements-like) document and system allocation baseline for that subset of features, are completed.

Sprint demonstration occurs at the end of the Sprint and is a formal activity for the entire program to

evaluate the completed set of capabilities and provide feedback, which may become incorporated into

Page 30: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N28

the Sprint, Release, and program backlog. Subsequent successful Sprint demonstrations (e.g., number of

Sprints required to meet the Release goal) will culminate in the next decision point, Release Readiness, as

indicated by the red diamond marked D3 in Figure 2 3.

The decision milestone at the end of the Execution phase verifies and validates that the feature(s) provides

business value (addresses the users’ needs) and is fully tested and interoperable. Successful completion

of this milestone, D3, indicates that the FAA has a completed, working set of feature(s) that is ready to

be deployed to the field (i.e., features are operationally effective and suitable). The Deployment phase

specifically looks at introducing new solutions in the operational environment for the users, and includes

training users and system maintainers and installing hardware and software. The induction of a new

operational solution may highlight certain defects that will need to be addressed for full site integration.

These defects must be captured in the backlog, prioritized based on input from the field user community,

and addressed in incremental Releases.

2.3.4 Support and MaintenanceFollowing the Deployment phase when the solution is in service, the Support and Maintenance

phase leverages continuous user feedback, where the Development Team identifies preventive and

corrective maintenance measures for a deployed solution (system or service) [7]. The Development

Team composition may change during the Support and Maintenance phase; regardless of the change,

the Development Team must have the same goal in mind as in previous phases of the Agile acquisition

process, ensuring valuable and working capabilities. The FAA should continuously assess the system/

service’s performance (e.g., data on feature usage) and its ability to address the mission need throughout

the system/service’s lifetime. For example, the retrospective may identify changes in the operating

environment, requirements, and/or interfaces, and safety and/or security issues (see Section 3.7 for

more information on Agile practices related to Deployment and Sustainment). Agile processes provide a

way to continuously address the risks of a program, where the user community (including site users and

operators), Product Owner, Development Team, and the program manager are all involved in determining

allocation of resources and in assessing the operations. This collaboration promotes the Agile principle

of delivering fixes and updates in a more predictable and incremental manner, where users’ needs are

satisfied through the delivery of a working solution.

2.3.5 Agile Acquisition ArtifactsFigure 2 4 depicts the artifacts for each phase of the lifecycle shown in Figure 2 3, where those highlighted

in green are highly valuable. The figure is not a complete representation of all possible artifacts and could

be expanded to consider any speciality engineering artifacts, including safety and security-specific artifacts,

such as an Operational Hazards Analysis. There is a relationship (trace) among these artifacts, where the

decomposition of the vision and epics manifests itself as user stories in the Sprint backlog and as other

systems engineering artifacts, including the Test and Evaluation Master Plan (TEMP) and any security

characterization documents. It is expected that these artifacts will evolve through the lifecycle, increasing

in maturity and being updated to reflect changes. Thus, it is important to understand the dependencies in

order to assess the impact of a change in the environment and maintain the traceability to the main vision.

Page 31: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 29

2. TAILORING THE ACQUISITION MANAGEMENT SYSTEM FOR AGILE ACQUISITION

Agile Lifecycle Model Required ArtifactsFigure 2-4

Page 32: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N30

APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM 33.1 Agile Culture and Organization At the heart of an Agile Acquisition approach are the people employed to conduct the roles and

responsibilities associated with acquiring, engineering, and developing capabilities. Defining and

understanding the Agile team concept is key to the success of the Agile approach. Agile software

development methodologies place a strong emphasis on prescribed roles for team members, aligning

each member’s technical expertise with the technical development needs. When extrapolated to

acquisition, the emphasis on roles is the same. A clear identification of the roles and responsibilities

associated with the acquisition, systems engineering, program management, and development

organizations provides the means for a program to successfully field capabilities in alignment with

identified priorities.

The key Agile principles associated with culture and organization are as follows:

• Adopt the Agile culture

• Integrate Agile knowledge

• Define Agile roles and responsibilities

• Develop organizational agility

• Scale Agile practices as necessary.

3.1.1 Adopting the Agile CultureOne of the most important elements to consider in moving to an Agile paradigm is institutional culture.

The Agile culture is a departure from the culture of institutions that have evolved in conjunction with

traditional approaches to acquisition, engineering, and development. An important aspect of introducing

Agile is to work with the existing community in a systematic way in order to promote adoption to the new

paradigm. Organizational change and design strategies are important elements to consider in this process.

The following practices can help to ensure that organizations and programs successfully adopt an Agile

culture:

• Identify a senior champion for the Agile approach. A senior champion with authority and

responsibility for the program can bolster sponsorship of the effort across organizations, and resolve

issues when necessary. The importance of this role cannot be overstated [12].

• Develop a culture of trust. Agile relies on close collaboration and empowerment of teams across

organizational boundaries, both internally to the FAA and externally with the contractor(s). A culture

of trust that spans these organizations is a critical aspect of creating an environment in which the

Page 33: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 31

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

engineering and development work can thrive. An important consideration in this regard is to help

shift the expectations associated with the “big bang” Waterfall development approach to one of

continuous capability evolution [7], where program managers may trust the Agile approach and

team’s judgement.

• Develop a strategy for culture change. It is useful for a program adopting an Agile approach to

identify each of the organizations impacted by the program, and ensure that there is a plan for

educating others on the new approach and any potential changes to roles and responsibilities.

• Align commitment across organizations. Each of the organizations impacted by the Agile approach

must be committed to the new model. An Agile approach may prescribe changes to existing roles

and responsibilities. These issues should be dealt with openly in a manner that facilitates learning

about the process and emphasizing the value of the approach. A senior champion can be a valuable

resource in developing organizational alignment.

• Utilize a dedicated Acquisition Team. Whereas the necessity of a dedicated Development Team is well

established in Agile guidance, it is important to note that the role of the Acquisition Team is equally

critical to the success of an Agile program. In early phases of the acquisition process, a dedicated

Acquisition Team helps to establish and ensure the continuity of the vision and goals for the program

across organizations. During implementation, the Acquisition Team works with the developer on a

daily basis to serve Product Owner roles and responsibilities, manage evolving requirements, and

serve as an interface to organizations beyond the program boundary [7].

3.1.2 Integrating Agile KnowledgeA clear understanding of the Agile mind-set and methodology is necessary to create the circumstances

for success with Agile Acquisition. Knowledge among Development Team members is critical for Agile

software development. Also, the acquisition and systems engineering organizations need to have the

knowledge necessary to facilitate acquiring, engineering, and managing using Agile methods. A consistent

level of knowledge across communities also provides for a common vocabulary when attempting to plan

and execute an Agile Acquisition.

Agile knowledge can be integrated through a variety of techniques. The following practices can help

programs to assimilate knowledge:

• To the extent feasible, it is recommended that programs recruit personnel with Agile expertise who have

worked within other FAA programs. If these skills are unavailable, personnel with Agile backgrounds from

other agencies or commercial organizations can also be suitable in addressing this need.

• Identify a senior champion for the Agile approach

• Develop a culture of trust

• Develop a strategy for culture change

• Align commitment across organizations

• Utilize a dedicated acquisition team

Practices for Adopting the Agile Culture

Page 34: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N32

• Leveraging an Agile coach can be a valuable means to ensure that programs are proceeding down an

Agile path. Coaches are experts in Agile methods, and should have several years of experience with

Agile methods across different roles and organizations. Coaches can also provide on-the-job training

to personnel, and help to identify and address gaps in Agile process or implementation.

• Training is an important component of enabling a successful Agile Acquisition. At the software

development level, it is important that each team member be familiar with the Agile methodology.

Training within the program management organization is another key enabler of success. In general,

given the disparate level of Agile knowledge within the government community, training should be

employed to provide a common frame of reference for the program team and serve as an enabler for

Agile Acquisition.

3.1.3 Defining Agile Roles and ResponsibilitiesWithin the commercial arena, the roles and responsibilities associated with Agile software development

are fairly well defined. The Agile team typically comprises the Product Owner, the Development Team,

and the Scrum Master. The key to successful Agile execution for the FAA is to translate these roles to

a government environment. Within the FAA, three perspectives need to be considered for roles and

responsibilities: the Agile team level, the program level, and the enterprise level.

Practices for Integrating Agile Knowledge

• Recruit personnel with Agile expertise who have

worked within other FAA programs

• Leverage an Agile coach to ensure that programs are

proceeding down an appropriate path

• Utilize training to enable a successful Agile Acquisition

Practices for Defining Agile Roles and Responsibilities

• Product Owners maximize the value of the work conducted by the Development Team

• Development Teams conduct the work necessary to deliver a potentially releasable increment of functionality at the end of each Sprint

• Scrum Masters maintain the structure, and the scrum rules of operation

• Program managers ensure the program is structured and can function in an agile fashion

• Lead engineers ensure that the system is developed in a manner that aligns with the FAA’s evolving enterprise

architecture and technology standards

Page 35: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 33

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

Key Roles for Effective Execution of Agile Acquisition in the Enterprise

While several of the roles at the program and enterprise levels within the FAA are well known and

understood, it is important to distinguish between typical responsibilities and those needed for programs

adopting Agile methods.

Figure 3 1 identifies key roles necessary for effective execution of an Agile Acquisition at different levels.

At the core is the Agile team level, which emphasizes the conduct of development work and delivery

of functional increments on the program’s cadence. Beyond the Agile team is the Program level, which

focuses on the planning and execution of work from inception to completion. The Enterprise level serves

various functions, which apply to the full gamut of programs within the FAA enterprise.

Figure 3-1

Page 36: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N34

The following outlines key roles and responsibilities for the Agile team within the FAA [13]:

• The Product Owner is responsible for maximizing the value of the work conducted by the

Development Team. Within the FAA, the Product Owner is the authorized representative of the

user community, interfaces with interacting programs, manages the prioritization of the backlog,

and regularly gives technical direction to the Development Team to provide the operational

perspective. The Product Owner also approves and accepts stories and provides acceptance criteria

and the definition of “done.” The Product Owner should be a government person. Given the FAA’s

organizational structure and the complexity of FAA programs, this role may be subdivided into

technical and operational leads (e.g., to obtain field representation of a user perspective). However,

lines of authority need to be clearly identified.

• The Development Team conducts the development work necessary to deliver a potentially

releasable increment of functionality at the end of each Sprint. The Development Team consists of

the full gamut of skills needed to deliver the release. This list can include systems engineers, software

developers, testers, integration engineers, architects, security engineers, data specialists, and IT

operations specialists.

• The Scrum Master is responsible for maintaining the structure, and the Scrum rules of operation.

The Scrum Master provides a “servant-leader” function to the Product Owner and Development

Team. Typical responsibilities include helping the Product Owner with backlog management,

removing barriers to the Development Team’s progress, and serving as a coach to ensure that the

Development Team maximizes value delivery.

Practices for Defining Agile Roles and Responsibilities (2)

• Identify an organization to work with the program to estimate costs and benefits for each increment

• The contracting organization executes contracts that solicit a mix of Agile and domain specific subject matter expertise

• The testing, information security, and safety & training organizations work on the program’s cadence to perform their mission

• Users provide input and feedback throughout the program’s lifecycle

• The enterprise systems and architecture organization aligns the program to enterprise technologies and standards to ensure interoperability with other

programs

Page 37: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 35

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

The following list identifies key roles and responsibilities at the program level within the FAA:

• The program manager is responsible for overseeing the planning and execution of the program

and the conduct of the government Integrated Product Team (IPT). The program manager works

within and outside the program to ensure that it is structured such that it can function in an Agile

fashion, especially with respect to the delivery of prioritized capabilities on cadence. The program

manager plays a key interface role between the enterprise and team levels, and builds awareness

across communities to help enable agility. An important responsibility of the program manager is

to ensure that the Agile team has an FAA Product Owner who is fully dedicated to the development

effort. From an enterprise perspective, significant responsibilities include working with the business

owners to identify capabilities and acceptance for releases, working with the investment planning

and analysis organization for increment-level budget planning, and working with the contracting

organization to define the appropriate contract type and solicit requisite Agile software development

expertise.

• The lead engineer works closely with the program manager to oversee the technical aspects of the

program. On some programs, the lead engineer role may be fulfilled by the program manager. Like

the program manager, the lead engineer plays an important interface role between the enterprise

and team levels. The lead engineer works with architects and systems engineers to ensure that

the system is developed in a manner that aligns with FAA’s evolving enterprise architecture and

technology standards. At an enterprise level, key responsibilities include working with other programs

on integration and technology-related issues as well as working with the technical operations,

information security, and safety and training organizations as appropriate to ensure that capabilities

can be delivered on the program’s cadence.

The following list identifies key organizational roles and responsibilities at the enterprise level within the FAA:

• Identify an organization to work with the program on estimating costs and benefits for each

increment.

• The contracting organization helps to select, define, and execute contracts that solicit for the

appropriate mix of both Agile and FAA domain-specific subject matter expertise (e.g., Air Traffic

Control system specific). The contracting organization is responsible for certifying that work is

complete, including oversight, accepting products and deliverables, and ensuring that invoices are

paid. A designated contracting representative may be a dedicated member of the IPT.

• The testing organization works with the program on verification and validation of capabilities on the

program’s cadence.

• The information security organization works to authorize, assess, and monitor FAA capabilities for

information security risks.

• The safety and training organization assesses the capabilities for potential impacts to safety and

works with the program to ensure that products are developed at an appropriate level of rigor. The

safety and training organization is a key partner in ensuring that users are trained and certified in

alignment with the program’s cadence.

• Users provide input and feedback throughout the program’s lifecycle. Input can be provided

during demonstrations, training sessions, and forums held for the explicit purpose of garnering user

Page 38: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N36

Practices for Developing Organizational Agility

• Use fully dedicated resources to the extent possible

• Adopt the prescribed roles and responsibilities of the Agile team

• Co-locate the Agile team as much as possible; effectively integrate distributed members if necessary

• Effectively integrate the IPT and developer teams

input. Typically, it is envisioned that the product owner will serve as the interface to users on the

program’s behalf.

• The enterprise systems engineering and architecture organization plays an important role in aligning

the program with enterprise technologies and standards to ensure interoperability with other

programs. Typically, it is envisioned that the lead engineer will play a key role in working with the

enterprise systems engineering and architecture organization throughout the program’s lifecycle.

3.1.4 Developing Organizational Agility

Organizational structure and behavior are important elements to consider within the paradigm of Agile

Acquisition. The organizational structure can either facilitate or hinder the delivery of an Agile program.

Structural considerations are especially important within the program team delivering capability. However,

attention also needs to be given to external organizational elements interacting with the program team.

Key practices related to developing organizational agility include the following:

• Use fully dedicated resources to the extent possible. Research has demonstrated that fully

dedicated team members are significantly more productive than those split across multiple tasks

and projects [14].

• Adopt the prescribed roles and responsibilities of the Agile team. The structure of the Agile team is a

time-tested key enabler of success within the Agile development model. Within the FAA, roles such

as systems engineers and architects do need to be considered where necessary. To keep coordination

overhead to a minimum, however, it is recommended that Agile teams refrain from adding roles that

do not directly contribute to the development effort.

• Co-locate the Agile team as much as possible, and effectively integrate distributed team members

if necessary. Successful Agile teams are co-located and are able to have face-to-face conversations

whenever necessary [2]. However, FAA programs that leverage multiple vendors may make co-location

across corporate boundaries infeasible. In such instances, it is recommended that each vendor team

be co-located. Where necessary, SoS sessions can leverage videoconference technologies for effective

communication.

• Effectively integrate the IPT and developer(s). Agile practices stress the need for highly involved

Page 39: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 37

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

Scaling Agile Practices as Necessary

• Establish separate Agile teams to scale with the size and complexity of the program

• Share Scrum Masters and Product Owners across multiple teams where practical

• Utilize a Scrum of Scrums model to coordinate across Agile teams

• To the extent necessary, separate Agile teams across corporate boundaries

• If the size of the program exceeds 150 people, segment the program into multiple efforts

government personnel (e.g., Product Owner) who are ideally available on a daily basis to provide input

for the Agile team. This may involve both a culture shift and training in new roles and responsibilities. It

is important that the IPT and developer evolve the trust and openness needed to lay the groundwork

for a successful collaboration.

3.1.5 Scaling Agile Practices as Necessary

Agile teams are most effective when the size of the team ranges between five and nine people [15]. Fewer

members typically limit the amount of work that can be accomplished (e.g., lack of necessary skill sets),

and more can create a coordination burden. Given the complexity of FAA programs, the development

effort for a program may not be effectively undertaken by a team of nine people. Therefore, it is likely that

several Agile teams would be needed. This is where scaling Agile practices comes to bear.

The following practices are recommended for scaling the level of Agile activity within a program beyond

the team level:

• Establish separate Agile teams to scale with the size and complexity of the program. The number

of Agile teams should reflect the development effort commensurate with the program’s objectives,

budget, and timeline. By being strategic about dividing teams, programs can attempt to minimize the

amount of integration needed across teams. Through the process of retrospectives, programs will

increasingly learn and improve their understanding of the number of Agile teams required to deliver

increments of functionality on cadence.

• Share Scrum Masters and Product Owners across multiple teams, if necessary. Given today’s culture

at the FAA and within industry, it is unrealistic to assume that Scrum Masters and Product Owners

will be dedicated resources available to the Agile team. Sharing these roles across teams provides

improved integration across the program and can enhance the effectiveness of the Agile teams.

• Utilize an SoS model to coordinate across Agile teams. An important aspect of scaling entails

synchronizing activity across the different Agile teams involved in the development effort. An SoS

brings together the Scrum Masters for each of the Agile teams involved in the effort as a means to

Page 40: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N38

A Multi-team Scrum of Scrums Model

• To the extent necessary, separate Agile teams across corporate boundaries. FAA programs may

leverage multiple contracts and vendors. Agile teams require a fair amount of flexibility in order

to plan and execute their work, and co-location is an important consideration. In addition,

interferences external to the project need to be removed to the greatest extent practical. Hence,

it is recommended that programs with multiple vendors have vendor-specific Agile teams unless

integration across teams can occur at the SoS and other levels.

• If the size of the program starts to exceed 125–150 people, segment the program into multiple efforts.

As size and complexity increase, it is important for programs to be mindful of Dunbar’s number [16],

which suggests that the productivity based on the ability to maintain an effective social network

decreases after the program exceeds 150 people.

solve issues across Agile team boundaries. A similar model should be employed to coordinate the

efforts of systems engineers and architects across multiple teams.

Figure 3 2 describes a model in which four Agile teams exist. Their activities are coordinated using an

SoS model.

Figure 3-2

Page 41: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 39

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

Figure 3 3 illustrates a means of segmenting a program into multiple efforts. The size and complexity of

the program necessitates 150 or more people across the program. To address this challenge, roles at the

program level include a program manager, a lead engineer, a deputy program manager, and a deputy

lead engineer. These roles coordinate at the program level to synchronize efforts across the segments. As

illustrated, each segment leverages multiple Agile teams for the development effort. Those activities are

coordinated using an SoS model.

3.1.6 Agile Culture and Organization ChallengesAdopting an Agile paradigm, particularly for early adopter programs, may have challenges in each of the

areas described in this section. These include the following:

• Adopting the Agile culture: The FAA’s culture generally conforms to accepted methods and practices,

which have been utilized by other FAA programs. While Agile practices have gained prominence

within the broader government community, the FAA lacks experience in their application. Given this

issue, identifying a senior champion for the Agile approach may be challenge. In addition, due to

the lack of Agile knowledge and expertise, developing a culture of trust and aligning commitment

across organizations may face barriers. To help address the challenge associated with trust and

aligning commitment, it is important to develop and pursue organizational design and culture change

strategies. An organizational change management plan can be leveraged to help transition FAA

organizations into successfully adopting the Agile paradigm. In addition, existing Agile projects are

underway within the FAA, and it would be prudent to select a senior champion who has familiarity

with or purview over these efforts.

• Integrating Agile knowledge: An important aspect of integrating Agile knowledge is the ability to

leverage personnel with Agile expertise on FAA programs. Given the lack of Agile experience within

the FAA, identifying candidates with Agile experience is likely to be challenging. Experienced Agile

practitioners may be found in other government agencies, and industry. In addition, the FAA may

leverage organizations such as General Services Administration’s 18F for Agile coaching to guide

project teams through the adoption of Agile practices during the project’s lifecycle.

• Defining Agile roles and responsibilities: An Agile approach may imply a departure from existing

and typical organizational roles and responsibilities. Cultural and organizational issues, including

the empowerment of teams, may impede progress. Prioritization is an important consideration

in Agile. The need to balance user priorities with those within other parts of FAA’s enterprise,

including the need to weigh and compare priorities, may be a challenge. Organizational design and

culture change strategies, and the organizational change management plan, should account for

the issues and challenges associated with transitioning roles and responsibilities where necessary.

Experience gained from pilot Agile projects will be invaluable to the FAA gaining expertise with the

process of prioritization.

• Developing organizational agility: In the existing culture, government personnel tend to be assigned

to multiple efforts; hence, ensuring that the government has a team dedicated to the Agile effort

may be a challenge. Given the prevalence of geographically distributed Development Teams, co-

location may introduce challenges for developer and government personnel. A dedicated team is a

Page 42: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N40

Segmenting a Large, Complex ProgramFigure 3-3

Page 43: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 41

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

key enabler to the success of Agile projects. In the long term, the organizational change management

plan can help the FAA transition into this paradigm for Agile projects. In the near term, a compromise

may be pursued, such as the ability to have team members dedicated between three and four days a

week. If the latter option is pursued, it is important for as many team members to be dedicated to the

effort as possible during an overlapping time period to facilitate communication. Where infeasible,

the need for co-location may be mitigated by technologies such as audio and video conferencing,

instant messaging, and online meetings.

• Scaling Agile practices as necessary: As FAA organizations currently lack experience with Agile

practices, scaling them to an appropriate level might prove challenging. Coordinating across Agile

teams and corporate boundaries, in addition to appropriately synchronizing the efforts, may also

be difficult. In general, it would be beneficial for FAA programs to obtain sufficient Agile experience

prior to introducing some of the complexities that scaling practices may bring. If large-scale Agile

efforts are pursued in the near term, before the FAA has the opportunity to gain maturity with Agile

practices, it is important that Agile coaching and training opportunities be pursued to the greatest

extent feasible. One option to consider is to hire a prime contractor with strong credentials in Agile,

with the responsibility to hire the subcontractors with the Agile and domain expertise necessary to

address the needs of the program. An SoS model and segmentation strategies should be pursued to

address the coordination and complexity associated with large-scale efforts.

3.2 Agile PlanningWithin the AMS, planning evolves from the strategic considerations of need, alternatives, and required

resources, to the tactical planning involved with executing solution development and implementation.

Agile approaches must meet the same planning objectives.

The key Agile principles associated with planning are as follows:

• Defining multi-level plans for evolving stakeholder needs

• Refining plans continuously.

Page 44: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N42

3.2.1 Defining Multi-level Plans for Evolving Stakeholder Needs

Agile Planning Stages

Practices for Defining Multi-level Plans for Evolving Stakeholder Needs

• Capture the high-level statement of need in the vision

• Capture the development schedule (the number of releases needed) to deliver working features

incrementally in a product roadmap

• Focus Sprint planning on how to achieve the release’s

objectives

Agile Acquisition planning activities must be tailored to support a more streamlined Agile Acquisition.

Constant coordination among the program, systems engineers, the user community, contracting, T&E,

and the Development Team are required to support frequent delivery of capabilities. Considering Agile

requirements practices, for example, planning activities include breaking down epics (large user stories

spanning multiple development iterations that require decomposition) into incremental releases (smaller

implementable user stories) based on features and evaluating the appropriate resource needs.

Industry Agile development practitioners [17] specify five levels of planning involving increased planning

precision. Figure 3 4 depicts the Agile planning hierarchy.

Figure 3-4

Page 45: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 43

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

For the FAA, this translates into having planning activities at the very beginning of the acquisition with

the development of the product vision, including a Concept of Operations, and the product roadmap

(schedule). These product outputs are influenced by the agency’s funding cycles, enterprise vision, and

enterprise architecture roadmap, including any agency priorities, standards, and best practices. Program

planning must occur at the Release, Sprint, and daily levels, and consider cost, schedule, and resource

constraints. While there are some similarities to the AMS planning process, the differences lie in the level

of detail and the planning horizon. For example, the product vision may capture the agency’s goals in a

five-year plan at a very high operational level, and the roadmap may depict a strategic evolution timeline

showing the evolution of the operational environment within those five years.

The product vision and roadmap look into the future (on the scale of years) and prioritize the

operational needs and associated epics for development. The release plan is a derivation of the vision

and roadmap and is a narrower look ahead, about six months, where specific features are selected to

be addressed through Sprints. The planning until this point is more strategic. It focuses on how the

program can incrementally deliver value through major releases (as defined through prioritization

of features), and usually involves the user community and the program managers. Commitment to

these releases occurs at release planning and at the Sprint and daily levels, where Development Teams

determine and negotiate the work the team commits to deliver within the Sprint.

Sprint planning is tactical in nature and is based on past accomplishments and the backlog of user stories

(description of a desired feature from an end-user perspective). Sprint planning occurs at the beginning

of the Sprint and establishes the goals for a particular Sprint cycle (whether it is accomplishing code

development for a new capability or determining the baseline subsystem architecture). The goal of Sprint

planning is to outline how the Development Team will achieve certain release objectives during a fixed

period of time (i.e., the Sprint duration). The daily commitment plan is specific to Daily Scrums, where

the Development Team and the Product Owner assess the Sprint plan and the team’s abilities (resource

allocations and task estimations) and make necessary adaptations based on the team’s current status. (The

Scrum Training Series [18] provides an overview of the Sprint planning process.) The focus of these daily

planning meetings is more specific to individuals on the Development Team and their assigned tasks. At

these lower levels of planning, the Development Team and the Product Owner are contributors to the

planning activities [19].

3.2.2 Refining Plans Continuously

Practices for Refining Plans Continuously

• Continuously refine Agile plans

• Ensure alignment from vision to Sprint plan

Regardless of the level, planning activities must consider how to address the users’ needs while evaluating

the priorities, architecture significance, and risk [20] in order to define the following:

Page 46: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N44

• What needs to be done?

• When does it need to be done?

• Who will perform the work that needs to be done?

As Agile development is based on continuous feedback; the same principle should be applied for Agile

program planning. The program manager and Agile Team should continuously assess inputs and changes

made at the lower level (Sprint and daily) for impact and capture them in the previous planning level

to ensure alignment. For example, changes at the Sprint planning level, including not fully completing a

user story, may affect the current release plan. As a result, the program manager and Agile Team should

reassess the release plan based on risk and reprioritization. The intent of planning activities is to ensure a

common baseline understanding among all players of the Agile Acquisition lifecycle of the program’s goals

on several different timeframes. It is important to negotiate what is feasible to include in a release (as part

of the release plan) and Sprint with what the user community has deemed as of highest value (priority).

3.2.3 Agile Planning ChallengesAgile planning occurs at five different levels, as shown in Figure 3 4, and requires a certain level of

dedication to ensure a common comprehension of the agency’s and program’s plans. Challenges in

adopting this Agile planning method include the following:

• Continuous feedback and refinement at all levels: Current practices do not rigorously enforce

having program managers provide updates into enterprise plans based on changes in their program

plans (including baseline scope) on a more frequent basis. Agile planning is dependent on having

continuous refinement based on changes at the lowest level (Sprint plan) that is communicated and

captured in release plans and product vision and roadmap. The Government Accountability Office

(GAO) noted that a challenge with Agile is that “Staff had difficulty committing to more timely and

frequent input.” Agile planning includes explicit plans and goals for the release and Sprint levels

[12]. One way to address this challenge is to have members of the dedicated Agile Team, program

manager, and lead engineer fully engaged, providing input, and informed throughout planning.

Having planning events at the start of release and Sprint execution encourages the practice of

continuously re-evaluating and adjusting the current plans based on the team’s feedback.

• Planning discontinuity due to team disengagement: Agile planning requires continuous inputs

from the user community, Development Team, and program manager throughout the lifecycle.

Changes, including personnel changes in roles, may create discontinuity in the Agile planning

activities. The GAO noted that a large challenge in employing Agile in the federal environment is

“Teams had difficulty collaborating closely” [12]. Collaboration tools, such as video conferencing

equipment, may provide opportunities for continuous collaboration and a way to ensure inclusion

and accountability among the Agile Team and IPT. In addition, retrospectives may be used to identify

challenges in the Agile process, which may be contributing to the lack of engagement.

Page 47: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 45

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

3.3 Agile RequirementsRequirements engineering captures the “what” and “how well” the acquired solution (e.g., service or

system) must perform to address the mission need. The “what” and “how well” represent the functional

and non-functional (constraints and performance-related) requirements. This activity starts with the

development of a “business need,” which through a series of analyses becomes the actual requirements

that the developer uses to build the system. Agile practices address the risk of uncertainty through

the evolution of requirements, highlighting close collaboration with the user and iterative delivery of

functionality. In an Agile context, requirements solicitation and management must change to promote

delivery of valuable products in an iterative manner (e.g., magnitude of weeks or months).

The key Agile principles associated with requirements are as follows:

• Satisfy the customer’s needs.

• Evolve requirements and reflect regularly.

3.3.1 Satisfying the Customer’s Needs

Practices for Satisfying the Customer’s Needs

• Capture functional and non-functional requirements (e.g., security) as user stories

• Ensure that user stories are executable by the Development Team

• Leverage prototyping activities to solicit requirements

• Ensure traceability with the vision

• Clearly articulate the acceptance criteria and prioritization levels associated with each user story

Requirements capture the technical capabilities that will address the operational need. When compared

to traditional systems engineering methods, such as the Waterfall model, the manner and method of

soliciting and capturing requirements changes in an Agile context. Together, the Product Owner/user

community and Development Team, which includes testers, will solicit functional and non-functional

requirements (and metadata), which are captured as epics [21], features, and user stories. Having a cross-

functional team ensures that all needs are being addressed and captured appropriately. An epic is a

large user story that reflects an enterprise initiative. Features are derived from the epics into high-level

capabilities that will address the operational need. They are realized in user stories and capture the value

of the business need. User stories depart from the traditional requirement format, which states that the

“system shall do X” [22], and detail the interactions between a user and the system. User stories capture

the desired action to be performed, the user, and the rationale for the desired feature. For non-functional

requirements, the user story should reflect the technical function (e.g., undesired consequences that the

system should prevent, or how reliable it must be) as it serves as a constraint to the design.

Page 48: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N46

The following provides an example of an epic, feature, and user story, highlighting the relationship where

features and user stories specify functionality for a surface movement management tool described in the

epic:

• Epic: As an air traffic controller, I need a surface decision support tool to manage surface movement.

• Features related to the epic for surface movement management tool: Surface Events Scheduler and

Airport Resource Manager.

• User Story: As a ground controller, I can view the departure gate for a flight in order to manage

airport resources.

This generic characterization of requirements promotes a basic common understanding of the business

and technical needs (e.g., why a particular function must be performed), while still promoting design

flexibility and technical exploration. While user stories only capture the functional interactions and design

constraints, the addition of acceptance criteria and definition of done ensures that the Development

Team has a complete understanding of the business need [23]. The acceptance criteria may be in the

form of usability requirements and performance metrics. Identifying dependencies among user stories is

another acceptance criteria attribute that may be included in how a user story is defined. Providing the

associations among user stories enables the Development Team to understand the scope of the work and

the impact of certain changes. The definition of done focuses on the requisite actions prior to declaring

completion of a user story. It includes any test and integration-related activities that must be performed

to meet acceptance. In addition, user requirements (stories and features) may also be captured via

prototyping activities. Due to the complex nature of certain operational capabilities, prototypes may serve

as a means to validate and assess the operational need and to derive specific user stories and features that

may have not been initially realized (as captured in the epic and/or vision).

The intent behind this requirements solicitation method is to capture sufficient information to support

confidence that the organization is building the right thing without deriving specific technical details in

an attempt to “gold plate” or over-specify the design up front. User stories highlight the set of interactions

that will add value, and are loosely related to use cases, where use cases may help solicit user stories. As

the user community and Product Owner provide inputs to the evolving business and technical needs,

requirement solicitation in an Agile context is a continuous activity, where new features and user stories

will be created in order to capture the changes—newly identified business needs or modifications—in the

environment.

3.3.2 Evolving Requirements and Reflecting Regularly As change is welcomed in an Agile environment, the backlog houses these functional and non-

functional user stories, including any new or changed required functions, the acceptance criteria, and

any prioritization levels provided from the stakeholders. A program backlog is forward looking and

captures the organization’s operational needs in the form of epics. This backlog is the primary source

of operationally desired capabilities. The release backlog comprises a subset of the program backlog,

and includes the features that have been allocated to a specific release. A Sprint backlog is derived

from the release backlog, detailing technical specifications (user stories), and may be specific to a single

development instance, or Sprint. Synchronization of the backlogs is fundamental to the requirements

Page 49: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 47

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

Practices for Evolving Requirements and Reflecting Regularly

• Manage requirements with a program, release, and Sprint-level backlog

• Balance technical and programmatic needs with business value

• Define a clear owner of the backlog (at all levels) who will be responsible for approving changes

• Capture changes identified by the user community as a new user story and include them in the backlog

management process in order to ensure proper configuration control and understanding of the

operational needs, creating a trace between epics in the program backlog to a specific user story in the

Development Team’s backlog.

Face-to-face engagement with the user/customer is absolutely necessary, as it reduces the risk of

incorrectly capturing or developing requirements [24]. Continuous engagement ensures that the

prioritization of certain capabilities (user stories) is elicited and captured in the backlog, considering the

customer’s needs and cost and risk estimations. Traditional requirements management treats functional

and non-functional requirements as equals, where the definition of done is implementation of all

requirements. In Agile, requirements are prioritized based on the mission value, time criticality, risk

reduction/opportunity exploitation, and effort. There are two levels of prioritization: 1) prioritization from

a program level and 2) prioritization on a local (team) level, which reflects the goals of the development.

The prioritization of user stories is a reflection of the user community/customer’s values, including

business value and urgency, and is used to manage the backlog. There are several Agile prioritization

techniques that may be utilized for this activity, including priority ranges based on business value and

urgency and Weighted Shortest Job First, which balances business value with cost of delay [25], [26].

There are clear distinctions of ownership for these backlogs, where the owner is responsible for

solicitation and maintenance. The ownership is divided between the organization, including a Line of

Business within the FAA, and the developers, including contractors. The FAA must own and develop

the program backlog, as it represents where the organization will be going toward in the future. The

FAA will be responsible for maintaining that program backlog and working with user communities

to identify priorities for the agency. From the program backlog, the program-level manager and the

developer will derive their lower level features and user stories, depicting more technical details

about the features, as captured in the release and Sprint backlogs. This hierarchy promotes a common

understanding of the business needs among all parties. As continuous feedback is an integral part of

the Agile process, user stories in the Sprint backlog may be updated or new user stories may be added

based on input from the user community and/or Product Owner. All parties must actively manage

changes to a backlog to ensure synchronization from a features and priority perspective. Figure 3 5

details the relationship of these various backlogs and the continuous verification of the needs through

continuous user engagement.

Page 50: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N48

Requirements Backlog Management

Requirements management in an Agile context is iterative in nature, with an ongoing refinement of epics,

features, and user stories and their prioritization at all levels. Software tools, including JIRA, may help

with the management of user stories, ensuring traceability and highlighting changes in requirements. In

addition, a requirements traceability matrix could be used to track the source of the epic and user stories

and as a tool to assist in the continuous testing and release process [27], [28].

3.3.3 Agile Requirements ChallengesAgile Acquisition enables incremental delivery of value to the user community, and Agile requirements are

part of the Agile acquisition process. Agile requirements focus on adapting to the dynamic environment

and evolving requirements in a more time-constrained manner, continuously soliciting requirements

and validating the requirements. The new Agile requirements engineering process is fundamentally

different from traditional acquisition methods. Requirements are initially solicited during the Concept and

Requirements Definition phase, refined through Investment Analysis, where they are finalized at the Final

Investment Decision, and then validated in Solution Implementation, where the developer will derive

program-level requirements into subsystem requirements.

The following challenges must be addressed to adopt an Agile requirements analysis process:

Figure 3-5

Page 51: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 49

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

• Having an owner or team of owners for the vision/epics: Currently there is some inconsistency

in ownership over a particular business need for NAS and non-NAS programs. There must be a

dedicated business owner or team who will define the agency’s operational environment in a specific

time period and the operational capabilities that may support the vision. The owner is expected to

guide the direction of development and have the power to make certain requirement determinations

that are in alignment with the user community. A potential approach to address this challenge is to

identify FAA business owner(s), empowering those who are involved in creating, communicating, and

managing strategic vision plans, such as a portfolio manager for NAS capabilities.

• Defining lightweight user stories: Requirements written today are often over-specified, with

the focus on the technical aspect (“how”) instead of the business needs (“what”), potentially

encroaching on technical design details during initial phases of the acquisition process. User stories

should provide just enough detail for the Development Team to act upon for Sprint planning, while

promoting design flexibility. Regardless of the approach, defining requirements at the appropriate

level of technical detail requires discipline. User stories provide a framework to help characterize

the technical specifications in plain language and describe why the feature is being implemented

(what value is being created) rather than how the feature will be implemented. Communicating the

business values to the technical developers using a common language that captures the statement

of intent (user stories) is one way to ensure the creation of lightweight user stories.

• Managing changes in requirements: Current programs experience requirements volatility

(requirements creep) due to misalignment with users’ needs. Given the changes in the operational

environment and long development cycles, the requirements analysis process must accommodate

and manage changes in priorities and needs. The GAO reported the following challenge with

adapting and applying Agile: “Teams had difficulty managing iterative requirements” [12]. While the

backlog facilitates the management of requirements, continuous backlog grooming is a necessary

part of the requirements management process. The continuous backlog refinement is a step of

the change management process. A strong change management process, which may include

establishing a change review board to review and approve enterprise changes, must be established

to ensure backlog changes are in alignment with the agency’s visions.

• Balancing urgent fixes (technical needs and concerns) and business values in the backlog: Release and Sprint planning must account for these competing priorities and ensure that the team

can deliver features at the end of a release. The challenge lies in ensuring that certain functional

gaps that were identified during the end of a Sprint (during demonstration) are addressed,

along with continuing progress toward meeting the release objective(s). As part of the change

management process, these functional gaps must be prioritized and placed in the backlog. There

must be an agreement among the Agile Team during release and Sprint planning to ensure that the

high-priority items, including the urgent fixes, are effectively addressed.

Page 52: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N50

3.4 Agile Cost and Effort Estimation Programs use cost estimates to enable management to make sound decisions on program alternatives,

develop program budgets, and determine program lifecycle costs.

The budgeting process within the government requires for capital expenditures an estimate of the total

cost of the program, which must be completed up front. The validity of an Agile estimate for use in

the investment analysis process has been a source of controversy, and as result a hybrid approach is

appropriate, since the purpose of an estimate changes over time. There are three distinct areas where an

estimate of the costs associated with performing work is needed:

1. Budgeting – defines the cost associated with defined activities. In the initial stage of a program,

the costs are dependent upon the estimated length of an activity and the resources assigned to

complete these actions. This estimate would be expressed as a Rough Order of Magnitude (ROM).

Initial budgets are sometimes based on the availability of specific amount of funds and tend to

ignore the cone of uncertainty.

2. Planning – defines an approximation of effort and duration based on the size and nature of the

effort. The estimate is focused around the cone uncertainty. For Agile, this at the release level.

3. Execution – defines tasks and allocates resources at the Sprint level. Focus is on a much smaller

range of tasks and uncertainty.

An estimate by definition is always uncertain and therefore should always be expressed as ranges of

uncertainty. Simply stated, the “cone of uncertainty” is the amount of risk associated with an estimate. The

level of uncertainty decreases over time as the project definition increases due to a better understanding

of the work, and the team performing the work documents their actual velocity. Figure 3 6 shows this

relationship.

It is important to understand the definition of cost estimating from the GAO publication, GAO Cost

Estimating and Assessment Guide: Best Practices for Developing and Managing Capital Program Costs [29]

when considering estimation in an agile environment. It states,

“Cost estimating involves collecting and analyzing historical data and applying quantitative

models, techniques, tools, and databases to predict a program’s future cost. More simply, cost

estimating combines science and art to predict the future cost of something based on known

historical data that are adjusted to reflect new materials, technology, software languages, and

development teams.”

This estimation has traditionally been done within the FAA as part of the investment analysis effort. A

series of documents, starting with the development of a ROM estimate in the Concept and Requirement

Definition phase of AMS, refines the estimate over time until at the Final Investment Analysis Review, the

program’s cost, schedule, and performance are included in the program baseline. This further refinement

is necessary since a ROM is only a conceptual estimate done when the scope of the effort is not fully

defined, and resource availability and risks are not fully understood. It is useful in choosing between

alternatives at a high level for fiscal budget alignment. A credible cost estimate is required to develop a

program budget and allow for trade-offs between alternatives.

However, implementing Agile for government projects presents several challenges. GAO’s estimation

Page 53: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 51

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

Cone of Uncertainty

process [29] specifies certain steps, including sensitivity analysis and risk and uncertainty analysis, in order

to provide a rational estimate and a detailed audit trail. In an Agile context, some of these steps may not

be completed due to lack of a detailed baseline solution prior to the commencement of work. In addition,

providing a risk-adjusted cost estimation, as currently required at the Initial and Final Investment Analysis

Decision points, may not be practical due to the relative measures used in Agile estimation. As a result,

there is a need for a revised estimation process that is more suitable for Agile.

The key Agile Estimation principles are as follows:

• Evaluating cost based on complete work performance

• Increasing fidelity of work estimations over time.

Figure 3-6

Page 54: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N52

3.4.1 Evaluating Cost Based on Complete Work Performance

Cost estimation techniques do not differ greatly for Agile development programs and those created

for traditional development programs. Regardless of the development type, the cost estimation must

still consider development costs and the costs associated with managing, acquiring, and maintaining

a program. The main distinguishing factor is the use of relative value of efforts for estimating the cost

of Agile development, where the Development Team effort estimations will inform the program cost

estimates upon completion of a Sprint and/or Release.

At first glance, the tenets of an Agile development may seem in conflict with today’s government

budgeting process, where IT investments are currently appropriated based on a detailed business case

and are typically of longer duration, 18 months or more, with six-month releases and many simultaneous

Sprints per Release. In addition, government investments have extensive enterprise architecture,

security, system integration, and oversight requirements, which may impede the ability to support rapid

development. However, Agile may actually be better suited to the government budget process, since

the program can deliver on a “build to budget” concept as fiscal budgets are fixed several years ahead

of the actual scheduling and analysis of the work. For example, the program manager may plan the

program around the concept of “affordability,” taking into consideration the fixed development budget

and the prioritization of the work for each period of performance (time-boxed development effort). This

prioritization would be based on the implementation of the Agile planning concepts discussed in Section

3.2., Agile Planning. The Agile planning team must work closely with all stakeholders to align expectations,

particularly concerning budgeting and oversight responsibilities.

Mike Cohn [30] laid out the basics of the Agile cost estimation, which are the basis for most Agile

estimations. The following are his three concepts:

1. “Estimation of overall size can only give a high-level estimate for the work item, typically measured

using a neutral unit such as story points.

2. Velocity is a measure of how many points this Agile Team can deliver within an iteration.

3. Estimation of effort for a work item translates the size (measured in points) to a detailed estimate using

hours for each subtask. This estimation is usually undertaken at the beginning of a sprint or iteration,

and is based on the velocity and whatever heuristics have been used to characterize the user stories that

are the basis for the work item.”

Practices for Evaluating Cost Based on Complete Work Performance

• Estimate program costs based on traditional cost estimation processes, influenced by established or prospective pace of Agile development

• Refine estimates after each program increment, based on development of performance retrospectives

Page 55: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 53

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

Agile planning and estimating is initially performed at the high level, with detailed planning done at the

lowest level. As shown in Table 3 1, adapted from the National Defense Industrial Association [31], the

precision of the estimate increases as the time performance timeframe decreases.

PRECISION LEVEL FREQUENCY HORIZON LEVEL ARTIFACT

Lowest Program Program Startup Updates throughout

Program Duration

Epics Features Program Backlog Product Roadmap (including the definition of the Minimal Viable Product)

Release Planning

Each Release Release Feature User Stories

Program Backlog Updates

Release Backlog

Sprint Planning Each Sprint Weeks User Stories Tasks

Release Backlog Updates

Sprint Backlog

Highest Daily Planning Daily Day Tasks Update Sprint Backlog

Table 3-1 Cost Estimation Precision

Agile cost estimation is product based and completed in a series of iterative activities where the level of

detail increases as the program proceeds. The initial performance baseline for a program is established

at the highest level, consisting of these artifacts: product vision, product roadmap, initial product

backlog, and the minimum viable product, as described in Section 1.3.3. This initial estimate would be

suitable to use for budget planning purposes.

Agile cost estimations at the release planning level should be to a level of detail that supports the analysis

of the alternatives contained within the business case and the development of the documentation needed

for the FAA’s annual budgeting process. This high-level estimation may be based on the features that

have been allocated to a particular release, evaluating the level of work to be performed using traditional

parametric models that are described in the following section. Using these products and an estimate of

the productivity rate (velocity) of the team based on historical data and the size of the team, the cost of

the product can be estimated and allocated into a time-phased budget for planning and completion of

the Investment Analysis.

Finally, as the program enters the Solution Implementation phase, detailed planning occurs at the Release

and Sprint levels. Since these releases will be planned closer to the actual execution point, the quality of

the estimate and the program’s ability to perform within the parameters will improve. The cost estimation

at the Development Team level, or Sprint level, may be done using the following three equations:

1. Identify the total number of user stories (US) and story points (SP) per user story and compute total

story points (TSP): TSP=US*SP

2. Compute the estimated development time (EDT) for the program by dividing TSP by Velocity

(V): EDT =TSP/V

3. Multiply EDT by the average cost of the Agile Development Team to determine total development

cost (TDC): TDC = EDT*$.

Page 56: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N54

The Program Office will re-compute the cost estimate for each subsequent budget year by subtracting

the delivered user stories from the product backlog to create a revised TSP and update the Velocity value

based on actual team performance in the current year to determine the development costs remaining.

Planning activities at the Release and Sprint levels provides an opportunity to update the development

cost effort, thus continually updating and refining the development cost estimate as time progresses.

Agile cost estimation at the program level requires aggregation of the costs associated with each of the

Sprints. One approach is to use the methods discussed in the Scaled Agile Framework, which uses the

concept of a portfolio vison consisting of business and architectural epics and Agile Release Train, which

is team of Agile teams that delivers program-level value [32], where the development effort takes place.

These epics and releases are managed through the backlog process.

Cost estimation is a combination of engineering and economic activities leading to a program cost

estimate. While there are many approaches to develop a cost estimate, the flow chart in Figure 3 7

represents the steps generally used.

General Depiction of Agile Cost Estimation ProcessFigure 3-7

Page 57: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 55

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

3.4.2 Increasing Fidelity of Work Estimates over Time

Practices for Increasing Fidelity of Work Estimates over Time

• Teams should examine completed work against original estimates to validate estimates

• Uncertainty is minimized when the level of effort is estimated close to when the work is performed and by the team performing the work

Cost estimation is dependent on an understanding of the work to be performed. Many of the traditional

software estimation tools, such as Constructive Cost Model, Price-S, Software Lifecycle Management-

Estimate, and Software Evaluation and Estimation of Resources, have been adapted for Agile software

development. The most commonly used methods for Agile estimations are not based on these parametric

models, but rather on comparisons with previously completed work and the judgment of the Agile Team

performing the work in the past. The following describes these estimation techniques in increasing degree

of accuracy:

• Relative comparison – evaluating whether a particular user story is more complex/larger than

another (e.g., A is bigger than B and B is bigger than C)

• Historical – evaluating the user story’s complexity based on previous similar efforts

• Story points – evaluating the complexity of a user story expressed in points (Fibonacci Series: 1, 3, 5,

8…) or size (small, medium, large...).

Story points have been discussed by the Society of Cost Estimation and Analysis and the Association for

the Advancement of Cost Engineers as a method of cost estimation in Agile development [33].

An additional attribute of Agile is that since development efforts are pursued in small increments, the

effort is estimated close to when the work is performed and by the team performing the work, so there

will be very little uncertainty in the estimation. The level of abstraction for calculating work estimations

may be difficult for new Agile teams to understand, as relative user story complexity is not directly

correlated to the level of effort needed for development. Refinement will come as the Development Team

becomes more adept as the Sprints progress. In addition, retrospectives at the end of a Sprint may help to

identify and address estimation issues, including accuracy.

To validate these estimates and progress, the team should use a burn-down chart, which is based on

story points, to track the progress of the Agile development effort. These story points may be converted

into dollars for cost estimation. As the cost estimates for the Agile portion of the program are based on

factors that are themselves estimates, it is very important that the program review the actual costs after

completion of the project and use the results to validate and revise the estimating factors for future use.

Page 58: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N56

3.4.3 Agile Cost and Effort Estimation ChallengesThere are a few challenges in estimating an Agile program, as follows:

• There is no generally recognized standard unit of measurement for any of the common approaches

to Agile estimation. Examples of Agile work estimation have used story points, user stories, and epics.

However, all of these items are subjective and dependent upon the experience and skills of the team

developing the estimate. Story points, for example, are a relative measure of size against similar work

performed by the estimating team in the past.

• Cost estimating is dependent on the composition and expertise of the team. To improve the quality

of the estimate, the team that will perform the work should be doing the estimation. Unfortunately,

this is not always possible, particularly since no development will have been completed upon the

creation of the initial program estimate. Traditional cost estimation techniques may be used to

help define the program’s initial cost. Care must be taken to ensure that the initially defined cost

estimation is in alignment with updated estimations at the Release and Sprint levels.

3.5 Agile ContractingAgile contracting involves two perspectives: structuring acquisition contracts in a way that effectively

enables Agile development, and applying Agile Team and culture principles to make the development

and negotiation of contracts more effective. This section focuses on the first perspective. Applying Agile

effectively requires considerable planning and coordination between the acquisition organization, the

program, and eventually the performing contractor. The first step of that planning and coordination is

to consider whether Agile is the most appropriate approach to the acquisition. Agile has been typically

applied to programs that require significant software design and development, so it will clearly be an

appropriate candidate for such programs. The use of Agile is less appropriate for the procurement of

commercially available products, subscription services, commoditized services, or services from other

government agencies, for which little or no development activity is expected.

AMS provides the overarching policy and guidance to FAA contracting officers (COs) for the procurement

of goods and services, including IT and digital services. The acquisition policy and guidance have been

designed to allow the CO flexibility to be innovative and creative to meet the procurement system’s goal

to “obtain high quality products, services… in a timely cost-effective manner” [34]. AMS does not specify

any particular approach to contracts and allows the COs to use their best business judgment when

determining what type of contract to use.

Regardless of the development methodology employed, Waterfall model or Agile, it is still necessary for COs

to “make acquisition decisions that deliver the best value product or service to the customer” [35]. As COs

provide the business judgments, serving as the bridge between the FAA and its industry partners, a close

partnership with the Program Office is necessary to conduct an Agile Acquisition, where the CO, who is

knowledgeable of Agile, provides the tools for a program to monitor, administer, and terminate a contract.

The Agile principles for contracting are as follows:

• Structuring the contract to support Agile practices

• Defining and leveraging an Agile contracting strategy.

Page 59: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 57

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

Practices for Structuring the Contract to Support Agile Practices

• Emphasize an outcome-based approach

• Consider the entire acquisition lifecycle for the acquisition strategy

• Ensure that the contract supports frequent delivery of capability, visibility into contractor performance, continuous testing, and accountability for results

3.5.1 Structuring the Contract to Support Agile Practices

Typical FAA contracts [36] are based on a fixed technical scope and involve a significant lead time to

prepare and award, often months to over a year. This process, and the fixed contracting requirements

associated with it, are potential impediments to an Agile developmental model, and must be re-evaluated

to ensure that the contracting approach supports agility throughout the acquisition lifecycle. Contracting

within an Agile context requires a fundamental change, moving away from traditional timelines and

a need for detailed design specifications for the full solution set. This does not mean that acquisition

planning should not be done, but rather that the emphasis changes to a more outcome-based approach,

and these outcomes will be expressed at a higher level. It is extremely important that the team consider

the entire acquisition lifecycle when developing its acquisition strategy. Agile contracting strategies must

enable smaller development and deployment schedules (like Sprints and Releases), while maintaining

flexibility and promoting a more streamlined contracting process.

• Agile contracting should support the following acquisition goals:

• Frequent delivery of usable capabilities that provide value to the end user

• Greater visibility into contractor performance

• Risk reduction through frequent testing and user feedback

• Accountability for results through the early identification of problems with adequate time for

correction.

3.5.2 Defining and Leveraging an Agile Contracting StrategyA successful Agile Acquisition requires considerable interaction among the business owner, key

stakeholders, the performing organization, oversight, and contracting organizations. To define an

appropriate contracting strategy, clear contracting requirements must be differentiated from system

requirements. These contracting requirements should not be confused with the traditional development

requirements. Contracting requirements specify activities that a contractor must perform. Development

requirements specify operational capabilities that address the mission need. For an Agile contracting

strategy, the requirements should focus on high-level functionality and associated milestones/schedule

instead of specific features. The focus on the expression of higher level capabilities helps to emphasize

development outcomes and intent, while providing the flexibility of the Agile process to address potential

Page 60: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N58

changing or emergent requirements at lower levels of detail. The contract requirement must reflect the

expected outcome (more objective oriented).

The three basic types of government contracts—fixed price, cost reimbursement, and Time and Materials

(T&M)—have been designed to allow for the uncertainty in requirements and the risks associated with

performance. In a fixed price contract, the price is negotiated prior to award and payment is tied to

delivery of a product or service. It is the most appropriate contract type when the government knows in

advance what is needed to meet its requirements (e.g., a commercial product or a well-defined software

effort). If the government lacks experience with the contractor or uncertainty exists about the complexity

of the development effort, a Firm Fixed Price (FFP) contract can be problematic because of the unknowns.

A cost-based contract (either cost reimbursement or T&M) is more appropriate if specific requirements

or other project details are incompletely defined at the start of the effort. This could be caused by the

uncertainty in the business owner’s statement of need or by rapidly changing technology. These types of

contracts place greater risk on the government, since the contractor only has to provide its “best effort.”

Both of these types of contracts place greater burdens on the government to monitor the performance of

the contractor to ensure completion of the tasks and to control costs. As the government gains a better

understanding of Agile development and effective Agile cost and effort estimation tools are determined,

development tasks may become more amenable to fixed price contract approaches. The contract types

and association risk levels are shown in Figure 3 8.

Practices for Defining and Leveraging an Agile Contracting Strategy

• Cost-based contracts (cost-reimbursement or Time and Materials) provide the contractual flexibility that corresponds to the flexibility sought in Agile practices

• Firm Fixed Price contracts may be appropriate when development complexity is understood and contractor performance is established

• Indefinite-Delivery, Indefinite-Quantity or Blanket Purchase Agreement vehicles provide contractual flexibility that can enable Agile practices

• Performance-Based Contracting strategies can enable Agile practices

• Ensure that the solicitation clearly addresses Agile considerations

• Emphasize expertise in Agile development, and past performance during source selection

• Promote constant communication between the CO and program throughout the contract lifecycle

Page 61: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 59

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

Contract Types and Associated Risk Levels

A project could also be awarded as a hybrid type of contract, where some items would be structured as

FFP and others as cost based. The CO could then use the appropriate payment strategy depending on

the level of certainty of the requirements. For example, an FFP contract could be used for the hardware

or commercial off-the-shelf software component of a system, while a cost-based contract could be used

for customized software development. An FFP component can be highly effective for a Sprint of limited

duration when the effort is under the control of a single contractor. A cost component would be more

effective if a team effort is being used when multiple contractors produce parts of the solution.

Contract vehicles are another key component of a contract strategy. Some examples include using single

or multiple Indefinite-Delivery, Indefinite-Quantity (IDIQ) contracts or a Blanket Purchase Agreement as

the primary contract vehicle, with task orders to capture the immediate program development needs

(Sprints). The intent behind using these contract mechanisms is to provide flexibility and enable faster

execution. For example, a multiple IDIQ award allows multiple Agile developers/contractors to compete at

the individual task order level, and should the contractor not deliver the expected objectives by the end

of the award period, the government (FAA) is free to select a new Agile contractor for the next iteration.

The Office of Management and Budget (OMB) provides guidance on modular contracting [37] through

a checklist for aligning contracting practices. The guidance recommends that contracts be flexible to

adopt changing needs and an iterative development cycle. Agile is ideally suited for Performance-Based

Contracting, since the focus is on delivering functionality rather meeting complex requirements.

Figure 3-8

Page 62: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N60

A successful solicitation for Agile will require that the contracting staff and program team be part of a

highly interactive process throughout the contract lifecycle, where the documentation may be different

than what was delivered using the Waterfall approach. It is essential that the team develop an Acquisition

Plan that clearly addresses these items:

1. Statement of Need

2. Product or Service Descriptions

3. Estimated Cost

4. Risks

5. Source Selection Considerations

6. Non-functional Requirements

7. Quality Assurance Methodology.

The TechFAR [10] recommends that as part of the solicitation, the CO should explain that the contract will

be based on Agile development methods and the level of FAA interaction with the contractor as part of

the Agile team. The solicitation should also clearly address Agile considerations as part of the contractor’s

proposal, including the development of user stories, integration testing, non-functional requirements, and

acceptance criteria.

A best value approach to source selection is the most advantageous method of contractor selection,

since success in Agile development is dependent on the skills and expertise of the contractor staff. The

development of evaluation criteria is the key to any successful solicitation and is even more important

when using an Agile development method, since the FAA will be procuring the services of a company

based on the skills of its development team and company experience. The technical evaluation factors

should focus on the following:

1. Contractor interaction with the FAA during development activities

2. Management approach, including performance metrics

3. Alignment of product roadmaps or release strategy to the product vision

4. Contractor’s experience with Agile and staffing approach

5. Quality control process.

In acquiring contractor services for an Agile development, the acquisition team should focus on

conducting the appropriate market research to determine which companies possess the necessary

Agile development skills, have experience in delivering software to government agencies, and have the

necessary business processes to perform cost reimbursable work. Additionally, past performance can be

a key factor in selecting a contractor, since many Agile development efforts in industry are not at the level

of complexity, safety criticality, size, or scope of many FAA programs, particularly those related to the NAS.

In all, Agile contracting requires discipline to ensure that the appropriate program objectives are met.

Utilizing Agile-oriented common contracting templates and contracting requirements may be beneficial

when defining a contracting strategy for an Agile Acquisition. However, continuous communication

between the CO and the program manager is the underlying foundation for success.

Page 63: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 61

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

3.5.3 Agile Contracting ChallengesAgile contracting is an essential component of enabling Agile Acquisition. Specific challenges to Agile

contracting include the following:

• Developing a common understanding of Agile techniques by the development and acquisition teams

so that an acquisition strategy can be properly structured. Common understanding depends on

effective training and collaboration between developers and the acquisition team.

• Assigning contracting personnel who are capable of assisting the program in making the business

decisions and trade-offs that come with the implementation of an Agile effort. This challenge may

be addressed by ensuring that contracting personnel are adequately trained in Agile processes and

dedicated to specific acquisition(s).

• Ensuring that the program makes a commitment to share information freely across internal

organizations and with the developing contractor. The challenge might be addressed by having a

communication plan that defines from the beginning the processes and mechanisms to be used to

ensure coordination.

• Committing to the Agile effort in the beginning and remaining committed for the duration of the

program lifecycle, since the Agile effort is based on small teams whose membership remains constant

over time. The conduct of pilot programs can demonstrate a commitment to Agile efforts.

• Adopting an efficient approach to the acquisition effort. If a large time burden is imposed on the

acquisition team for reviews and constant refinement of documents, then its ability to implement

an Agile program will be hindered. The challenge might be addressed by refining a potential Agile

lifecycle, such as the one presented in Section 2, that establishes expectations regarding needed

documentation, review processes, and decision making for Agile efforts.

• Embracing the organizational change required to foster a culture based on the concept of frequent

delivery. Pilot programs can be an effective way to adapt Agile to the organization and demonstrate

the value.

3.6 Agile Test and EvaluationT&E is the process by which a system or components are compared against requirements and

specifications through testing. The results are evaluated to assess the progress of design, performance,

supportability, etc. Developmental test and evaluation is an engineering tool used to reduce risk

throughout the acquisition cycle. Operational test and evaluation (OT&E) is the actual or simulated

employment by typical users of a system under realistic operational conditions. [38]

T&E is an integral part of Solution Implementation and involves evaluating a product from the component

level, to stand-alone system, integrated system, and if appropriate, system-of-system and enterprise

levels. Testing is traditionally conceptualized as following development in a sequential process, as

depicted at its most basic in Figure 3 9. The reality of software development is that testing occurs at

the software unit or component level, the lowest level of testing, as the code is developed. Unit tests

are usually written by developers as they work on code to ensure that the specific function is working

as expected. Depending on the organization’s expectations for software development, unit testing

Page 64: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N62

Traditional Conceptualization of Testing in Acquisition

might include static code analysis, data flow analysis, metrics analysis, code coverage analysis, or other

software verification practices. Unit integration and associated integration tests may occur episodically,

with some organizations conducting integration on a daily basis (e.g., nightly builds). Still, the more

traditional approach to testing involves a testing and integration phase after completion of development.

For government programs, testing may be segmented into the aforementioned contractor-oriented

development testing and government operational testing. Each phase of the process culminates in a

readiness review testing milestone (Test Readiness Review [TRR] or Operational Test Readiness Review

[OTRR]) to ensure proper preparation to enter the next phase and minimize the likelihood of defects

necessitating a return to the prior phase.

The T&E strategy is formulated by the government in the planning stages of the program, which precedes

the Solution Implementation phase. The strategy will be reflected in products such as the Implementation

Strategy Planning Document (ISPD) and the TEMP, which documents the overall structure and objectives

of the T&E program. The Statement of Work (SOW) will impose requirements on the contractor to plan

and conduct a test program, including documentation such as the contractor TEMP and test plans,

procedures, and reports.

The FAA provides substantial guidance for the scope and conduct of T&E activities, including the following:

• AMS policy Section 4.4, Test and Evaluation [39], defines the role of T&E in each phase of the AMS

lifecycle.

• AMS policy Section 4.5, Independent Operational Assessment [40], identifies the responsibilities

of FAA authorities to determine the need for independent operational assessment and to provide

determination of system operational readiness in support of production and in-service decisions.

• The Test and Evaluation Process Guidelines [41] provides a foundation for planning and executing T&E

activities appropriate to each individual investment program.

• The Test and Evaluation Handbook [42] provides detailed guidance.

An Agile approach to T&E involves re-conceptualizing how and when testing is applied in the

development process. Important Agile T&E principles include the following:

Figure 3-9

Page 65: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 63

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

Practices for Satisfying Users through Collaboration

• Time-box activities within the planning phase

• Ensure that requirements encompass test objectives

• Align test reviews with Agile development cadence

• Consider test-driven development

• Document test results as necessary

• Satisfy users through collaboration.

• Test delivered software.

• Maintain a constant pace of testing.

• Evolve tests with the software design.

• Measure working software.

Many additional resources are available to advance understanding and application of Agile principles in

T&E [41], [42].

3.6.1 Satisfying Users through Collaboration

Agile principles influence the Agile approach to T&E in several ways. First is the importance of up front

engagement and collaboration of the test community with the stakeholders and Development Team

during strategic planning. Ideally, testers will be integrated with the Development Team in the earliest

stages of planning and continue to be integral throughout development and implementation. For larger

efforts, it may be necessary to have distinct test teams working in parallel with the product Development

Team. Test personnel need to be involved early in the planning stages to ensure that testing perspectives

are captured in the estimation of required resources, in scheduling, and in risk identification and

mitigation. Testing perspectives will be captured in planning documents such as the ISPD and the TEMP,

and the developer’s expectations will be reflected in the SOW. At a tactical level, testers work with users to

ensure that user stories have a definition of “done” and acceptance criteria that are testable. Testers may

define test user stories to encompass the work needed to develop tests and procedures and work with

the Product Owner to ensure that priorities reflect the dependencies of testing on software completion.

Testers are actively involved with users in ensuring the operational suitability of a delivered release prior

to deployment. Other Agile influences on planning phases include the following:

• Time-box activities within the test planning phases. The traditional FAA execution of the analysis

phases can take multiple years. Adopting the Agile principle of establishing a fixed duration for

an activity (e.g., Sprints) can promote focus, particularly with dedicated teams, reducing the effort

expended on lower priority outputs.

• Ensure that the program requirements or corresponding Agile epics encompass test objectives.

• Accept that planning products such as the ISPD and TEMP are dynamic products that need to

Page 66: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N64

evolve over time. Agile documentation principles suggest that the information involved be readily

accessible to all team members and stakeholders and that the content be tailored and prioritized

to provide information of most value to the program.

• Plan design and test reviews to be periodic rather than one-time events. The initial design review will

be high level, referring to the epic(s) associated with the current development activity. More detailed

reviews should be conducted in planning for each Release, updated as necessary at the start of each

Sprint. Test plans are an integral part of the Release planning activity, and content should be tailored

to meet the “just enough” attribute of Agile documentation practice.

• Define test procedures in conjunction with user stories allocated for development in each Sprint.

The test procedure is necessary to define the success criteria for acceptance of the function/feature

involved. At the extreme, the test procedure might precede and drive the design (i.e., Test Driven

Development [TDD]).

• Tailor reporting of test results to the needed information. During Sprints, representative of test

outcomes are the completion and acceptance of functions/features and the capture of defects to be

fixed or enhancements to be pursued in the backlog. Test planning and reporting for final release

integration and operational evaluation warrant a more rigorous approach that needs to be captured

in release plans.

3.6.2 Testing Delivered Software

Practices for Testing Delivered Software

• Promote common infrastructure

• Automate test procedures

• Include test procedure and function development in backlogs

• Use a common trouble reporting/tracking mechanism

In the Agile model, testing occurs in line with development during Sprints, which define the pace of

software development and testing. Several levels of testing are involved. Software developers typically

conduct unit tests for the software items being developed, similar to the traditional developmental

approach. The unit tests ensure that the function/feature being developed meets the operational

intent. The definition of “done” includes passing the associated test, enabling credit to be claimed for

the software function embodied in the unit. These unit tests may occur at any point in the Sprint as the

software unit developments progress. A best practice is to test the code each time it is checked in (i.e.,

continuous test and integration). Agile discipline often requires that completed units for which credit is to

be claimed will be integrated into the software baseline at or before completion of each Sprint. This will

involve a higher order of testing to ensure that new or modified functions/features integrate effectively

with existing system functionality. The Agile process culminates in a system demonstration, which

provides opportunities for user acceptance and feedback regarding system effectiveness and suitability.

Page 67: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 65

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

To promote the effectiveness of Agile development, a number of additional practices should be

employed. The T&E strategy should include investment in T&E assets that enable parallel software

development and testing. Automated test procedures are important to ensure that necessary tests

can be accommodated within Sprints, and development of test procedures needs to be included in

the program backlog. Ideally, the government should establish the test infrastructure at a portfolio

or enterprise level, leveraging the test infrastructure use across multiple programs and ensuring that

component programs are tested more effectively and efficiently. There should be common shared bug/

defect tracking process among developers and testers to promote a common understanding of the

defects, their priorities, and the integration of their resolution in backlog management.

Agile T&E Integration

The early user exposure and feedback differentiates Agile from traditional T&E—it effectively combines

elements of traditional T&E and OT&E, sometimes characterized as combined test and evaluation.

The Agile approach to T&E may share with the traditional approach the need for a specific T&E phase

at the completion of Release development. One or more Sprints may be specifically dedicated to this

kind of testing. This testing will involve the integration of all the new features with features that may have

preceded the current Sprint. Regression testing may be conducted to ensure that performance continues

to be satisfactory. Special considerations such as cyber security or software design assurance for safety

certification may also influence the level of testing involved. Figure 3 10 illustrates this incorporation of

T&E within an Agile development lifecycle. Alternatively, a mature Agile process may integrate automated

testing with an automated build process such that integration and regression testing is done continuously,

minimizing the need for the Release T&E phase.

Figure 3-10

Page 68: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N66

3.6.3 Maintaining a Constant Pace of Testing

Effective Agile execution requires that testing be integrated with software development. The allocation

of Sprint development tasks must include the associated testing to verify software completion (i.e.,

function operation and suitability), so the development of test features must correspond to function

development and influences the overall development pace. In the approach of TDD, development of

the test approach and acceptance criteria should precede and inform the development of the function/

feature involved. To complete the alignment with Sprint pacing, integration and operational testing of

the complete release may be conducted as one or more test Sprints dedicated to the purpose. Ideally,

the test Sprints should occur in parallel with the development (i.e., test the previous Sprint during the

subsequent Sprint) rather than waiting until the very end. The conduct of testing should be as close to

the development cycle as practicable to identify and rectify issues early.

3.6.4 Evolving Tests with the Software Design

Practices for Maintaining a Constant Test Pace

• Align testing with Agile development cadence

• Consider test-driven development

Practices for Evolving Tests with Software Design

• Adapt tests to changing requirements and software design

• Automate test procedures

Agile eschews comprehensive definition of requirements up front in favor of flexibility and adapting to

change. Adapting to changing requirements, functional and non-functional, demands associated software

design changes. Test capabilities must also change to accommodate the changing design. Consideration

must be given to test software configurations to ensure that testing remains current and relevant to

evolving releases.

3.6.5 Measuring Working Software

Practices for Measuring Working Software

• Plan for and conduct post-implementation reviews

Page 69: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 67

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

Verifying function and performance of delivered software is a traditional focus of testing, but verifying

benefits and validating objectives of the application development are often indefinitely deferred or

overlooked. Testing should include capabilities to measure function use and system performance in

operation that enable determination of whether and to what degree expected operational benefits are

being realized (e.g., NAS post-implementation reviews). Measurements may be used to suggest how

operations might be tailored or training approaches enhanced to better use provided capabilities.

3.6.6 Agile Test and Evaluation ChallengesTesting is challenging in any development. Specific challenges to Agile testing include the following:

• Establishing and maintaining concurrency of the operational baseline and test configuration, as

described in conjunction with the principles of Test Delivered Software and Evolve Tests with the

Software Design. This might involve adopting “continuous” integration practices such as daily builds

that promote incremental enhancement of the baseline while ensuring stability.

• Potential complexities of integration testing and system of systems. Integrating functions during

Sprints may involve only project-specific assets, with external interfaces driven by simulations.

Exposure to operational interfaces may not occur until testing a Release in preparation for

deployment or, in the extreme case, until the Release becomes initially operational. One way to

address the challenge might be to expand the test assets and capabilities of FAA test organizations to

permit greater access to “operational” interfaces and to a higher fidelity test environment.

• Realizing common enterprise infrastructures. Development and test of software for the enterprise

can leverage economies of scale and reuse by promoting common infrastructure and standards that

span multiple projects. The objective could be advanced by adopting more prescriptive technical

standards (e.g., specify an FAA common operating system such as Linux); this could be particularly

effective when a new IT infrastructure is introduced, such as cloud-based applications.

3.7 Agile Deployment and SustainmentDeployment involves the introduction of systems, services, or capabilities into operation. The

operational context may vary in any of several ways, including initial installation or implementation,

introducing new capabilities into the existing infrastructure, maintaining the existing capabilities and

infrastructure with bug fixes and updates of system elements, or larger scale updates of capabilities

or infrastructure such as technology refresh and/or refactoring of software designs to address failing

elements or technology changes. Although the focus of Agile deployment and sustainment is the

development and management of the software that drives system capabilities, considerations necessarily

involve hardware deployment and system integration, training of users and system operators, logistics

support, and other factors fundamental to mission success. Agile principles that apply to deployment

and sustainment include the following:

• Collaborate with users.

• Satisfy users through the delivery of useful software.

• Deliver working software frequently.

Page 70: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N68

• Adapt to changing circumstances.

• Promote technical excellence and good design.

3.7.1 Collaborating with Users

Practices for Collaborating with Users

• Expand the scope of the Development Team to include participation of site users and operators in preparing for implementation

• Provide a unified schedule for complete visibility of implementation activities

• Create a single, integrated bug tracking system for capturing and managing all issues

• Provide timely and effective training for users and operators

An Agile development effort will have involved customer collaboration from inception. Business

and Product Owners are integral to the Development Team, providing the system user and operator

perspectives that ensure the operational suitability of delivered capabilities. Fulfilling those roles will

typically involve coordination with many elements of the operating community that are or will be

influenced by the products of Agile development. As implementation approaches, this coordination

necessarily becomes more focused on the sites that will employ a capability first. Business and Product

Owners should proactively involve site personnel in detailed implementation planning.

To provide coordination between the development, test, and operational communities, a unified

authoritative schedule is necessary. The schedule should be readily accessible to all parties and updated

regularly to ensure that it accurately reflects the status of implementation activities.

An Agile development effort will have an established backlog that includes identified software defects,

the status of defect correction, and the priority of defect correction activity among all of the development

tasks that need to be performed. Like the unified schedule, the backlog needs to be readily accessible

to the operational community. As implementation approaches and a prospective operational software

release is exposed to operational conditions in either operational testing or site integration activities, the

pace of trouble reports may increase and observed problems may be more site-unique. It is important

that site personnel be actively involved in the backlog management process and that the process be

responsive to sites’ priorities.

Although Agile values working software over documentation, the need for effective training is

fundamental. Training may involve an approach such as user and operator manuals, but might also include

more technology-oriented approaches such as computer-based training, help features incorporated

with new capabilities, or training simulations that enable users and operators to gain familiarity with

capabilities in offline or non-operational modes of the system. Like the operational capabilities, an Agile

approach to training should involve solicitation and response to user feedback regarding training content,

and iterative development of training materials responsive to user needs.

Page 71: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 69

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

Practices for Satisfying Users through Delivery of Useful Software

• User stories and requirement prioritization promote utility of delivered software

• User feedback from iterative development (e.g., Sprint demos)

• Scope flexibility

• Measurements of use and post-op analysis

3.7.2 Satisfying Users through Delivery of Useful Software

An Agile development is successful when it satisfies customers by delivering software that users find

useful. Agile promotes the likelihood of this outcome through application of Agile practices such as

defining requirements through user stories and enforcing requirement prioritization through backlog

management. User stories are grounded in the user perspective, so when implemented, they have a high

probability of meeting user approval. The management of user-expressed priorities in the backlog ensures

that development effort is directed to the capabilities of highest priority to the users. As implementation

approaches, management of the backlog should increasingly represent the near-term priorities of the key

sites and early implementers who will be most affected by new or modified capabilities.

Early and frequent user feedback is a fundamental feature of Agile development. At the completion

of each Sprint, users have the opportunity to examine and respond to completed functions, ideally in

the form of demonstrations of integrated capabilities. Delivery of operational capability to the users

represents the final stage of this user feedback process, enabling user feedback on the integrated product

in the operational environment.

Another fundamental aspect of Agile philosophy, scope flexibility, also promotes customer satisfaction.

When adherence to the schedule discipline of Agile requires deferring functionality, prioritization

of features in the backlog ensures that what the users find most valuable has been addressed first.

Deferred developments should involve foregoing less useful features and enable on-time delivery

of useful, albeit incomplete, software. Active and ongoing solicitation of priorities from initial

implementers will ensure that their highest priority needs are being met.

In addition to subjective user feedback, the usefulness of delivered capabilities can be assessed through

measurements of feature use and post-op analysis of effectiveness in achieving operational objectives.

System analysis recording capabilities and offline data analysis can inform users and developers about

the frequency and impact of feature use, and user surveys can provide subjective feedback of user

perceptions. Consistent with this view, AMS promotes post-implementation reviews that are intended to

verify the extent to which operational objectives and asserted benefits are realized.

Page 72: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N70

3.7.3 Delivering Working Software Frequently

A fundamental property of Agile development is frequent delivery of working capabilities. This property

is realized through the development and disciplined execution of Sprint and Release schedules that

determine the pace of software development and delivery. However, the pace of development may not

correspond to the pace of implementation. The pace of implementation must conform to the operational

tempo of the environment in which the system or service resides. At one extreme, the environment might

support the continuous integration involved with DevOps (e.g., frequently updated website content). At

the other extreme, safety-critical operations such as those of the NAS will require rigorous OT&E of the

integrated system and coordination of user and operator training prior to implementation (e.g., an En

Route Automation Modernization release). These factors suggest a more episodic deployment based

on the longer release schedule, similar to many existing NAS systems. When Sprint completions do not

coincide with intended operational software releases, the pace of development can be maintained by

delivering capabilities into a test environment in which assessment activities may be pursued in parallel

with ongoing development.

Another property of Agile that promotes frequent delivery of working software is the disciplined

definition of user stories. User stories should be defined at a level of granularity that enables their

development within a Sprint. This user story discipline and the scope flexibility to defer development that

does not fit within a Sprint ensures that useful features are delivered according to the Sprint/Release plan.

3.7.4 Adapting to Changing Circumstances

Practices for Delivering Working Software Frequently

• Time-boxing in Sprints and releases

• Disciplined user story elicitation

Practices for Adapting to Changing Circumstances

• Backlog management

• User feedback

• Sprint and Release planning

Changing circumstances can be expected in any complex operational environment. That is particularly

true of the NAS. When a new capability is introduced to operation, the capability often needs to be

modified to enhance operational suitability. Changes may involve either a general or site-specific level in

response to weather, traffic conditions, anomalous events, etc. Responsiveness to change is a core value of

Agile, and Agile practices are explicitly defined to support it. The backlog is expected to change with some

Page 73: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 71

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

Practices for Promoting Technical Excellence and Good Design

• Disciplined adherence to process

• Performance measurement

• Quality measurement

• Retrospectives

regularity as requirements are added, deleted, or modified in response to such changing circumstances.

Circumstances may suggest reordering priorities to address more pressing operational needs as they are

encountered. User feedback during preparation for and execution of capability deployment will inform

those decisions. The tempo dictated by Sprint and Release planning defines the opportunities to execute

changes to the development plan.

3.7.5 Promoting Technical Excellence and Good Design

Embracing change as described can have potential downsides. A large magnitude and high frequency

of code changes can lead to lapses of technical standards adherence, loss of design coherence, and the

accumulation of technical debt as development decisions favor expedience over design integrity. This

risk is particularly manifest in preparation for or execution of deployment activities as schedule and

operational needs come into potential conflict. This risk can be mitigated by maintaining a disciplined

adherence to technical standards and to Agile practices such as effectively managing the backlog,

continuing to time-box development and implementation activities, and maintaining a uniform pace of

development. Technical excellence may also be preserved and promoted through effective measurement

activities. Measurements may be defined to include both operational and technical performance metrics

and metrics that more directly ensure that technical quality is maintained.

3.7.6 Agile Deployment ChallengesIn practicing Agile deployment, specific challenges include the following:

• A basic tenet of Agile is scope flexibility, but there may be limits to this flexibility in the operational

environment. The risk should be mitigated by effective backlog management, but there may still

be situations when operational suitability demands meeting function and performance thresholds

that are not negotiable. Examples might include replacing a legacy system or service that

requires certain functions to be available, or implementing a safety-critical service with very high

performance and design assurance requirements. These considerations should be reflected in a

definition of the minimum viable product.

• The pace of acceptable change is determined by the operational context. While some FAA systems

(e.g., many non-NAS systems) correspond to commercial counterparts that have demonstrated

capacities for almost continuous change (e.g., DevOps), NAS operations involve safety- and

efficiency-critical aspects that cannot be flexed to meet a schedule. In these situations, the

frequent delivery of developed functions/features is made to a development/test baseline.

Page 74: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N72

The development/test baseline is statused and introduced into operation at appropriate times

determined by the operational context.

• User constituencies might not trust iterative development. An Agile procurement plan is likely to

involve an iterative evolution of capability achieved by deployment of capabilities at a measured

pace (e.g., six-month release cycle). Based on past experience, user communities might distrust

a plan that fails to meet all needs initially, promising future capability growth. There are many

examples in government procurement of promised enhancements failing to be realized. One

approach to addressing this concern is to define the minimum viable product to include the “must

haves” identified by the user community.

• Integration in the operational environment is always challenging, particularly for new systems

that might involve numerous complex interfaces. In these situations, Agile may actually be an

advantage, driven by prioritization of the work to be done, time-boxing, and proceeding at an

established development pace.

• A documentation focus is deprecated in Agile development, but the quality of training

documentation can be fundamental to implementation success. The quality of user manuals,

operating instructions, installation and test scripts, etc., strongly influences the user perception of

the system or service and its effective use. One approach is to evolve the training documentation

concurrent with the product development, effectively viewing it as an Agile product.

3.8 Agile Program ManagementThe FAA defines program management as establishing clear and achievable objectives; balancing the

competing demands for quality, scope, time, and cost; and developing an approach to address the

different stakeholder concerns [43]. In a broader sense, program management provides the necessary

organization and administration to accomplish smooth development, deployment, maintenance, and

end-of-life activities. Given this, program management is necessary across the entirety of an acquisition’s

lifecycle, and is responsible for monitoring and control of three specific elements: cost, schedule, and

scope. Facets of program management typically include the following:

• Program formulation and planning

• Project monitoring and control

• Stakeholder coordination (e.g., customer interaction, contractor [primes or subs] management)

• Risk management.

Artifacts typically associated with these processes include work breakdown structures and SOWs for

program scope definition, integrated master schedules for schedule control and monitoring, and Earned

Value Management (EVM) for performance assessment and tracking.

Many of these topics are covered in detail throughout this document and will not be repeated here;

please refer to Sections 3.1, 3.2, 3.4, and 3.5 for more information regarding team construction, planning,

estimating, and contracting an Agile Acquisition, respectively. The remainder of this section will expand on

the evolution of program management for Agile Acquisitions and where challenges remain.

Page 75: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 73

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

Practices for Fostering a High-Performance Cross-Organizational Team

• Provide the overall vision

• Identify qualified, motivated individuals who will be committed to mission goals

• Instantiate self-organizing teams and provide guidance on expectations, technically and programmatically, and allow them to operate with relative autonomy

• Facilitate shared team vision and guidelines for close cooperation and collaboration among all team members

• Listen to team member needs and enable the removal of obstacles as necessary

• Connect enterprise, program, and team-level personnel by providing upward and downward management and creating opportunities for information and technical exchange

In reviewing the Agile principles provided in Table 1 1, a case can be made that program management

must evolve to consider and incorporate facets of each of the 12 principles. In particular, the following

Agile principles must be applied to program management to update typical activities:

• Close, daily collaboration between business people and developers.

• Building projects around motivated individuals. Give them the environment and support they

need, and trust them to get the job done

• Self-organizing teams.

• Simplicity—the art of maximizing the amount of work not done.

• Regular adaptation to changing circumstances.

The first three principles can be loosely grouped into a single topic, fostering a high-performance cross-

organizational team. The final two principles operate together for effective technical planning, monitoring,

and execution. The following sections provide Agile practices for these two topics.

3.8.1 Fostering a High-Performance Cross-Organizational Team

In a traditional acquisition, the activities of program management are typically performed by an

individual, the program manager, or designees. In an acquisition where Agile practices have been adopted,

the responsibility for program management becomes blurred, and the entire team begins to shoulder

pieces of this responsibility. Product Owners collaborate with developers and customers to facilitate

effective program formulation and planning, development of requirements, Sprint definitions, and

creation of backlogs. Scrum Masters, if employed, remove barriers to optimum team functioning, keeping

the entire team progressing and focused on prioritized tasks at hand.

Page 76: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N74

The following practices are recommended for fostering a high-performance cross-organizational team

with effective Agile program management:

• Provide the overall vision. As specified in Section 3.2, for Agile planning, it is critical to have a clear

understanding of the overall vision and how the program is to meet mission (e.g., customer) needs.

This big picture provides a foundation on which lower level tasks can be evaluated for value and

prioritized to meet the larger vision expediently. Vision needs to be provided on multiple levels,

starting with the enterprise-wide big picture, to the program level and how each program fits within

the enterprise, down to the project and task levels. This will keep all teams informed and able to

adapt and respond quickly to necessary changes.

• Identify qualified, motivated individuals who will be committed to mission goals. Due to the

constrained iteration timeframes required by Agile, Development Teams need to be constructed

to minimize learning curve timelines and external distractions. This is not to say that junior team

members or qualified individuals with other project obligations are incompatible with Agile.

Training and planning for resource availability must be included in project planning to ensure high

productivity.

• Instantiate self-organizing teams and provide guidance on expectations, technically and

programmatically, and allow them to operate with relative autonomy. A high-performing team, when

given the responsibility and authority to enact necessary changes, can make informed and rational

decisions. Providing guidelines and expectations enables the team to recognize and prioritize items

to best fit the team’s working style. Furthermore, by allowing the Development Team to operate

with autonomy, the program can push decision making down to the most effective level, enabling

proactive changes rather than reactive decisions, which may or may not be the most fully informed.

• Facilitate shared team vision and guidelines for close cooperation and collaboration among all team

members. It is imperative that program management make sure all team members are on the same

page. Without this vision and guidance, team members may work at odds with each other and

eliminate the gains that may be achieved with Agile and adaptive processes. Program management

aligns team members, clarifies areas of confusion, and smooths the way for development and

execution of the program.

• Listen to team member needs and enable the removal of obstacles as necessary. Similar to traditional

program management processes, resource management remains key in executing an Agile program.

Ensuring that members of the Development Team have access to stakeholders and tools, the

schedule to complete priority items, and the budget to achieve is necessary for success.

• Connect enterprise, program, and team-level personnel by providing upward and downward

management and creating opportunities for information and technical exchange. This connection

and information exchange also needs to occur with other teams developing or sustaining

solutions. This open communication will ensure that integration is maximized and interfaces are

leveraged, reducing the potential for overlap and duplication. With aggressive schedules, open and

transparent information exchange is required to maintain progress. If developers are unaware of

program vision shifts, they cannot make adjustments to Sprint formulation. If enterprise personnel

are unaware of challenges within development, they cannot suggest alterations and prioritizations

of mission needs. Upward management to the enterprise level and downward management to

Page 77: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 75

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

Change is necessary and fundamental to an Agile Acquisition to provide maximum value within the

shortest time span feasible. Program management must enable flexibility and take commonsense

approaches to technical planning, monitoring, and execution activities. Program management should

generate metrics (e.g., expected and achieved velocities, backlog burn-down, defects) as appropriate

to understand impacts of change on cost, schedule, and scope baselines. Once impacts are identified,

embrace adaptive methodologies to adjust these baselines to maintain the most efficient and direct path

to achieving the overall program vision. The following practices are recommended for effective technical

planning, monitoring, and execution with Agile program management:

• Assimilate inputs and feedback from all team members to balance technical and programmatic

needs with business value. Just as with program management in traditional acquisitions, those

with program management responsibilities must listen to and combine status, estimations, and

other pieces of information from stakeholders and all levels of the team. The difference and the

consideration for Agile practice is to identify change to scope rather than change to schedule

or budget. It should be noted that change to scope is not meant to be carte blanche to defer

or reduce capabilities to ease development workload, but rather a means to achieve maximum

value given technical challenges and resource considerations. An initial scope, or minimum viable

product, must be defined. Once defined and agreed upon, the need to balance technical and

resource solutions with value should be considered continuously throughout the project, not just

at typical specified intervals.

• Track and monitor program/project/task progress through a variety of methods rather than

traditional cost/schedule means. This is a program management practice that begins to

Practices for Providing Effective Technical Planning, Monitoring, and Execution with Agile Program Management

• Assimilate inputs and feedback from all team members to balance technical and programmatic needs with business value

• Track and monitor program/project/task progress through a variety of methods rather than traditional cost/schedule means

• Realign team priorities as necessary in conjunction with leads and Product Owners

• Foster the identification of lessons learned and best practices and fold them back into program execution

the development level are necessary to make sure these lines of communication are open and

efficiency is preserved and even improved.

3.8.2 Providing Effective Technical Planning, Monitoring, and Execution with Agile Program Management

Page 78: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N76

significantly diverge from traditional practices. In traditional practice, progress is monitored

against a plan defined at the beginning of the program. Changes can be made, but they are geared

toward schedule and budget changes rather than scope because value is measured by completion

of defined artifacts (e.g., EVM). With Agile activities, variance to a plan does not provide a good

metric because the plan is meant to be adaptable, allowed to shift and change as necessary to

best accomplish the mission goals. New metrics and methods of collecting status and measuring

progress toward mission success are required.

• Realign team priorities as necessary in conjunction with leads and Product Owners. As discussed

in Section 3.1.3, for Agile teams, dedicated (i.e., allocated) individuals are necessary to achieve

aggressive schedules. Program management should identify and remove obstacles to staff planning

and allocation, ensuring that staff have enough time and availability to accomplish program goals.

Also, program management with its monitoring of progress should identify when teams begin to

deviate from planned tasking and affect changes to the plan or staff direction as necessary.

• Foster the identification of lessons learned and best practices and fold them back into program

execution. This practice is not unique to Agile; however, the value of having discussions,

retrospectives, and evaluating program performance for these items cannot be overstressed. Agile

allows for rapid course correction due to its iterative nature, and incorporating this traditional

program management practice allows for continuous performance improvement.

3.8.3 Agile Program Management ChallengesWhile the practices to accomplish traditional and Agile program management may differ, the goals of

program management and Agile principles are very compatible and complementary. Each requires the

following:

• Project/task formulation with emphasis on effective planning

• Customer engagement to ensure that mission needs are met satisfactorily

• Monitoring and control of progress to understand when adjustments are necessary

• Identification and mitigation of risks to maintain and accelerate project progress.

Challenges remain in the following two areas in applying the Agile principle of providing effective

technical planning, monitoring, and execution with Agile program management:

• Contractor/subcontractor management: When the execution of Agile strategies is wholly contained

within one organization, responsibilities can be easily understood and assumed or designated.

When two or more organizations are involved, much more of a coordination burden needs to be

tackled to ensure that each stakeholder/responsible entity understands and agrees to the evolving

scope. This challenge should primarily be addressed through Agile contracting strategies with clear

guidelines for expectations and continuous communication and collaboration.

• Monitoring of program progress: Depending on program cost, current federal regulations

require the use of an Earned Value Management System [44], [45], [46]. For FAA acquisitions,

EVM requirements are determined by the EVM Focal Point and the JRC, and they can be applied

at both the program and developer levels. There is a known difficulty in connecting Agile to

Page 79: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 77

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

these traditional accounting and monitoring structures because EVM typically requires a strong

understanding of all of the needs and plans up front in significant detail. EVM monitors programs

for value (e.g., cost and schedule) by claiming credit when completing intermediate products

as defined by the up front plans as the program progresses, evaluating and addressing variances

between actual and planned costs and schedule [47]. The lack of flexibility in EVM processes

to account for incremental and adaptive planning and the difficulties associated with applying

the monitoring method to the outputs of an Agile program (e.g., user stories versus traditional

documentation) have been identified by a number of organizations [48], [12]. Variances from the

cost and schedule baselines are to be expected with the Agile principle of welcoming changing

requirements, so new methodologies are required for monitoring program progress. Development

and investigation of these new methods is ongoing [48], [49].

3.9 Enterprise Architecture—Transition to AgileFor the federal agencies, including the FAA, an enterprise architecture (EA) establishes the agency-wide

roadmaps that capture the plans for achieving the agency’s missions through optimal performance (better,

faster, and cheaper) of its core business processes.

Note that the term “enterprise architecture” may take on different meanings when being discussed at

the enterprise level and at the program level. At the enterprise level, the EA provides a systematic way of

capturing the information that helps to create a blueprint for the agency’s current and the desired/target

state. One of its primary uses is to help inform the external stakeholder such as OMB about the agency’s

management of resources and progress. An EA acts as a common language for business and IT. It is a

means to address crosscutting concerns/risks, such as integration and interoperability concerns, before

they manifest themselves. At the program level, the term EA may be used in place of “architecture” to

describe program-specific key elements, relationships, and architectural viewpoints. This document makes

that distinction by using either EA or program-level architecture, as appropriate.

The FAA’s NAS EA provides users with the agency’s multiyear strategic plan and framework for improving

and evolving the NAS from the current portfolio of fielded ATM services and capabilities through the next

10- to 15-year planning cycle [50]. The FAA’s “non-NAS” EA captures information and plans related to use

of IT for evolving and improving its mission support capabilities and services, such as its Human Resource

Information System, and Personnel and Payroll functions.

The Agile principles that apply to EA development and management and equally to program-level

architecture development include the following:

• Valuing individuals and interactions over processes and tools

• Maintaining simplicity—the art of developing “good enough”

• Engaging stakeholders continuously

• Adapting to changing circumstances.

Page 80: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N78

3.9.1 Valuing Individuals and Interactions over Processes and Tools

Practices for Valuing Individuals and Interactions over Processes and Tools

• Architecture views and metrics take precedence over documents/reports

• Enterprise architects drive collaboration of programs and teams around a common technical vision

• Enterprise architects maintain personal connections with each Agile initiative (Agile Release Train) [31]

• Enterprise architects participate in program-level design and demonstrations

• Teams provide enterprise architects with full visibility into practices and challenges

Common problems that large organizations experience with respect to EA include the following:

• EA is outdated/obsolete by the time it is published.

• There is general unawareness about enterprise-level architecture efforts.

• Teams have misconceptions about the organization’s vision for the target state.

• Teams do not adhere to the EA standards, design patterns, and best practices.

• Teams are not aware of changes to the EA.

• There is a general perception that EA views and products development are time-consuming.

• Teams do not see value in EA products.

A theme running through organizations that experience these problems is a culture of command and

control, where emphasis is on products, processes, and tools over individuals and interactions.

It is more important to have an EA that stakeholders at varying levels of the organization know about,

actively participate in ensuring that it is up-to-date, and take advantage of. Trying to build the perfect

architecture and answer all questions related to modeling techniques, standard notations, and tools is not

feasible. The Agile approach advocates focus on the architecture views, and clear metrics associated with

those views, instead of generating comprehensive reports and documentation that may be out-of-date by

the publication date.

In an Agile organization, the focus is on people and interactions at the varying levels of the organization.

In order to facilitate close collaboration and interaction within the organization, the role of architect is

typically divided into two—the enterprise architect and the system architect.

The enterprise architect(s) and enterprise resources are available to the programs and Agile Teams, as

well as to the public (e.g., an EA portal with an integrated dashboard), if appropriate. The enterprise

architect operates across programs, and is responsible for understanding the overarching organization’s

mission, the as-is state, and the target state. The enterprise architect is responsible for ensuring that the IT

Page 81: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 79

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

Practices for Maintaining Simplicity—the Art of Developing “Good Enough”

• EA models do not need to be done to perfection and should be kept simple

• Automated tools and whiteboards may be used to capture EA inputs

development strategies and technologies are aligned with the organization’s evolving business needs.

More specifically, the enterprise architect is responsible for the following:

• Work collaboratively with business stakeholders (portfolio managers, users or user communities) as

well as the system architects around a common vision and understanding of the end state

• Maintain personal connections with each Agile initiative, and participate in program-level

architecture decisions

• Inform and influence the common modeling, notation, design patterns, and standards used

• Keep abreast of innovations that can have a crosscutting effect on the enterprise

• Monitor trends in industry and government, and apply innovative solutions to EA challenges

• Identify architectural or technical shortfalls (e.g., security, and scalability).

The system architect role is similar in function to that of the enterprise architect, with the primary

difference that system architects operate at the program level and have a much more intimate relationship

with product managers and the Agile Teams. The system architect’s basic function is to:

• Maintain an understanding of the expressed needs and direction at the enterprise level, in close

collaboration with the enterprise architect

• Evolve and maintain the system’s architecture and implementation framework for current and

upcoming needs in an iterative manner

• Ensure that there is transparency with respect to practices and challenges that the program maybe

facing.

Often, the role of the system architect is carried out by the lead engineer.

3.9.2 Maintaining Simplicity—the Art of Developing “Good Enough”

The Agile approach suggests a “good enough” philosophy, which should be the same philosophy used

when developing architecture models. These models do not need to be done well in advance or done to

perfection, and need to be kept simple.

At the Sprint level, the first iteration of an architecture view may be done on a whiteboard or in a non-

traditional architecture tool to keep things simple. The initial architecture view should help expedite

communication and resolution discovery by the Development Team and the system architect.

At the enterprise level, the enterprise architect should inform all stakeholders of the upcoming changes

Page 82: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N80

and their possible impact on the architecture. In many organizations, including the FAA in the past, the EA

is developed and published on an annual cycle. As a result, new information and architectural guidance

available at the beginning of the year is not included in the guide until the next publication of the EA

products. A more frequent update cycle, communication of changes, and timely guidance are often far

better than speculation at the Agile Teams’ level, even if that guidance is still not fully matured.

To be more Agile, the FAA and organizations alike are employing tools to help with more rapid update

cycles and increased availability of enterprise-level views and information. Utilizing automated tools

frees up resources that would otherwise be occupied developing the EA products to perform analysis

on the EA products.

3.9.3 Engaging Stakeholders Continuously

Practices for Engaging Stakeholders Continuously

• Enterprise architects work with business stakeholders and system architects

• Enterprise architects must speak their customers’ language

• Enterprise architects have to actively look for opportunities to remove waste

An Agile organization is functionally Agile when its operational parts collaborate, and anticipate

and embrace change. Enterprise architect(s) need to work with their customers, often the business

stakeholders (program managers and/or user community) and system architects in a manner that is most

effective and efficient. This means that communication with the customers may need to take form of

teleconferences, video conferences, and if need be face-to-face meetings.

The enterprise architect can be the connecting role between the stakeholders with the long-term

vision and the project teams. So, it is important for the enterprise architect to maintain good working

relationships with those stakeholders.

Enterprise architects are key participants in helping to define, maintain, and communicate strategic

themes and key business drivers, and reporting on progress toward an envisioned end state. Tools such as

electronic mail, portals, and dashboards are used to reach the community of stakeholders.

At the program level, the system architect is engaged in helping define, analyze, and refine functional and

non-functional requirements using operational architecture views. It is important that the architecture

and requirements work seamlessly and continuously collaborate to ensure that requirements are aligned

with the target state defined in the EA, and are technically achievable.

Page 83: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 81

3. APPLYING AGILE WITHIN THE ACQUISITION MANAGEMENT SYSTEM

Practices for Adapting to Changing Circumstances

• Develop architecture models more iteratively

• Identify issues early through shorter iterations

• Continually refine architecture and technical strategies to adapt to the needs

• Use EA to help reduce the cycle time for fielding capabilities

3.9.4 Adapting to Changing Circumstances

The Agile approach works well when dealing with small-scale applications that are being developed or

integrated into an existing operational baseline or system. For large-scale IT solutions, the Agile approach

needs to have architecture that is developed ahead of the development Sprints. Future refinement of the

architecture can be iterative and alongside the development Sprints.

Shorter cycles help focus on current values/needs. They allow the enterprise to adapt to needs,

advancements in technology, and shifting organizational priorities. EA models need to be developed

iteratively, and when ready, smaller pieces will be linked together to create greater wholes.

The primary reason for not producing a comprehensive set of documents and models up front is that

detailed artifacts are often ignored by the Development Teams, and become shelf ware. Instead, the

focus under an Agile approach should be on EA products of recognizable value to all stakeholders. In

addition, the artifacts that are developed should focus on architectural principles and standards. This will

help to make sure that program managers, Product Owner, and Development Teams understand those

principles and standards, and that once a clear architecture is in place, they all can continue to contribute

toward refining it.

Beyond the development process, the EA itself can be used to identify and enforce technologies that

facilitate Agile engineering practices. It can also be used to identify solution components that can be

reused across the enterprise, which will reduce the cycle time for fielding capability to users for feedback.

3.9.5 Challenges with Applying Agile to Enterprise ArchitectureThe Agile approach embraces a philosophy that all requirements cannot be known in advance. This trait

helps organizations with rapidly evolving IT environments continue to operate and function effectively

and not fall behind the technology evolution by being stuck in the planning and definition phase.

Given that EA is primarily focused on up front risk reduction, it seems that Agile philosophy and EA

may be in direct conflict. For example, Agile advocates less emphasis on documentation, whereas the

current approach to EA relies on documentation as a primary means of communication. EA requires

lead time for development, and eventually analysis, whereas Agile is advocating a much more iterative

development and analysis approach. However, the incompatibility of Agile and EA may be skin-deep, as

once Agile principles are closely examined, they can be adopted and help modify how EA management

Page 84: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N82

and development is approached, and how that can become the operating norm for an organization like

the FAA.

One primary area that the Agile approach does not address clearly and for which further research is

necessary is the fact that the techniques do not include an explicit method of ensuring agency-wide

compliance with the EA. In other words, Agile places great emphasis on the human element, as it

depends on people being responsible, striving for excellence, and collaborating often and with the right

stakeholders. Agile application at the program and Release levels is well understood, but maintaining

program- and project-level visions in synchronization with the enterprise level is more challenging. Both

policy and practices need to evolve, be developed, and be put in practice to help achieve that goal.

Page 85: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 83

NEXT STEPS 4The FAA is currently in the early phases of adopting Agile, and this document has provided the key

principles and practices that should be considered as the FAA integrates this new approach. Government

agencies have increasingly leveraged Agile practices in recent years. The increased application of Agile

methods across the federal government combined with the increasing number of Agile initiatives

within the FAA make Agile Acquisition an important area to address. The following steps are needed for

continued progress in Agile adoption in FAA acquisition efforts.

• The FAA’s leadership should make key decisions related to the implications of Agile Acquisition on

the AMS process. The decisions include whether Agile implies the need for a suitable ACAT versus

the need to reconsider existing AMS steps more broadly. They also include determining whether to

reconsider the criteria for certain AMS artifacts, among other issues.

• Based on the key decisions made, the FAA should begin implementation planning for Agile. This

includes conducting an organizational scan to assess readiness and challenges, and identifying

potential champions for the approach, as well as key stakeholders and decision makers. It also

includes developing a roadmap for Agile implementation, executing the steps identified in the

roadmap, and refining the process through iterative feedback.

• Identifying an Agile Pilot program is an important step. The program should be selected on the

basis of the criteria described in this document, in conjunction with evaluating the business

motivations of the program. The Agile Pilot serves as a basis for the validation of the principles

and practices identified in this document. It also serves as a mechanism to provide feedback into

and further mature FAA’s Agile Acquisition body of knowledge. Tabletop exercises can provide a

valuable means to assess the potential implications of Agile adoption before a program is selected.

• Developing the next iteration of these principles and practices, including examples of tailored Agile

Acquisition approaches, is also necessary. It is important to identify the steps and key artifacts

needed for an Agile program within the context of the AMS. Adopting an Agile paradigm implies

changes to the process and artifacts typically required of the AMS process, including the content

of those artifacts. Section 2.3 suggests an Agile lifecycle alternative; however, there is still a need to

develop concurrence on an Agile lifecycle model that is specific to the FAA environment. The Agile

Pilot can serve as a basis for identifying and validating this model and artifacts.

• Educating the FAA’s workforce on the Agile principles and practices described in this document is

another essential step. Training needs to be conducted across all the key acquisition organizations

in the FAA’s enterprise. Through the education sessions, issues may be identified that can be used

as a basis to further mature the body of knowledge in Agile Acquisition.

• Finally, in conjunction with the work on Agile Acquisition, it is important to investigate the

applicability of emergent Agile systems engineering practices on the FAA. Acquisition and systems

Page 86: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N84

engineering are very synergistic within the FAA, and it is important for each of these areas to

mature if the FAA is to truly embrace an Agile paradigm. A key factor to consider is the safety-

critical nature of air traffic control systems, and the implications of Agile systems engineering

practices on these systems. The FAA should consider leveraging work currently being pursued by

INCOSE, in addition to the work that has matured within other agencies, to assess the implications

for its current systems engineering practices.

Page 87: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 85

REFERENCES 5[1] The Standish Group, “CHAOS 2014,” The Standish Group International, Inc., 2015.

[Online]. Available: http://www.lulu.com/shop/james-johnson/chaos-2014/paperback/product-22302662.html. [Accessed 16 September 2015].

[2] “Manifesto for Agile Software Development,” Ward Cunningham, 2001. [Online]. Available: http://agilemanifesto.org/. [Accessed 10 September 2015].

[3] S. Ambler, “Disciplined Agile 2.0: A Process Decision Framework for Enterprise I.T.,” [Online]. Available: http://www.disciplinedagiledelivery.com/. [Accessed 13 October 2015].

[4] C. Larman and B. Vodde, “Scaling Scrum, Scaled Agile - Large Scale Scrum (LeSS),” [Online]. Available: http://less.works/. [Accessed 13 October 2015].

[5] Scaled Agile Inc., “Scaled Agile Framework,” Scaled Agile Inc., [Online]. Available: http://www.scaledagileframework.com/. [Accessed 16 September 2015].

[6] Wikipedia, “Scrum (Software Development),” [Online]. Available: https://en.wikipedia.org/wiki/Scrum_%28software_development%29. [Accessed 13 October 2015].

[7] S. C. Pete Modigliani, “Defense Agile Acquisition Guide,” The MITRE Corporation, McLean, VA, 2014.

[8] International Council On Systems Engineering (INCOSE), “INCOSE Systems Engineering Handbook,” International Council On Systems Engineering, 29 June 2015. [Online]. Available: http://sebokwiki.org/wiki/INCOSE_Systems_Engineering_Handbook. [Accessed 16 September 2015].

[9] “U.S. Digital Services Playbook,” The White House, [Online]. Available: https://playbook.cio.gov/. [Accessed 16 September 2015].

[10] “The TechFAR Handbook,” [Online]. Available: https://playbook.cio.gov/techfar/. [Accessed 16 September 2015].

[11] Defense Information Systems Agency (DISA), “ABOUT GCSS-J,” Defense Information Systems Agency (DISA), [Online]. Available: http://disa.mil/Mission-Support/Command-and-Control/GCSS-J/About. [Accessed 16 September 2015].

[12] Government Accountability Office, “Effective Practices and Federal Challenges in Applying Agile Methods - GAO-12-681,” Government Accountability Office, 2012.

[13] Scrum Inc., “The Scrum Guide,” Scrum.org, [Online]. Available: http://www.scrumguides.org/scrum-guide.html. [Accessed 17 September 2015].

[14] American Psychological Association, “Multitasking: Switching costs,” American Psychological Association, 20 March 2006. [Online]. Available: http://www.apa.org/research/action/multitask.aspx. [Accessed 10 September 2015].

[15] G. A. Miller, “The magical number seven, plus or minus two: some limits on our capacity for processing information,” Psychological review, vol. 63, no. 2, pp. 343-352 , 1956.

[16] R. Dunbar, “Neocortex Size as a Constraint on Group Size in Primates,” Journal of Human Evolution, vol. 22, no. 6, pp. 469-493, 1992.

[17] S. Raman, “Five Levels of Agile Planning,” Scrum Alliance: Agile Atlas, 15 January 2014. [Online]. Available: http://agileatlas.org/articles/item/five-levels-of-agile-planning. [Accessed 17 September 2015].

Page 88: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N86

[18] Scrum Training Series, “Module 3: Sprint Planning Meeting,” Collabnet, [Online]. Available: http://scrumtrainingseries.com/SprintPlanningMeeting/SprintPlanningMeeting.htm. [Accessed 17 September 2015].

[19] C. Northern et al., Handbook for Implementing an Agile Systems Engineering Process in the Department of Defense, McLean, VA: The MITRE Corporation, 2010.

[20] J. Gariano, “Hardened Agility: Deploying Agile at a Defense Contractor,” General Dynamics, Scottsdale, AZ, 2015.

[21] D. Leffingwell, “Scaled Agile Framework - Epics,” Scaled Agile, Inc, 25 July 2014. [Online]. Available: http://www.scaledagileframework.com/epics/. [Accessed 18 September 2015].

[22] N. Subowo, “Towards an Agile Systems Engineering Approach for the National Airspace System,” in SEDC 2014, Washington, DC, 2014.

[23] W. A. Huckabee, “Requirements Engineering inn an Agile Software Development Environment,” Defense ARJ, vol. 22, no. 4, pp. 394-415, October 2015.

[24] B. Cao and L. Ramesh, “Agile Requirements Engineering Practices: An Empirical Study,” IEEE Software, pp. 60-67, 2008.

[25] M. Lant, “How to Easily Prioritize Your Agile Stories,” 21 May 2010. [Online]. Available: http://michaellant.com/2010/05/21/how-to-easily-prioritize-your-agile-stories/. [Accessed September 2015].

[26] D. Leffingwell, “Weighted Shortest Job First (WSJF) Abstract,” Scaled Agile Framework, July 2014. [Online]. Available: http://www.scaledagileframework.com/wsjf/. [Accessed September 2015].

[27] G. Sillitti and A. Succi, “Requirements Engineering for Agile Methods,” in Engineering and Managing Software Requirements, Heidelberg, Germany, Springer Berlin, 2005, pp. 309-326.

[28] S. W. Ambler, “Agile Requirements Change Management,” Ambysoft Inc., [Online]. Available: http://agilemodeling.com/essays/changeManagement.htm. [Accessed 18 September 2015].

[29] Government Accountability Office, GAO Cost Estimating and Assessment Guide; Best Practices for Developing and Managing Capital Program Costs GAO-09-3SP, Washington, DC: GAO, 2009.

[30] M. Cohn, Agile Estimating and Planning, 2006.

[31] National Defense Industrial Association, “Guide to Earned Value Management for Agile Programs: Industry Best Practice. Draft Version 1.0,” NDIA, Arlington, VA, 2015.

[32] D. Leffingwell , “Agile Release Train Abstract,” Scaled Agile, Inc., 22 July 2014. [Online]. Available: http://scaledagileframework.com/agile-release-train/. [Accessed 22 October 2015].

[33] International Cost Estimating and Analysis Association, Cost Estimating Body of Knowledge. Version 1.2. Chapter 4: Data Collection and Normalization., Vienna, VA: ICEAA, 2012.

[34] Federal Aviation Administration, “FAA Acquisition System Toolset (FAST),” Federal Aviation Administration, July 2015. [Online]. Available: http://fast.faa.gov/Index.cfm?p_title=Fast Home. [Accessed 18 September 2015].

[35] E. Gross et al., “Contracting for Agile Software Development in the Department of Defense: An Introduction (CMU/SEI-2015-TN-006),” Software Engineering Institute (SEI), Pittsburgh, PA, 2015.

[36] Harris Corporation, “Harris Corporation Awarded $331 Million Contract by FAA for Data Communications Integrated Services Program,” Harris Corporation, 20 September 2012. [Online]. Available: http://harris.com/view_pressrelease.asp?pr_id=3518. [Accessed 21 September 2015].

[37] Office of Management and Budget, “Contracting Guidance to Support Modular Development,” Office of Management and Budget, Washington, DC, 2012.

[38] Defense Acquisition University , “Test and Evaluation Community of Practice (T&E CoP),” [Online]. Available: https://acc.dau.mil/CommunityBrowser.aspx?id=18011&lang=en-US. [Accessed 15 September 2015].

Page 89: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 87

5. REFERENCES

[39] Federal Aviation Administration, “Acquisition Management Policy - 4.4 Test and Evaluation,” Federal Aviation Administration, July 2015. [Online]. Available: http://fast.faa.gov/docs/acquisitionManagementPolicy/AcquisitionManagementPolicy4.4.pdf#nameddest=policy4_4. [Accessed 15 September 2015].

[40] Federal Aviation Administration , “Acquisition Management Policy - 4.5 Independent Operational Assessment,” July 2015. [Online]. Available: http://fast.faa.gov/docs/acquisitionManagementPolicy/AcquisitionManagementPolicy4.5.pdf. [Accessed 15 September 2015].

[41] Federal Aviation Administration , Test and Evaluation Process Guidelines, Washington, DC: Federal Aviation Administration, 2014.

[42] “Test and Evaluation Handbook, Version 3.0,” FAA William J. Hughes Technical Center, Atlantic City International Airport, 2013.

[43] Federal Aviation Adminstration, “Program Management Practice Toolkit,” FAA Acquisition Progessions Online Community, [Online]. Available: https://ksn2.faa.gov/faa/AcquisitionProfessions/Practices/Pages/Disc_PM.aspx. [Accessed October 2015].

[44] “Subpart 34.2-Earned Value Management System,” March 2005. [Online]. Available: https://www.acquisition.gov/sites/default/files/current/far/html/Subpart%2034_2.html. [Accessed October 2015].

[45] Office of Management and Budget, “CIRCULAR NO. A–11 Perparation, Submission, and Execution of the Budget,” Office of Management and Budget, Washington, DC, 2015.

[46] Federal Aviation Adminstration, “Acquisition Management Policy 4.16 Earned Value Management,” Federal Aviation Adminstration, Washington, DC, 2015.

[47] GEIA, “Earned Value Management Systems ANSI/EIA-7-48-B-2007,” Government Electronics and Information Technology Association , Arlington, VA, 2007.

[48] M. A. Lapham, et. al, “Agile Methods: Selected DoD Management and Acquisition Concerns CMU/SEI-2011-TN-002,” Software Engineering Institute, Hanscom AFB, MA, 2011.

[49] G. Kranz, “EVM and AGILE in a DoD Environment,” Perfomance Assessments and Root Cause Analysis (PARCA) EVM Webinar, June 2015.

[50] Federal Aviation Adminstration, “NAS Integrated Systems Engineering Framework (ISEF), version 3.3,” Federal Aviation Administration, Washington, DC, 2014.

[51] Federal Aviation Administration, “Acquisition Management Policy,” July 2015. [Online]. Available: http://fast.faa.gov/docs/acquisitionManagementPolicy/acquisitionManagementPolicy.pdf. [Accessed 18 September 2015].

[52] Federal Aviation Administration, “AMS Policy vs Guidance,” Federal Aviation Administration, [Online]. Available: http://fast.faa.gov/AMSPolicyVsGuidance.cfm?p_title=AMS Information. [Accessed 18 September 2015].

[53] Federal Aviation Administration, “AMS Tailoring,” Federal Aviation Administration, [Online]. Available: http://fast.faa.gov/AMSTailoring.cfm?p_title=AMS%20Tailoring. [Accessed 18 September 2015].

[54] Federal Aviation Administration , “AMS Tailoring Request Process,” [Online]. Available: http://fast.faa.gov/docs/AMSTailoringRequestProcess.doc. [Accessed 18 September 2015].

[55] Federal Aviation Administration, “AMS Tailoring Request Template,” [Online]. Available: http://fast.faa.gov/docs/AMSTailoringRequestTemplate.doc. [Accessed 18 September 2015].

[56] Federal Aviation Administration, “AMS Table of Acquisition Categories,” [Online]. Available: http://fast.faa.gov/docs/acqcattable.doc. [Accessed 18 September 2015].

[57] T. Sulaiman, B. Barton, T. Blackburn, “AgileEVM—Earned Value Management in Scrum Projects,” in Proceedings of Agile 2006, Minneapolis, MN, 2006.

Page 90: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N88

Term Definition

Agile The ability to respond efficiently and effectively to changes in the op-

erational environment. Efficiency and effectiveness refer to being timely,

affordable, and useful.

Agile Acquisition Strategy for providing multiple, rapid deliveries of incremental capa-

bilities for operational use and evaluation. It is a combination of Agile

principles, acquisition policies, and Program Office operations that will

enable the rapid delivery of services and systems.

Backlog Repository for all of the upcoming work needed to satisfy the program’s

solution (the objective). There are different levels of a backlog: program,

Release, and Sprint.

Program backlog—Primary source of all requirements/desired function-

ality for the program. Release backlog—Subset of the program backlog

listing features intended for the release. Sprint backlog—Subset of the

Release backlog listing the user stories to implement in the Sprint. [7]

Burn-Down Chart Graphical representation of work left to do versus time.

Cadence Development at a sustainable pace, where there is a consistent flow of

activities (e.g., planning and deployment and retrospective) within the

time-box.

Lead Engineer Oversees technical aspects of the program, working with architects and

systems engineers to ensure that the system is developed in alignment

with FAA’s evolving enterprise architecture and technical standards.

Daily Commitment (Daily Scrum)

Team synchronization meeting (typically 15 to 30 minutes) to plan ac-

tivities and assess progress and impediments. [7]

Definition of Done Agreeing on a clear understanding of what it means for a user story or

piece of functionality to be complete, or for a product increment to be

ready for release. [7] It is from the perspective of the project, and is not

to be confused with “Acceptance Criteria,” which is to prove that a user

story is complete and meets the user’s purpose.

Development Team A group (ideally 7 +/- 2 members) responsible for conducting the devel-

opment work necessary to deliver a potentially releasable increment of

functionality upon completion of each Sprint.

APPENDIX A GLOSSARY AND LIST OF ABBREVIATIONSA.1 Glossary

Page 91: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 89

Term Definition

Development Team A group (ideally 7 +/- 2 members) responsible for conducting the devel-

opment work necessary to deliver a potentially releasable increment of

functionality upon completion of each Sprint.

DevOps Development practice where the users, systems engineers, and Devel-

opment Team work in close collaborative environment throughout the

lifecycle.

Epic A large user story, often defined for a release that spans multiple Sprints.

[7]

Enterprise initiatives that are sufficiently substantial in scope. There are

two different types of epics: business, which are large customer-facing

initiatives that encapsulate the new development necessary to realize

the benefits of some new business opportunities, and architectural,

which are large technology initiatives necessary to evolve portfolio

solutions in order to support current and future business needs.

Features Services provided by the system that fulfill one or more stakeholder

needs. They are maintained in the program backlog and are sized to fit

in a Release.

Minimum Viable Product Minimum set of features that will bring value to the user community

Product Owner FAA representative of the user community who is responsible for maxi-

mizing the value of the work conducted by the Development Team.

Program Manager Oversees the planning and execution of the program, ensures adher-

ence to FAA Agile principles and practices, and represents the key inter-

face between enterprise and Development Team levels.

Scrum Framework within which people can address complex adaptive prob-

lems while productively and creatively delivering products of the high-

est possible value.

Scrum Master The developer who is responsible for maintaining the structure and

the Scrum rules of operation. Within the FAA environment, the Scrum

Master may be a contractor.

Sprint A time-boxed period during which potentially releasable “working ca-

pability” is developed.

Story Points Unit of measurement to estimate relative complexity of user stories. [7]

Release Capability delivered to users, composed of multiple Sprints. [7]

User Stories Sprint-level requirements expressed as a description of the functionality

desired by a user, usually represented in a structured format and man-

aged in Sprint backlogs.

Velocity Rate at which functionality is being delivered (e.g., story points/Sprint).

Page 92: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N90

A.2 List of Abbreviations

Acronym Definition

ACAT Acquisition Category

AEB Acquisition Executive Board

AMS Acquisition Management System

ATM Air Traffic Management

CO Contracting Officer

DAD Disciplined Agile Delivery

DoD Department of Defense

DT Developmental Test

EA Enterprise Architecture

EDT Estimated Development Time

EVM Earned Value Management

F&E Facilities and Equipment

FAA Federal Aviation Administration

FAR Federal Acquisition Regulation

FFP Firm Fixed Price

GAO Government Accountability Office

GCSS-J Global Combat Support System-Joint

IDIQ Indefinite Delivery Indefinite Quantity

INCOSE International Council on Systems Engineering

IPT Integrated Product Team

ISPD Implementation Strategy Planning Document

IT Information Technology

JRC Joint Resources Council

LeSS Large-Scale Scrum

NAS National Airspace System

NASA National Aeronautics and Space Administration

O&M Operations and Maintenance

OMB Office of Management and Budget

OT Operational Test

OT&E Operational Test and Evaluation

PM Project Manager

ROM Rough Order of Magnitude

SAFe Scaled Agile Framework

SEDC Systems Engineering Development Conference

SEI Software Engineering Institute

Page 93: Federal Aviation Administration Agile Acquistion Principles and Practices

A G I L E A C Q U S I T I O N P R I C I P L E S A N D P R A C T I C E S 91

Acronym Definition

SoS Scrum of Scrums

SOW Statement of Work

SP Story Point

T&E Test and Evaluation

T&M Time-and-Materials

TDC Total Development Cost

TDD Test-Driven Development

TEMP Test and Evaluation Master Plan

TSP Total Story Points

U.S. United States

US User Story

VA Department of Veterans Affairs

Page 94: Federal Aviation Administration Agile Acquistion Principles and Practices

F E D E R A L AV I AT I O N A D M I N I S T R AT I O N92 F E D E R A L AV I AT I O N A D M I N I S T R AT I O N92

For Additional Information

For additional information or questions on the

content provided by this document,

please contact:

Avinash Pinto

[email protected]

(703) 983-4318

Page 95: Federal Aviation Administration Agile Acquistion Principles and Practices
Page 96: Federal Aviation Administration Agile Acquistion Principles and Practices

MITRE