Documentation in Agile Development

Slides:



Advertisements
Similar presentations
A Framework for Agile Instructional Development Sharon E. Bratt, PhD. Grant Macewan University.
Advertisements

Agile Software Development Robert Moore Senior Developer Curtin University.
© 2009 The MITRE Corporation. All rights Reserved. Evolutionary Strategies for the Development of a SOA-Enabled USMC Enterprise Mohamed Hussein, Ph.D.
AGILE DEVELOPMENT Outlines : Quick Look of agile development Agility
SDLC – Beyond the Waterfall
COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 1 Agile documentation development methodology Giby Panicker and Judith Benjamin 1-Dec-2012.
Systems Analysis and Design in a Changing World, 6th Edition
Systems Analysis and Design in a Changing World, 6th Edition
Conceptualizing & Initializing the IT Project
Agile development By Sam Chamberlain. First a bit of history..
1 Agile Methodologies in DoD Software By Cynthia Johnson.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Iterative development and The Unified process
Pertemuan Matakuliah: A0214/Audit Sistem Informasi Tahun: 2007.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
Managing a Project Using an Agile Approach and the PMBOK® Guide
Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software.
Software Engineering Lecture No:12. Lecture # 7
An Agile View of Process
Introduction to Agile.
1 Agile Methodology & Programming Ric Holt July 2009.
Software Engineering Modern Approaches
Chapter 4 Agile Development
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Agile Methods. Agile Process/Method lightweight processes/methods that can be used to manage and control software and product development using iterative,
Chapter 4 Agile Development 1. The Manifesto for Agile Software Development 2 “We are uncovering better ways of developing software by doing it and helping.
Current Trends in Systems Develpment
Improvements to Service Provisioning Platform Deployment Process Master’s Thesis – Matti Jylhä Supervisor: Professor Jorma Jormakka.
Chapter 5 애자일 개발 Agile Development
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 8 - Approaches to System Development.
Product Documentation Chapter 5. Required Medical Device Documentation  Business proposal  Product specification  Design specification  Software.
CSE Senior Design I Building a Plan Instructor: Mike O’Dell Several of the slides in this module are a modification and amplification of slides prepared.
Balancing Agility and Discipline Chapter 4 Sharon Beall EECS 811 April 22, 2004.
Software Engineering Saeed Akhtar The University of Lahore Lecture 5 Originally shared for: mashhoood.webs.com.
Systems Analysis and Design in a Changing World, 6th Edition
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 4 Agile Development Discussion of Agile Development and Agile Process.
IPR The Agile Team Christina Gu Jason Lee Stephen Smith.
Software Engineering (CSI 321) An Agile View of Process 1.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Module 2: What is Agile? Why use it? TLO: Given a DoD program involved in software development, the student will recognize situations where applying agile.
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 101. Feasibility Study SDLC – What is it? Systems Development Life Cycle: The most commonly used, and generally accepted, project management approach..
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Enterprise Architectures Course Code : CPIS-352 King Abdul Aziz University, Jeddah Saudi Arabia.
IV&V Facility 7/28/20041 IV&V in NASA Pre-Solicitation Conference/ Industry Day NASA IV&V FACILITY July 28, 2004.
 Agile Project Management, Collaboration Tool-Sets & PPM Tool-Sets Presented by Tayo Akingboye PMP, PMI-ACP.
3-Basic Agile Concepts Subtopics 1-The agile methods landscape 2-Common agile concepts and practices 3-Differences between traditional development and.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
AGILE SCRUM METHODOLOGY
Flight Software Conference 2016
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Agile Software Development
Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
#2-What is Agile? Why Agile?
Information Technology Project Management – Fifth Edition
Software Engineering (CSI 321)
Introduction to Software Engineering
Project Management and the Agile Manifesto
Agile Process: Overview
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
The Manifesto for Agile Software Development
Some Practical Considerations for Systems Engineers in a Lean-Agile Airborne Weapons System Program June 12, 2018 Ken Garlington.
Project Lifecycle and IT Product Life Cycle
Topic 1: Introduction to the Module and an Overview of Agile
Chapter 5: New and Emerging Process Methodologies
System Development Methods
Presentation transcript:

Documentation in Agile Development Christina Gu Jason Lee Stephen Smith

Agenda Background Problem Statement Methodology Agile Overview Literature Search Case Studies Scrum Agile Document Development Framework (S.A.D.D.) DoD’s effort to embrace Agile Conclusion and Recommendation Website Reference Questions?

Background The current economic situation is driving contractors to look at more lean operating methods for project development. Especially true for government contractors working with the Department of Defense. One method pursued is to switch from a waterfall model to the more lean Agile method. Figure 1: Defective and Wasteful Requirements in Traditional Development Process [4]

Problem Statement Sponsor: Boeing Problem statement: Deliverables: Is Agile sufficient for satisfying documentation needs on DoD mission-critical systems? How is documentation impacted by adopting an Agile methodology? Deliverables: Report on Agile’s ability to meet documentation needs with a framework developed for documentation generation.

What is a mission critical system? Systems critical to DoD’s ability to meet its responsibilities and include command and control systems, satellite systems, inventory management systems, transportation management systems, medical systems and equipment, and pay and personnel systems

Documents of primary interest Milestone Review (Per DoD 5000) Documentation of Relevance SRR SSS – System/Subsystem Specification SRS – Software Requirements Specification IRS – Interface Requirements Specification PDR SSDD–System/Subsystem Design Description SDD – Software Design Description IDD – Interface Design Description CDR TEMP- Test and Evaluation Management Plan SEP- System Engineering Plan Figure 2: Technology or Initiative Transition to Program of Records (MITRE, 2010)

Methodology Literature research Case studies Ideas behind the Agile method and how it impacts documentation Existing methods for generating documentation in Agile Case studies Interview various companies with regards to projects using Agile. A look at the approach to documentation used in each of the projects.

What is Agile A set of software best practices strung into an official set of principles in 2001 as the Agile Manifesto. Principles of Agile: Individual and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Respond to change over following a plan

Key Aspects of any Agile Methodology Agile Methodologies Iterative Planned modification of parts of the system. Assists with modification of design and requirements Incremental Develop parts of the system separately and integrate. Assists with improving overall methodology Self-Organizing The team has the responsibility of organizing its internal dynamics. Emergent The set of tools, techniques, development environment, and requirements emerge in the process

Agile Misconception Agile is a “Pizza Box” Methodology Agile is an All-or-Nothing Methodology Traditional Development is Inferior Becoming Agile Only Affects the Developers

Scrum Agile Key Components of Scrum Agile: Origins of Scrum Cross-Functional Teams Product Backlog Timeboxed Development Iterations End of Cycle Origins of Scrum Japanese OR Advancements Incremental Development in the U.S. Object Oriented technologies in software

Scrum Agile http://www.scrumalliance.com/pages/what_is_scrum

Traditional Systems Engineering Documents Generation Traditional Systems Engineering Document Generation vs. Agile Systems Engineering Traditional Systems Engineering Documents Generation Agile Systems Engineering Document Generation SRR REQUIREMENTS -->SRS, IRS, SSS, etc. SDR System Design Review --> SEMP PDR Preliminary Design Review -->SDD, IDD, etc CDR Critical Design Review --> SEP, TEMP

DoD’s Effort to Embrace Agile The DoD is in the process of changing its Defense Acquisition Guideline to better serve Agile Software System Development Figure 3: MITRE’s suggested DoD IT Acquisition Process [2]

Principles of Agile Documentation Generate “just enough” documentation Should satisfy the objectives of the use for the documentation. Do not generate if not planning to be used. Used to transfer knowledge in the team and between teams. Agile tends to keep knowledge within the team. Knowledge transfer is essential for add-on projects

Two Approaches to Documentation in Agile Method 1: Adapted Agile Use DoD standards as binding constraints to the Agile effort. Documentation must be generated to support periods of customer reviews Full and complete documentation expected Plan a full documentation update with each appropriate iteration with emphasis on the last iteration to generate complete deliverable documents. Ideal for contracts already in work with waterfall style program management.

Two Approaches to Documentation in Agile Method 2: Aligned Agile Documentation is generated as needed during the Agile implementation. Customer understanding of the differences in Agile method is essential. Customer must agree to less documentation that is generated only to meet documentation objectives. In-progress reviews and supporting documentation are also broken down to match better with shorter development iterations. Ideal when terms of documentation can be negotiated with the customer. Suggested for company-wide migration towards the use of Agile methods.

Project Case 1 Raytheon Method: Scrum Agile Documentation method: Adapted Agile Size of Project: 6 months Notes: emphasis on generating documentation to meet customer review dates, heavy on documentation updates on the last iteration

Project Case 2 MITRE Method: Hybrid Scrum Agile Documentation method: Adapted Agile Size of project: 3 years Notes: Used a requirements governance council. Phased project according to spiral development ideas but fit with Agile development on every spiral.

Project Case 3 MITRE Method: Hybrid Scrum Agile Documentation method: Aligned Agile Size of project: 1 year Notes: Most documentation was done after the fact to reflect the true state of the system and to reduce rework on documentation. Placed heavy emphasis on labeling documentation as complete only if it can transfer knowledge to a team that has not previously worked on project.

Project Case 4 MITRE Method: Hybrid Scrum Agile Documentation method: Aligned Agile Size of project: 2 years with 4-week long sprint cycles Notes: Used a requirements committee to continuously align with customer needs. Heavy emphasis on documenting requirement changes.

Key Concepts of the Framework Designed to align with Scrum Agile Integrates to become a seamless part of Scrum Agile The Core Concept: Definition of Done

Framework Detail (1 of 2) Examine Required Documents Perform detailed analysis of projects documentation requirements defined by stakeholders Finalize Contract Agreement Reflect any changes/additions and finalize contract in terms of documentation requirements Develop Product Backlog Add relevant tasks associated with documentation to Product Backlog

Framework Detail (2 of 2) Sprint End of Cycle Review Work on document(s) End of Cycle Review Evaluate completed work on document against definition of done. Present current work to stakeholders for review. If completed, handle accordingly, if not, prep for next sprint.

Conclusions The Agile methodology can be used to satisfy documentation needs for mission-critical software development for the department of defense with some modifications from its pure form. Customer interaction and acknowledgement of the differing needs for documentation using Agile is key.

Website For more information please visit our website at: http://mason.gmu.edu/~slee32/index.html

Reference Larson, E., Peters, J. Preparing the U.S. Army for Homeland Security: Concepts, Issues, and Options, Issue 1251. RAND Corporation, 2001. D. K. M. R. B. M. C. Carlton Northern, Handbook for Implementing Agile in Department of Defense Information Technology Acquisition, The MITRE Corporation, 2010. Standish Group. (2010). Chaos summary 2010. Boston, MA: Author. Session R. (2009). The IT complexity crisis: Danger and opportunity, Houston, TX: Object Watch. Beck, K., Beedle, M., Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., et al. (2001). Manifesto for Agile Software Development. http://agilemanifesto.org/ Accessed April 24, 2013.

Reference- cont. Scrum Is an Innovative Approach to Getting Work Done. The SCRUM Alliance (2010) http://www.scrumalliance.org/pages/what_is_scrum Accessed April 27, 2013. Burton, D., Hammons, C., Lapham, M., Schenker, A., Williams, R. (2010) “Considerations for Using Agile in DoD Acquisition.” http://www.sei.cmu.edu/reports/10tn002.pdf Accessed March 19, 2013. I. G. Stamelos and P. Sfetsos, Agile Software Development Quality Assurance, Idea Group Inc (IGI), 2007. [also steve figure 1] C. G. Cobb, Making Sense of Agile Project Management: Balancing Control and Agility, John Wiley & Sons, 2011. P. Schuh, Integrating Agile Development in the Real World, Charles River Media, INC, 2005.

Reference- cont. K. S. Rubin, Essential Scrum: A Practical Guide to the Most Popular Agile Process, Addison-Wesley, 2012. Ralph Hughes and the Ceregenics Data Management Team, Agile Data Warehousing, Delivering World-Class Business Intelligence Systems using Scrum and XP, iUniverse, 2008. Forward, A. (2002) Software Documentation – “Building and Maintaining Artifacts of Communication,” www.site.uottawa.ca/~tcl/gradtheses/aforward/aforward_thesis.doc Accessed March 30, 2013. DAGS (Defense Acquisition Management System), Enclosure 2 of DoD Instruction 5000.02, Operation of the Defense Acquisition System, Defense Acquisition Guidebook Dr Steven J. Hutchison, Achieving Enterprise Agility in DoD IT Acquisition, 2010

Reference- cont. K. A. Saleh, Software Engineering, J. Ross Publishing, 2009. R. Mall, Fundamentals of Software Engineering, PHI Learning Pvt. Ltd., 2009. D. Panchal, "Scrum Alliance," 03 September 2008. [Online]. Available: http://www.scrumalliance.org/articles/105-what-is-definition-of-done-dod. [Accessed 27 April 2013]. Scrum Alliance, "Scrum Alliance, Transforming the World of Work," [Online]. Available: http://www.scrumalliance.org/pages/scrum_artifacts. [Accessed 4 April 2013].

Questions & Comment