A Combat Support Agency Defense Information Systems Agency Agile Development at the DoD SoftwareForge Document ID – doc???? IT Innovators Award Daniel.

Slides:



Advertisements
Similar presentations
Agile Software Development کاری از : مهدی هوشان استاد راهنما : استاد آدابی.
Advertisements

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 1 Agile documentation development methodology Giby Panicker and Judith Benjamin 1-Dec-2012.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Agile and Scrum: Executive Summary June 2, 2011 Bob Schommer, CSP, PMP, MCTS Senior Project Manager Skyline Technologies, Inc.
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
<<replace with Customer Logo>>
Alternate Software Development Methodologies
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.1.
Clinton Keith CTO, High Moon Studios Agile Methodology in Game Development: Year 3.
Agile methods and techniques– some method comparisons Dave Parsons Mark Cranshaw.
NAUG NAUG Knowledge Evening – th February 2007.
Agile development By Sam Chamberlain. First a bit of history..
Software Life Cycles ECE 417/617: Elements of Software Engineering
Roadmap to Continuous Integration Testing and Benefits Gowri Selka, Walgreens Natalie Koltun, Walgreens May 20th, 2014 ©2013 Walgreen Co. All rights reserved.
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Introduction to Agile.
Software engineering Process models Pavel Agejkin.
Agile Methodologies for Project Management By – Komal Mehta.
An Overview of Agile L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Gaining Support for a Sustainable Agile Transformation Dennis Stevens, VP Enterprise Engagements LeadingAgile November 12, 2013.
A Combat Support Agency Defense Information Systems Agency Agile Development at the DoD SoftwareForge Document ID – doc16436 Forge.mil Engineering August.
Chapter 3 – Agile Software Development Lecture 2 1Chapter 3 Agile software development.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
BEFORE AGILE METHODS Other Engineering fields development models were used, ie: Waterfall Method: Intensive planning and refactoring before coding is actually.
Dr. Tom WayCSC Software Processes CSC 4700 Software Engineering.
Software Engineering Modern Approaches
Agile Software Development Brian Link
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
Current Trends in Systems Develpment
1 “ Understanding leads to perfection” Author: Herb Isenberg Ph.D A Bird’s Eye View Quality Foundations January 2011.
By Saravanan Bala. General Report 31 % of Software projects are cancelled 75 % of the software projects are considered failures by the people who initiated.
Testing Challenges in an Agile Environment Biraj Nakarja Sogeti UK 28 th October 2009.
Unified Process versus Extreme Programming. Outline Compare and contrast UP and XP  Processes / Disciplines  Management  Artefacts Risk management.
1 - Agile in a nutshell. 2 - Basic principles ●Relies on an iterative, incremental development mechanism with continuous adaptation to customer requirements.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Computer Science and Software Engineering© 2014 Project Lead The Way, Inc. Software Design Process.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
1 The Manifesto for Agile Software Development “We are uncovering better ways of developing software by doing it and helping others do it. Through this.
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
Copyright © 2015 Curt Hill Software Development Paradigms What do you need to know?
CS3100 Software Project Management Agile Approaches.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Agile Information Management Development. Agile Project Management Characteristics  Acceptance and even welcome of changing requirements  Incremental.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Intelligence and Information Systems 1 3/17/2004 © 2004 Raytheon Company USC/CSE Executive Workshop on Agile Experiences March 17, 2004 A Raytheon Agile.
Agile Development Chapter 10 - part 2. Agile Philosophy  A guiding philosophy and set of guidelines for : developing information systems in an unknown,
CS223: Software Engineering Lecture 18: The XP. Recap Introduction to Agile Methodology Customer centric approach Issues of Agile methodology Where to.
1. ENTERPRISE AGILE TRANSFORMATION AT THE US POSTAL SERVICE MAY 24, Agile Business Solutions.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Chapter 3 Agile software development 1 Chapter 3 – Agile Software Development.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Agile Training Day 2 November 17, 2015.
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Appendix B Agile Methodologies
By: By: Agile Scrum Master Online Training.
Waterfall and Agile Quality Techniques
روش‌های سريع الانتقال (چابک) توسعه نرم افزار
Summarizing Our Models to Date
Agile Development – a new way of software development?
Appendix B Agile Methodologies
Agile Development.
Chapter 5: New and Emerging Process Methodologies
Presentation transcript:

A Combat Support Agency Defense Information Systems Agency Agile Development at the DoD SoftwareForge Document ID – doc???? IT Innovators Award Daniel Craig – Forge.mil Engineering

2 The State of Software Development Agile as a Solution Forge.mil Tailored Agile Practices Questions & Answers Agenda

3 “ Software code has become central to how the war- fighter is able to conduct missions… DoD must pursue an active strategy to manage its software knowledge base and foster an internal culture of open interfaces, modularity, collaboration, and reuse.” - Open Technology Development Roadmap Plan (April 2006) - Commissioned by Sue Payton, Asst. Sec for Air Force Acquisition The New Mission

4 Changing Policy & Guidance HR 2647, National Defense Authorization Act for Fiscal Year 2010, Sec “The Secretary of Defense shall develop and implement a new acquisition process for information technology systems. The acquisition process developed and implemented pursuant to this subsection shall, to the extent determined appropriate by the Secretary —... be based on the recommendations in chapter 6 of the March 2009 report of the Defense Science Board Task Force on Department of Defense Policies and Procedures for the Acquisition of Information Technology; and... be designed to include — 1. early and continual involvement of the user; 2. multiple, rapidly executed increments or releases of capability; 3. early, successive prototyping to support an evolutionary approach; and 4. a modular, open-systems approach.

5 Are We Involving The End User? Rates of Feature Usage in Software Projects: Always or Often Used 20% Always or Often Used 20% Rarely or Never Used 64% Rarely or Never Used 64% Standish Group Study

6 Are We Delivering Quickly? Conventional projects take too long and often miss the mark Lean (agile) methods link developers and users to hit the mark quickly

7 Are We Delivering Incrementally? Successful Delivery by Project Budget Standish Group Study

8 Are We Delivering At All? Delivery on U.S. Software Projects Standish Group Study

9 Agile As A Possible Solution Agile principles include: Focus on Customer Value – Align project, product and team visions to deliver better product quality – faster and cheaper. Small Batches - Create a flow of value to customers by “chunking” feature delivery into small increments. Small, Integrated Teams - Intense collaboration via face-to-face communication, collocation, etc; diversified roles on integrated, self-organizing, self- disciplined teams. Small, Continuous Improvements – Teams reflect, learn and adapt to change; work informs the plan. Delivering Customer Value with Agile Project Management The right product, at the right time, for the right price. Higher Quality: “Designed-to-fit” product with flexibility to change. Increased Throughput: Iterative and incremental project and product “chunks” with earlier value delivery. Reduced Waste: Lean, efficient processes with lower costs and higher productivity. Delivering Customer Value with Agile Project Management The right product, at the right time, for the right price. Higher Quality: “Designed-to-fit” product with flexibility to change. Increased Throughput: Iterative and incremental project and product “chunks” with earlier value delivery. Reduced Waste: Lean, efficient processes with lower costs and higher productivity.

10 Agile = Family of Methodologies Extreme Programming Lean Software Development Feature Driven Development Dynamic Systems Development Method Agile Unified Process SCRUM Forge.mil employs a SCRUM / XP hybrid methodology

11 Agile = Early Value Time Analysis Design Coding Testing 20% done (100% usable!) Time Analysis Design Coding Testing Do we have half a solution yet? Traditional ProcessAgile Process

12 Waterfall Requires Perfect Vision 12 © Jeff Patton, all rights reserved, Waterfall calls for a fully formed idea up front. And, doing it on time requires dead accurate estimation.

13 Agile Expects Vision Shift 13 © Jeff Patton, all rights reserved, A more iterative allows you to move from vague idea to realization making course corrections as you go….stop when diminishing returns are encountered! 45 …builds a rough version, validates it, then slowly builds up quality

14 Short Iterations, Small Releases

15 Cross Functional Teams

16 Reliance on Automation Build Scripts (Ant, Puppet, Bash, PowerShell) Version Control (SVN, CVS, GIT) Build Integration (Jenkins, Maven) Test 1 (Automated Regression Tests) Test 2 (Manual & Migration Tests) Sandbox On-Demand Pull Nightly Pull Automated Push Manager Developers Tester Compile/Tag Source Run Unit Tests Run Functional Tests Run Test Coverage Static Code Analysis Build Database WatchesCommitUses Test Informs Stakeholder Inspect

17 The “Agile Bet” THE AGILE BET If we can make changes cheaply enough, the cost savings from quicker feedback and increased learning outweigh the costs of overhead and rework.

18 Considering Agile at DoD How do we write an agile SOW? Is it possible to co-locate? Do we need an agile coach? How do we get access to end users for feedback? Can we write a cost or affordability rationale under agile? Will testers be allowed to work closely with development? What’s the effect on CONOP?

19 Agile Best Practices XP (Development Methodology) “Hard” Best Practices Planning Game User Stories Test Driven Development Continuous Integration Continuous Testing Team Members Project Management Development QA - Test SCRUM (Management Framework) “Soft” Best Practices Requirements Backlog Sprint Kickoff Daily Standup Burn-down Chart User Acceptance Test Team Members Program Management Information Assurance Operations Business Office Forge.mil Hybrid Agile Methodology

20 Procurement / Acquisition –Procurement Not Aware of any Template Agile RFP or SOW Language Identify required reviews Define type, format and content of documentation to fit agile process Identify constraints from outside teams such as IA or IOP –Staffing Team composition and interaction changes Co-location of teams or invest in online meeting and collaboration tools Rewrite roles and responsibilities of team members Consider the use of an agile coach on the team Pre-award training Unmanageable

21 Planning / “Envision” –Best Practices System Metaphor (xp) The Planning Game (xp) Product Backlog (scrum) –Forge.mil Tweaks Quarterly Release Meetings (added!) Flag Features with Security Implications (added!) Unmanageable

22 Development / Test Simple Design (xp) Continuous Testing (xp) Refactoring (xp) Pair Programming (xp) Collective Code Ownership (xp) 40 Hour Work Week (xp) –Forge.mil Tweaks Embed IA Representative (added!) Continuous Integration – leverage for security scans (in progress) Onsite Customer – invest in collaborative tools (DCO, Forge.mil, survey) Coding Standards – leverage CI plug-ins –Best Practices Burn down (scrum) Sprint Backlog (scrum) Sprint Planning (scrum) Daily Standup (scrum/xp) Sprint Review (scrum) Sprint Retrospective (scrum)

23 Integration / Release –Best Practices Small Releases (xp) Frequent Releases (xp) –Forge.mil Tweaks Fully Automate Application Releases (added!) Fully Automate Environment Configuration – O/S, DB, STIG (added!) Maintain Release Management Dashboard (in progress)

24 Questions

25 Contact Info us at Follow us on Twitter Join the Forge.mil Group on milBook Sign up for Forge.mil updates at