Practical Agile Requirements Engineering

Similar documents
A Viable Systems Engineering Approach. Presented by: Dick Carlson

AGILE - QUICK GUIDE AGILE - PRIMER

Introduction to Agile and Scrum

Scrum: A disciplined approach to product quality and project success.

Applying Lean on Agile Scrum Development Methodology

Agile Scrum Workshop

Agile Systems Engineering: What is it and What Have We Learned?

How To Understand The Software Process

Agile Project Management

Waterfall to Agile. DFI Case Study By Nick Van, PMP

Agile Development Overview

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

Scrum. SE Presentation. Anurag Dodeja Spring 2010

Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc.

Agile Scrum Training. Nice to meet you. Erik Philippus. Erik Philippus (1951)

Agile Projects 7. Agile Project Management 21

Issues in Internet Design and Development

Course Title: Planning and Managing Agile Projects

LEAN AGILE POCKET GUIDE

D25-2. Agile and Scrum Introduction

An Agile Project Management Model

Agile software development

Overview of Scrum. Scrum Flow for one Sprint SCRUMstudy.com. All Rights Reserved. Daily Standup. Release Planning Schedule. Create.

Agile with XP and Scrum

The Basics of Scrum An introduction to the framework

"Bezpieczny Projekt"

Agile Software Development

Agile Software Development in the Large

Agile Project Management By Mark C. Layton

How to manage agile development? Rose Pruyne Jack Reed

Software Requirements and Specification

Comparing Scrum And CMMI

THE BUSINESS VALUE OF AGILE DEVELOPMENT

Establishing and Maintaining Top to Bottom Transparency Using the Meta-Scrum

SESSION 303 Wednesday, March 25, 3:00 PM - 4:00 PM Track: Support Center Optimization

Secrets of a Scrum Master: Agile Practices for the Service Desk

Agile Methods for Analysis

MM Agile: SCRUM + Automotive SPICE. Electronics Infotainment & Telematics

Software Development Life Cycle (SDLC)

Advanced Software Engineering. Software Development Processes

Agile for Product Owners

Evolving the Enterprise Software Configuration Management Model

2015 Defense Health Information Technology Symposium Implementation of Agile SCRUM Software Development Methodology

Scrum includes a social agreement to be empirical as a Team. What do you think an empirical agreement is?

Chapter 6. Iteration 0: Preparing for the First Iteration

Iteration Planning. also called Iteration Kickoff

Expert Reference Series of White Papers. Intersecting Project Management and Business Analysis

Building Software in an Agile Manner

Agile Information Management Development

1. Sprint Planning. Agile Ceremonies Demystified. A four part series written by Angela Boardman, CSM, CSP ATG (4284)

Product Development: From Conception to Execution. Slide 1

How Product Management Must Change To Enable the Agile Enterprise

Agile Project Management and the Real World. Emily Lynema DLF Fall 2010 November 1, 2010

Executive Guide to SAFe 24 July An Executive s Guide to the Scaled Agile Framework.

Introduction to Agile Practices

Agile Software Development

Introduction to Agile Software Development

Agile Scrum and PMBOK Compatible or Contrary?

Lean QA: The Agile Way. Chris Lawson, Quality Manager

A Capability Maturity Model (CMM)

When is Agile the Best Project Management Method? Lana Tylka

The Truth About Agile Software Development with Scrum, The Facts You Should Know

Agile and lean methods for managing application development process

Agile development of safety-critical software while meetings standards' requirements

Transitioning from Waterfall: The Benefits of Becoming Agile. ASPE Web Seminar Friday, February 27 th, 2015

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Course Title: Managing the Agile Product Development Life Cycle

Introduction to Agile Software Development Process. Software Development Life Cycles

Agile project portfolio manageme nt

Capstone Agile Model (CAM)

AGILE & SCRUM. Revised 9/29/2015

TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes

Glossary SAFe 4.0 for Lean Software and Systems Engineering

How To Understand The Limitations Of An Agile Software Development

Sometimes: 16 % Often: 13 % Always: 7 %

Introduction to Agile Scrum

Comparing Plan-Driven and Agile Project Approaches

The style is: a statement or question followed by four options. In each case only one option is correct.

Evaluation of agility in software development company

Agile-Waterfall Hybrid Jessica LaGoy, MS, PMP

Agile Methodologies and Its Processes

How To Improve Your Business Recipe Cards

Would you like to have a process that unlocks ability to learn and produce faster?

Water-Scrum-Fall Agile Reality for Large Organisations. By Manav Mehan Principal Agile consultant

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler

Taking the first step to agile digital services

The Agile Manifesto is based on 12 principles:

From Agile by Design. Full book available for purchase here.

Agile Training Portfolio

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki

Agile & Scrum: What are these methodologies and how will they impact QA/testing roles? Marina Gil Santamaria Summer 2007

The Agile PMO. Contents. Kevin Thompson, Ph.D., PMP, CSP Agile Practice Lead cprime, Inc E. Third Avenue, Suite 205 Foster City, CA 94404

Scaling Scrum. Colin Bird & Rachel Davies Scrum Gathering London conchango

The profile of your work on an Agile project will be very different. Agile projects have several things in common:

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

Adapting Agile Software Development to Regulated Industry. Paul Buckley Section 706 Section Event June 16, 2015

EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT

Transcription:

Defense, Space & Security Lean-Agile Software Practical Agile Requirements Engineering Presented to the 13 th Annual Systems Engineering Conference 10/25/2010 10/28/2010 Hyatt Regency Mission Bay, San Diego, CA Presented by: Dick Carlson (richard.carlson2@boeing.com) Philip Matuzic (philip.j.matuzic@boeing.com) BOEING is a trademark of Boeing Management Company. Copyright 2009 Boeing. All rights reserved. 1

Agenda Introduction Classic Requirements engineering challenges How Agile techniques address these challenges Overview / background of Agile software practices History and evolution of Agile software Requirements Engineering Work products and work flow of Agile Requirements Engineering Integration of Agile software Requirements Engineering in teams using Scrum Current status of the work and next steps Copyright 2010 Boeing. All rights reserved. 2

Introduction A large, software-centric program applied Agile techniques to requirements definition using the Scrum approach This presentation shows how systems engineering effectively applies Agile practices to software requirements definition and management An experience model created from the program illustrates how failures on a large software program evolved into significant process improvements by applying specific Agile practices and principles to practical requirements engineering Copyright 2010 Boeing. All rights reserved. 3

Requirements Reality The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is as difficult as establishing the detailed technical requirements, including all the interfaces to people, machines, and other software systems. No other part of the work so cripples the resulting system if done wrong. No other part is more difficult to rectify later. -Fredrick P. Brooks (1986), No Silver Bullet Essence and Accident in Software Engineering Proceedings of the IFIP Tenth World Computing Conference: 1069-1076 Copyright 2010 Boeing. All rights reserved. 4

Traditional Requirements Problem Requirements development is a communication problem Stakeholders and the development team typically do not have a clear understanding of the requirements as written Validation happens late in the life cycle Users see the product late in the process Copyright 2010 Boeing. All rights reserved. 5

Traditional Requirements Engineering Requirements Vision Document User Requirements Use Cases Quality Attributes Initial Acceptance Test Criteria Data Requirements Conceptual Data Model Nonfunctional Requirements System Requirements Functional Requirements Constraints Software Requirements Specification Dependencies Copyright 2010 Boeing. All rights reserved. 6

Requirements Risk Abatement Lifecycle Risk Project implementation Requirements Analysis Design Development Testing Production Low Risk High Risk Copyright 2010 Boeing. All rights reserved. 7

Agile Principles and Practices Principles: Customer Satisfaction Frequent Delivery/Deployment Motivated Team Technical Excellence Emergent Design Incremental development Embrace Change Collaboration High Bandwidth Sustainable Pace Simplicity Continuous Improvement Practices: Close customer collaboration Daily stand-up meetings Planning and estimating Frequent feedback Short, daily standup meetings Short iterations Prioritized requirements Artifact reviews Self-organized teams Retrospectives Source: Agile Alliance (http://www.agilealliance.org/) Copyright 2010 Boeing. All rights reserved. 8

Agile Requirements Development Communications problem Requirements are developed and written as user stories (sometimes supported by Agile use cases) User stories shift the focus from writing to talking Written in a common language Support iterative development Brief description of functionality as viewed by the user Written to convey functional requirements Support participatory design Emphasize user goals Focus on the what not the how Copyright 2010 Boeing. All rights reserved. 9

Requirements vs. User Stories Traditional requirement shall statements The system shall provide a user configurable interface for all user and system manager functions The user interface shall be configurable in the areas of: Screen layout Font Background and text color Corresponding User Story As a system user or system manager, I want be able to configure the user interface for screen layout, font, background color, and text color, So that I can use the system in the most efficient manner Copyright 2010 Boeing. All rights reserved. 10

Agile Systems Engineering Copyright 2010 Boeing. All rights reserved. 11

Agile SE Defined Definition: Agile Systems Engineering (SE) is an Agile project activity that defines and develops requirements, and creates a Product Backlog for an Agile Software Development project The Scrum framework is used to manage project teams The Product Backlog is prioritized by the Product Owner, and made available to the development team Copyright 2010 Boeing. All rights reserved. 12

Scrum Applied to Systems Engineering Scrum is a framework for managing a project that focuses on delivering the highest business value in the shortest time through the use of simple roles, artifacts, and ceremonies (or working sessions) A Scrum project is a series of 4 week iterations where fully developed requirements, functional analyses, and system-level architecture incorporating system decisions are demonstrated at each iteration completion Source: Scrum Alliance (http://www.scrumalliance.org/) Copyright 2010 Boeing. All rights reserved. 13

More Scrum Practices Teams are self-organized and fully empowered to do whatever it takes to complete all iteration work The customer, users, and/or business needs set the priorities Scrum is simple and straightforward Practices, artifacts, and rules are few and easy to learn No complicated process descriptions No individual assignments team selects all work from the prioritized backlog Copyright 2010 Boeing. All rights reserved. 14

Systems Engineering Activities Systems engineering includes consistent processes that produce specific and supportive artifacts To ensure integration with other engineering disciplines and domains To ensure integration among disciplines/functions, design, manufacturing, supply chain, test, product support, etc. To produce a system integrated among all systems and components Applied over and addressing the entire lifecycle of the product from requirements development through operations and disposal Copyright 2010 Boeing. All rights reserved. 15

Key Focus of Systems Engineering Two key thrusts in program-level systems engineering domains: 1. Engineering the system to define the technical solution, and 2. Planning and control supporting program management Engineering the system requires: 1. Requirements Analysis / Definition / Validation 2. Functional Analysis and Allocation 3. Design Synthesis 4. Evaluation of Alternatives 5. Requirements Verification Copyright 2010 Boeing. All rights reserved. 16

Key SE Planning & Control Planning and control requires: Organizing and Planning (e.g. Organizing the program, and development of the SEMP, IMP/IMS) Requirements Management Interface Management Baseline Definition and Management Affordability Decision Making (e.g. Risk Management, Trade Studies, TPMs) Metrics Management Reviews Copyright 2010 Boeing. All rights reserved. 17

Bridging Agile Practices to SE The benefits experienced by applying common Agile practices apply well to systems engineering activities. These Agile practices include: Small, self-organized teams producing work products incrementally through a series of short iterations Commitment by all team members and sponsors Intense iteration planning sessions that identify what will be completed and how the team plans on completing it Time-boxed daily standup meetings Developed requirements and product backlog are reviewed Team reflects what brought the highest value during the iteration through a retrospective that includes the entire team Copyright 2010 Boeing. All rights reserved. 18

Agile SE for Integrated Engineering The Agile systems engineering approach leverages integrated engineering by employing the same vocabulary and artifacts in an evolving, iterative approach Software and systems engineers work collaboratively, consider alternatives, and take actions that lead to process change and improvement Copyright 2010 Boeing. All rights reserved. 19

Boeing SE/SW Experience Model Agile Software Engineering Activities Agile Systems Engineering Activities Requirements Iterations Controlled and Managed Development Iterations Design Peer Reviews Defined and developed requirements Product Backlog Iteration Backlog Code Prioritized Requirements decomposed into quantifiable tasks Test Requirements selected and estimated by the team Requirements iterations develop requirements in the form of user stories into the software product backlog for the development of a software system Acceptance testing Functional System integration Unit integration Continuous Integration Copyright 2010 Boeing. All rights reserved. 20

SE/SW Collaboration Model Systems and software engineers collaborate on release planning and the development of requirements written as user stories Copyright 2010 Boeing. All rights reserved. 21

Copyright 2010 Boeing. All rights reserved. 22

Back-up slides Copyright 2010 Boeing. All rights reserved. 23

Industry-wide High Project Failure Rates Backward Trend in Software Project Success Failed and challenged projects hover around 70% High failure rate due to inability to cope with change Big projects exacerbate challenge and failure potential 2009 CHAOS Standish Chaos Report 32% of software development projects were successful 44% challenged 24% failed to meet schedule or budget Johnson, J., et al. (2009), Chaos Summary 2009, Boston, MA: Standish Group International Copyright 2010 Boeing. All rights reserved. 24

Why Aren t the Successes Higher? Historic processes were subjected to the weaknesses of the Waterfall model. The Waterfall Model Has distinct phases Lacks feedback loops for improvement Includes sequential phases Handoffs to different teams Has an appealing air of simplicity Project managers like the easily tracked milestones Copyright 2010 Boeing. All rights reserved. 25

Scrum Framework Daily Stand-up Daily Iteration cycle Time Box Product Backlog Iteration Backlog Iteration Increment Stories prepared, prioritized, and maintained by Product Owner Tasks prepared from stories selected by Team to build software Completed product backlog to support software development Copyright 2010 Boeing. All rights reserved. 26

Scrum Values Scrum is based on a set of fundamental values that make up the backbone of its practices Commitment Be willing to commit to a goal Scrum provides people all the authority they need to meet their commitments Focus Do what you said you will do Focus efforts and skills on doing the work committed Openness Everything you do can be seen by everyone Scrum is transparent by keeping everything about a project visible Respect Individuals are shaped by their experiences It s important to respect the diversity of people who comprise a team Courage Have the courage to commit, act, be open, and expect respect Celebrate and enjoy the journey Source: Scrum Alliance (http://www.scrumalliance.org/) Copyright 2010 Boeing. All rights reserved. 27