road to agile: federal government case study

26
Road to Agile: A Federal Government Case Study Steven Kennedy, US Dept of the Treasury and David Marsh, Bodega Consulting March 21 st , 2014

Upload: david-marsh

Post on 05-Jul-2015

190 views

Category:

Technology


0 download

DESCRIPTION

Presentation to PMI Government Community of Practice on March 21, 2014. Case study of a transformation from traditional to agile way of working on a re-engineering project for a mission-critical financial system. Includes ideas behind transformation, specific techniques and tools used, as well as the outcomes.

TRANSCRIPT

Page 1: Road to agile: federal government case study

Road to Agile:A Federal Government Case Study

Steven Kennedy, US Dept of the Treasury and David Marsh, Bodega Consulting

March 21st, 2014

Page 2: Road to agile: federal government case study

2

• Welcome PMI Members from the:

Agile Community of Practice

• Use Chat Pod for all your QUESTIONS

• Earning PDUs

• Automatic PDUs for attending live webinar

• Slides and Recordings available after 24 hours

• Join the Discussion

• GovCOP Discussion Board

• Twitter @govcop

• LinkedIn Group (“PMI Government Community of Practice”)

• Volunteer with us ([email protected])

Welcome to the Government Community of Practice!

2

Page 3: Road to agile: federal government case study

3

Our Presenters: David and StevenSteven Kennedy is the Program Manager at the U.S. Dept of

the Treasury where he leads the project management staff

office for Debt Management Services of the Treasury's

Bureau of the Fiscal Service. Steven introduced the use of

agile development and cloud computing deliver better code

faster at a lower cost.

Presentation Title

David Marsh has been coaching Agile teams for years (even

before Agile became a buzz word), enabling many

organizations (govt and non govt) to realize the benefits of

agile software delivery by guiding teams on the journey from

waterfall development to agility.

David’s approach is very hands on where he applies the

techniques he coaches first-hand to deliver quality software

solutions.

Page 4: Road to agile: federal government case study

4

Waypoints

• Brief Introduction to the Business: the Treasury Offset Program

• Why Agile?

• Typical Barriers to Adopting Agile Delivery Methods

– And How We Engineered an Environment to Overcome Them

• How the Project Evolved

– Acceptance Test Driven Development

– Continuous Integration / Automated Deployments

• The Results

Page 5: Road to agile: federal government case study

5

The Treasury Offset Program (TOP)

• TOP is a centralized offset process that intercepts Federal (and

some State) payments of payees who owe delinquent debts to

other Federal (and some State) agencies

• Debt Collection Improvement Act (1996)

• Collects > $7B annually

• Fees pay for the system (no appropriated funds)

Page 6: Road to agile: federal government case study

6

Why Agile? The “Before” Situation

Disparate and geo-distributed orgs maintaining a legacy system patched together from a proof of concept (COBOL, RISC, DB2).

System•Offsets payments to collect debtProblems•Lack of capacity during peak times•Incapable of timely change

14

23

Organization(s)1. Business/Prod Support

2. PMO/BAs/Prod Support

3. Development

4. QA

Page 7: Road to agile: federal government case study

7

Why Agile? The Attempts to Evolve the TOP System

• Prototype evolved over 15 years through patches and copying

of COBOL programs

• Web client developed in Java

• Several attempts made over the years to redesign: all failed

• 2010: Goal of increasing TOP collections by:

– Increases in payment streams

– Increasing in debt volume

– Matching effectiveness

– Considered:• Move from Unix to Mainframe• Re-write as-is functionality in Java

Page 8: Road to agile: federal government case study

8

Agile Software Development

• Highest priority is to satisfy the customer through early and

frequent delivery of valuable software

• What it means:

– Started with 3 week iterations; now using continuous flow

– Stakeholder review and feedback welcomed/acted upon

– Focus on one thing at a time, until it is done

– Defer requirements definition (learn from the past)

– Cross-functional teams composed of both business and technical people

– Adaptive planning and a people-centric approach

Page 9: Road to agile: federal government case study

9

Typical Barriers to Agile

• Organizational Silos

• Siloed Job Titles

• Geographic Distribution

• Lack of Executive Support

• Culture

– need for certainty

– command and control hierarchy

• Traditional Governance Model

• Lack of Business-IT

Collaboration and Trust

• Traditional IT Practices &

Infrastructure Timeliness

Page 10: Road to agile: federal government case study

10

Enabling Collaboration

Team rooms, video-conference and

smart boards

Flattened the organization and

remove barriers

Page 11: Road to agile: federal government case study

11

A Collaborative, Cross-Functional Team

• Team is organized without silos: product owners, developers and quality

assurance all sitting side by side during the project’s development.

• Turning to a teammate and asking a question that gets immediately answered

and validated by working on something together results quickly and accurately in

a value-added feature.

• Benefits

– High-quality software delivered as advertised and faster

– Greater transparency for stakeholders

– No backlog of defects or bugs

– Simplicity due to evidence-based decisions

– Evolving cross-functional team

– Better environment for innovation and learning

Page 12: Road to agile: federal government case study

12

Using the Cloud

• Amazon Web Services GovCloud:

– New servers/environments in minutes• Instead of months

– Rapid prototyping of new architectures • Experimentation

– Pay only for used capacity• Spun up servers on demand

for testing

– Quickly scale capacity up and down• Don’t have to be right the first

time

• SaaS

– Google Docs, Rally

• PaaS

– Amazon Web Services (AWS) RDS

• IaaS

– AWS EC2 and EBS

Page 13: Road to agile: federal government case study

13

The Cloud

Page 14: Road to agile: federal government case study

14

Risk-Driven Backlog Prioritization

Early focus on solving the tough problems.

Page 15: Road to agile: federal government case study

15

The Backlog and Kanban Board

Page 16: Road to agile: federal government case study

16

Evolution: Acceptance Test Driven Development (ATDD)

The Traditional Approach:– BAs specify requirements in

use cases/user stories– Developers interpret and

code• Hard to tell when they

are “done”• Usually lots of

goldplating– Testers interpret and write

test cases– Everyone deals with the

aftermath of test execution!

ATDD

• Requirements are written as executable test scenarios:

– Created during requirements elaboration and before any code is written

– Written collaboratively with developers, product owners and tester

– Documented as readable files, in business language, and can be shared with stakeholders

– Examples of how the system should behave under specific conditions

– When executed successfully, we know the desired feature has been correctly built

• Application code is written to execute the tests:– Scenarios become part of the code base, so the

requirements are always up to date– Code is written to execute the tests and assert &

verify expected results– These tests drive code development (keeping it

simple)

Page 17: Road to agile: federal government case study

17

Acceptance Test Example (Cucumber)

Page 18: Road to agile: federal government case study

18

Acceptance Test Example (Cucumber)

Page 19: Road to agile: federal government case study

19

Evolution: Continuous Integration and Automated Deployment

• Every time code is checked in:– All the deployable artifacts are built to

ensure no breaks– Approx. 7,000 unit, integration are customer

automated tests are executed• Nightly

– Generate quality metrics via tools like Sonar & CAST

– Execute and validate conversion process– Execute performance test and ensure it is

within threshold• On-Demand via a button click

– Deploy to the cloud acceptance servers (6 minutes)

– Deploy to Treasury data center (10 minutes)

• Server configuration is managed side-by-side with code and can follow the same configuration management process.

Page 20: Road to agile: federal government case study

20

Continuous Integration – Jenkins

Page 21: Road to agile: federal government case study

21

Code Quality – Sonar

Page 22: Road to agile: federal government case study

22

Code Quality - CAST

Page 23: Road to agile: federal government case study

23

Results: No Known Defects

• Quality is built into the feature, not added later.

• Product Owners / Devs / QA work closely together to define acceptance criteria before development begins, and communicate at least daily as feature is built.

• If a problem is discovered, it is immediately fixed by the developers and tested before the story is accepted.

• There is no need to log or prioritize a defect.

Page 24: Road to agile: federal government case study

24

Results: Value

Collaboration, High Code Quality, Continuous

Integration, Automated Test Suites and Automated

Deployment enable rapid releases to production.

Page 25: Road to agile: federal government case study

25

Results: Business Goals Achieved

New system has been running in parallel with

old during tax season (peak). The process is

working!!!

• Achieved business objectives.

– Can now offset:

• $3T in FedWire payments

• Grants

• Purchase cards ($30B in 100M

transactions) to come

– Flexibility to change business

rules

• Able to make policy and

legislative changes quickly

• Allows for What If scenarios

– More Data

• Identify why payments that

matched debts were not offset

Page 26: Road to agile: federal government case study

26

QUESTIONS?

Email: Contact Us, Questions about Webinar or GovCOP:

Steven Kennedy [email protected]

David Marsh [email protected]

Winnie Liem: [email protected]

WEBSITE: http://government.vc.pmi.org/Public/Home.aspx

TWITTER: Twitter @govcop and Tweet #govcop

LINKEDIN GROUP: PMI Government Community of Practice

Note: 1 PDU will be automatically entered for those attending the live presentation

26