Published on May 5, 2014
Road to Agile: A Federal Government Case Study Steven Kennedy, US Dept of the Treasury and David Marsh, Bodega Consulting March 21st , 2014
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 (firstname.lastname@example.org) Welcome to the Government Community of Practice! 2
3 Our Presenters: David and Steven Steven 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.
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
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)
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 debt Problems •Lack of capacity during peak times •Incapable of timely change 1 4 2 3 Organization(s) 1. Business/Prod Support 2. PMO/BAs/Prod Support 3. Development 4. QA
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
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
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
10 Enabling Collaboration Team rooms, video-conference and smart boards Flattened the organization and remove barriers
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
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
13 The Cloud
14 Risk-Driven Backlog Prioritization Early focus on solving the tough problems.
15 The Backlog and Kanban Board
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)
17 Acceptance Test Example (Cucumber)
18 Acceptance Test Example (Cucumber)
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.
20 Continuous Integration – Jenkins
21 Code Quality – Sonar
22 Code Quality - CAST
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.
24 Results: Value Collaboration, High Code Quality, Continuous Integration, Automated Test Suites and Automated Deployment enable rapid releases to production.
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
26 QUESTIONS? Email: Contact Us, Questions about Webinar or GovCOP: Steven Kennedy email@example.com David Marsh firstname.lastname@example.org Winnie Liem: email@example.com 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
Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...
In this presentation we will describe our experience developing with a highly dyna...
Presentation to the LITA Forum 7th November 2014 Albuquerque, NM
Un recorrido por los cambios que nos generará el wearabletech en el futuro
Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...
Case Study: Agile Government and New ... who offered them words of encouragement on their road to Agile. ... and federal public sector service ...
Tax authority in agile transition: road to glory. ... The processes within the federal government for doing ... workshop includes case study interspersed ...
Case Study Agile Government ... with other agile groups who offered them words of encouragement on their road to Agile. ... state and federal public sector ...
... representing close to 650,000 federal government ... Office 365 Migration Case Study: AFGE. ... Office 365 with the help of Agile IT. ...
... digital government: an exploratory case study. ... models for the Federal Government's Digital Government ... Federal Challenges in Applying Agile ...
CGI helps government leaders serve as prudent, ... Government Case studies. ... U.S. Federal Government Combat Logistics Support
... and their current and future impact on the Federal Government. ... on DevOps in the Federal Government and Agencies Adopting Agile ... Case Study View ...
CASE STUDY November 2014 ... Federal Aviation Administration (FAA), Air ... The road to success has been paved with many challenges.