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

Similar documents
T14 "TIMELINES, ARTIFACTS AND OWNERS IN AGILE PROJECTS" Hubert Smits Rally Software Development BIO PRESENTATION 6/21/2007 1:30:00 PM

Agile Software and Systems Engineering Tutorial

Agile Project Management By Mark C. Layton

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

Scrum Guidelines. v W W W. S C R U M D E S K. C O M

ScrumMaster Certification Workshop: Preparatory Reading

Bridging the Gap Between Acceptance Criteria and Definition of Done

Scrum. SE Presentation. Anurag Dodeja Spring 2010

D25-2. Agile and Scrum Introduction

Introduction to Agile Scrum

Jukka Mannila KEY PERFORFORMANCE INDICATORS IN AGILE SOFTWARE DEVELOPMENT

The Basics of Scrum An introduction to the framework

Agile Scrum and PMBOK Compatible or Contrary?

Scrum and Testing The end of the test role Bryan Bakker 20 maart 2012

Introduction to Agile and Scrum

Agile Software Development in the Large

PLM - Agile. Design Code Test. Sprints 1, 2, 3, 4.. Define requirements, perform system design, develop and test the system. Updated Project Plan

Agile Software Development. Stefan Balbo / Patrick Dolemieux

AGILE - QUICK GUIDE AGILE - PRIMER

Course Title: Managing the Agile Product Development Life Cycle

SCRUM BODY OF KNOWLEDGE (SBOK Guide)

Glossary SAFe 4.0 for Lean Software and Systems Engineering

Scrum, User Stories, and More! CSCI 5828: Foundations of Software Engineering Lecture 22 11/06/2014

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

Technical Writing - A Review of Agile Software Development Services

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

SECC Agile Foundation Certificate Examination Handbook

What is Scrum? Scrum Roles. A lean approach to software development. A simple framework. A time-tested process

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

Capstone Agile Model (CAM)

Roles: Scrum Master & Project Manager

Agile Project Management Mapping the PMBOK Guide to Agile Practices. Michele Sliger

Answered: PMs Most Common Agile Questions

Agile Metrics. It s Not All That Complicated

Introduction to Enterprise Agile Frameworks

Agile & PMI Project Management Mapping MAVERIC S POINT OF VIEW Vol. 7

Systems Engineering for Software Intensive Projects Using Agile Methods

CSPO Learning Objectives Preamble. Scrum Basics

Scrum. The Essence. Tobias Mayer, Sonntag, 19. Februar 12

The Agile Manifesto is based on 12 principles:

Practical Agile Requirements Engineering

Introduction to Agile Practices

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

How To Plan An Agile Project

Mastering the Iteration: An Agile White Paper

Getting Agile with Scrum. We re losing the relay race

CSSE 372 Software Project Management: More Agile Project Management

Agile Software Development

SCALING AGILE. minutes

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

LEAN AGILE POCKET GUIDE

Course Title: Planning and Managing Agile Projects

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

A Viable Systems Engineering Approach. Presented by: Dick Carlson

How To Plan A Project

Agile Scrum Workshop

CS435: Introduction to Software Engineering! " Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman

CSSE 372 Software Project Management: Managing Agile Projects

Agile Software Development with Scrum. Jeff Sutherland Gabrielle Benefield

Introduction... 2 Introducing the DSDM Agile Project Framework (AgilePF)...2 Introducing DSDM...2 Introducing Scrum...3

Agile Requirements by Collaboration

The Team... 1 The Backlog... 2 The Release... 4 The Sprint... 5 Quick Summary Stakeholders. Business Owner. Product Owner.

Agile Project. Management FOR DUMME&* by Mark C. Layton WILEY. John Wiley & Sons, Inc.

Agile Project Management

The Scrum Guide. The Definitive Guide to Scrum: The Rules of the Game. July Developed and sustained by Ken Schwaber and Jeff Sutherland

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

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

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

Agile Software Development

RISK MANAGMENT ON AN AGILE PROJECT

USCIS/SPAS: Product Backlog Items and User Stories 4/16/2015. Dr. Patrick McConnell

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012

Mike Cohn - background

As the use of agile approaches

Using Scrum to Streamline Web Applications Development and Improve Transparency. Michelle Frisque

Agile in Financial Services A Framework in Focus

SCRUM. A Tool from the Software World Can Improve Analytical Project Outcomes. By KyMBER WALTMUNSON

Gothenburg 2015 Jan Marek com CA Technologies Introducing Agile development methodologies to Session S601 mainframe development teams

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012

Neglecting Agile Principles and Practices: A Case Study

Agile Project Management with Scrum

Introduction to Scrum for Managers and Executives

Effective Release Management in Agile Scrum methodology. Submitted to. The Project Management Leadership Conference 2006 QAI India Pvt. Ltd.

Your Agile Team s Indispensible Asset

SWEN - Software Engineering Network Donnerstag 06. Mai. 2010

Scrum Guide. By Ken Schwaber, May, 2009

Agile Development and Software Architecture: Understanding Scale and Risk

Agile Project Management

26 May 2010 CQAA Lunch & Learn Paul I. Pazderski (CSM/CSP, OD-CM, CSQA) spcinc13@yahoo.com Cell: AGILE THROUGH SCRUM

Chapter 6. Iteration 0: Preparing for the First Iteration

5 Levels of Agile Planning: From Enterprise Product Vision to Team Stand-up

Agile Software Engineering Practice to Improve Project Success

Development. Lecture 3

A Glossary of Scrum / Agile Terms

Syllabus. REQB Certified Professional for Requirements Engineering. Agile Practitioner

Atomate Development Process. Quick Guide

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

PMI Agile Certified Practitioner (PMI ACP) Boot Camp Course AG05; 4 Days, Instructor-led

Transcription:

Agile Systems Engineering: What is it and What Have We Learned? March 2012 Dr. Suzette S. Johnson Agile Engineering Northrop Grumman Suzette.Johnson@ngc.com

Getting To Know You! Dr. Suzette Johnson Northrop Grumman Agile Community of Practice Chair Champion of Agile practices across NGC ADAPT Executive Committee (Industry working group) As a systems engineer, project manager, and certified Scrum Professional, with an interest and passion for promoting and implementing Agile practices in largescale systems environments. Provides coaching, consulting, mentoring, training, etc. for Northrop Grumman programs Lean and Agile experience started in 1999 Dissertation focused on investigating the impact of leadership styles on software project outcomes in traditional and agile engineering environments 2

Discussion Outline Defining an Agile Environment and Agile Systems Engineering (ASE) Requirements, Use Cases, User Stories Levels Planning User Story Verification and Validation Summary References 3

ASE: What Have We Learned About? Systems Engineering and Team Collaboration Evolving Architecture Requirements and Delivering Value Verification and Validation within the Iteration Collaboration and Transparency with Stakeholders 4

INCOSE Definition of Systems Engineering Concentrates on the design and application of the whole system It focuses on defining customer needs and required functionality early in the development cycle. Reference: (2011). INCOSE SE Handbook V3.2.1, p. 7. 5 3/22/2012

An Agile Environment Adaptive, Responsive, Evolving, Continuous Improvement Improved transparency of progress End-to-end accountability and ownership Reduces time-to-deploy operational capability Ability to adapt to changing requirements and new technological advancements Agile is an empirical process 6

Agile Principles Early and Continuous Delivery of Value A Working System is the Primary Measure of Progress Welcome Changing Requirements Deliver a Working System Frequently Business People and Developers Must Work Together Daily Motivated and Empowered Individuals Face-to-face Conversation Promote Sustainable Development Continuous Attention to Technical Excellence Simplicity The Best Architectures, Requirements and Designs Emerge From Self-Organizing Teams Regular Team Reflection on How to Become More Effective 7 http://agilemanifesto.org/

INCOSE Says. 8 Reference: (2011). INCOSE SE Handbook V3.2.1. p.40. 3/22/2012 A snippet.

NG ISO/IEC/IEEE 15288-Based SE Process V-Model Stakeholder Requirements Definition Requirements Analysis Project Processes Project Planning Project Assessment & Control Decision Mgmt Risk Mgmt Configuration Mgmt Information Mgmt Measurement Validation Verification Architectural Design Integration Implementation Technical Processes

Our User Story for this Presentation User Story As a Systems Engineer I want to have a better understanding as to how Systems Engineering practices align with the Agile framework so I have insight as to how this might be implemented in an Agile environment. Acceptance Criteria Communicate how requirements analysis and design occur when using an Agile approach Discuss considerations regarding architecture Understanding of the relationship of requirements to user stories and why user stories Insight into the Agile framework and how it helps manage changing requirements and priorities Identification of verification and validation practices within the context of the Agile framework 10 3/22/2012

The Agile Scrum Framework Capabilities and User Stories Prioritized by Product Owners The Daily Tasks managed by the Cross Functional Team Design, Code, Integrate, Test Commitment Identification of Impediments Communication Creates the release plan 24 Hours Daily Scrum Meeting Product Backlog Release Plan Iteration Backlog 2-4 Weeks Iteration Feature Demonstration and Retrospective Potentially Shippable Product Increment THIS SIDE UP System Architecture System Design Requirements 1 Inspect and Adapt Visibility and Transparency

Lesson Learned 1: Team Collaboration Systems Engineers are part of the Cross-Functional Team with regular collaboration at the team level and across the teams to provide an end-to-end systems view Chief Systems Engineer/Architect becomes more critical as you scale 12 3/22/2012

Project Team Structure PM and Technical Lead End-to-End System Capabilities Chief Engineer Chief Architect Quality Cross Functional Team 1 Cross Functional Team 2 Cross Functional Team 3 Cross Functional Team n Progress against end - to - end capabilities Services Supports Cross Functional Teams 13 An Example Network/ Systems Administration Configuration Mgt. Push accountability and ownership to the team level Everyone trained

Project Team Structure PM and Technical Lead End-to-End System Capabilities Product Owner Chief Engineer Chief Architect Quality Cross Functional Team 1 Cross Functional Team 2 Cross Functional Team 3 Cross Functional Team n Scrum Master Progress against end - to - end capabilities Developer Developer Integrator Configuration Management Tester Systems Engineer Developer Services Supports Cross Functional Teams Network/ Systems Administration Push accountability and ownership to the team level 14 An Example Configuration Mgt. Everyone trained

Project Team Structure Cross Team Collaboration Understanding the bigger picture Systems Engineer Systems Engineer Systems Engineer A Cross-functional team is responsible for capability/thread from planning to final acceptance. Systems Engineers from the teams collaborate to maintain an end-to-end systems view. 15

Lesson Learned 2: Architecture Systems Engineering activities provide the context for the development activities (i.e. user stories as part of a systems capability) Architecture development is ongoing (emerging) and focuses on small increments/releases of value Emphasis on a modular architecture with well defined interfaces Iteration 0 (defined timeframe) to define enough of the architecture to get started; model in smaller increments (release/iteration level) Emerging versus Intentional Architecture Regular Architecture Meetings 16 3/22/2012

Planning and Estimating the Work Developing Understanding Creating the Vision Agile Systems Engineering: Delivering Value Product Vision Captured Capabilities System Architecture Requirements mapped to stories Revisit architecture and design each release and iteration Use Cases/ Requirements System Level Validations User Stories and Acceptance Tests Architecture Sequence Diagrams Activity Flow Diagrams Product Backlog Functional Non-Functional 6-9 months 1 6 months 1-4 weeks Daily Product Roadmap Release Planning Sprint Planning Daily Plans and Commitment

Lesson Learned 3: Requirements Requirement analysis is done during release planning for that release Requirement development and deployment of highest priority capabilities first Every iteration learning from the previous iteration is fed into the next iteration planning and prioritization cycle Uses cases are a tool and provide the greater context for user stories High level requirements are decomposed into a set of user stories User stories convey understanding (user, need, why) and includes acceptance criteria User stories are more than functional requirements 18 3/22/2012

Agile Systems Engineering Ontology Simplified view for creating the Product Backlog Requirement Use Case How does this get done? Who s creating the PBL? Epic Stories User Stories (Iteration-Sized) The Product Backlog The list of ranked or prioritized stories to be worked 19 3/22/2012

Use Case to Scenario to User Story Use Case 2 One Scenario within the use case 1 3 A user story is a segment of a scenario As a [user/system] I want [what] so that [why]. 20

Example Requirement: The hotel reservation system shall enable the user to make room reservations with confirmation of payment. Use Case: Vacation Planner makes hotel room reservation Actor: Vacation Planner Success Guarantee: Room reserved; credit card charged and confirmation received Main Scenario: Search for discounted rooms. Room identified. Save selection. Vacation Planner selects payment type Vacation Planner submits credit card number, expiration date, name. System validates card System charges credit card Confirmation number provided 22 3/22/2012

Requirement to User Stories The hotel reservation system shall enable the user to make reservations with confirmation of payment. As a premiere member, I want to search for available discounted rooms. As a vacationer, I want to search for available rooms. As a vacation planner I want to pay for my reservation with a credit card. 23

Requirement to User Stories The hotel reservation system shall enable the user to make reservations with confirmation of payment. User Story As a vacation planner I want to pay for my reservation with a credit card so I can confirm my reservation. Acceptance Criteria and Verification Verify: Demonstrate with American Express Demonstrate with Master Card Demonstrate with Visa 24

What About Other Types of Requirements? As a vacationer and user of the hotel website, I want the system to be available 99.99% of the time As a vacationer, I want web pages to download in <4 seconds Non-functional requirements Performance requirements Constraints As the hotel website owner, I want 10,000 concurrent users to be able to access the site at the same time with no impact to performance Describes system behavior or characteristics 25 Reference: Mike Cohn, mountaingoatsoftware.com

Product Vision and Roadmap Release 1 Release 2 Release 3 Release 4 March 31, 2012 June 30, 2012 Sept. 30, 2012 Dec. 20, 2012 Room reservations and payment User profiles for future visits Hotel amenities Conference offerings Online chat support Local information Special discounts for room reservations Improve usability Google maps Air and hotel package deal Meeting and Business plans and reservations Longer term planning High level capabilities (sometimes written as goals) 26

Release Plan, Iteration Plan, Daily Plan Example: Hotel Website Requirement 1: The hotel reservation system shall allow the user to make reservations. 27 Release Plan (Set of User Stories) User Stories As a vacationer, I want to search room availability As a vacationer, I want to save my request As a vacationer, I want to pay with a credit card Demonstrate with search on 1 room Demonstrate with search on executive suite. Points 12 Demonstrate. 8 Demonstrate 21 Iteration Plan (User Stories with Tasks) Hours Design Review 4 Install Baseline 4 Documentation 8 Acquire Test Data 8 Code 24 Develop Tests 8 Run Tests 8 Detailed planning saved to the last responsible moment The Daily Plan Yesterday I started on the interface. Today I plan to The one thing standing in my way What about the System Engineering? 1. User Stories 2. Tasks under a User Story 3. Preparing for the next iteration

Lesson Learned 4: Validation and Verification Validation is an important function of the iteration Occurring at the beginning and the end Testing is defined before development for the release/iteration begins Testers collaborate daily as part of the Cross Functional Team 28

The Agile Framework Capabilities and User Stories Prioritized by Product Owners Creates the release plan Product Backlog The Daily Tasks managed by the Cross Functional Team Release Plan Iteration Backlog Design, Code, Integrate, Test 24 Hours 2-4 Weeks Iteration Commitment Identification of Impediments Verification Some independent testing Daily Scrum Meeting Communication Feature Demonstration and Retrospective Validation Potentially Shippable Product Increment THIS SIDE UP 2 Validation Inspect and Adapt Visibility and Transparency How do you define release?

Iteration Demonstration and Acceptance Transparency and information sharing Team presents what it accomplished during the iteration Typically takes the form of a demo of new features or underlying architecture Time-boxed Whole team participates Feedback from stakeholders and users User Stories validated and accepted Metrics updated User Story Validation 30

Requirements Mapping Requirement to story mapping Requirement to Story to Test to Verification Inspection Updated each iteration 32

Lesson Learned 5: Transparency Regular engagement with the users and customer is imperative Ongoing collaboration and transparency are critical for mission success 33 3/22/2012

Final Notes Requirements Analysis and Design Upfront requirement analysis is done during release planning for that release Uses cases are a tool and provide the greater context for user stories Architecture and initial design are first developed during iteration/release 0 Every iteration the team determines if a design review is needed Requirements and User Stories High level requirements are decomposed into a set of user stories User stories convey understanding (user, need, why) User stories create the Product Backlog Validation and Verification High level requirements have tests and each user story has tests. Validation begins with the release planning phase and occurs again during the iteration boundaries Each story has acceptance criteria that is defined before the release/iteration begins Requirements Traceability/Verification Matrix is updated each iteration 34

Checkpoint: Our User Story User Story As a Systems Engineer I want to have a better understanding as to how Systems Engineering practices align with the Agile framework so I have insight as to how this might be implemented in an Agile environment. Acceptance Criteria Communicate how requirements analysis and design occur when using an Agile approach Discuss considerations regarding architecture Understanding of the relationship of requirements to user stories and why user stories Insight into the Agile framework and how it helps manage changing requirements and priorities Identification of verification and validation practices within the context of the Agile framework 35 3/22/2012

References and Recommended Readings Agile Requirements and Collaboration Requirements by Collaboration Collaboration Explained Ellen Gottesdiener, EBG Consulting Jean Tabaka, Rally Software User Stories Applied Mike Cohn Agile Development Practices Agile Software Requirements Agile Software Development with Scrum Dean Leffingwell Ken Schwaber and Mike Beedle Agile Testing Lisa Crispin and Janet Gregory Agile Estimating and Planning Agile Modeling Mike Cohn Scott Ambler 36

INCOSE References The INCOSE SE Handbook V3.2.1 states: INCOSE use: Permission to reproduce and use this document or parts thereof by members of INCOSE and to prepare derivative works from this document for INCOSE use is granted, with attribution to INCOSE and the original author(s) where practical, provided this copyright notice is included with all reproductions and derivative works. Content from ISO/IEC 15288:2002 and 15288:2008 is used by permission, and is not to be reproduced other than as part of this total document. Reference: (2011). INCOSE SE Handbook V3.2.1. p.ii. 37 3/22/2012

38 3/22/2012