Requirements Engineering and Agile Methodology

Similar documents
Requirements Architecture - Agility

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

Development Process Bennett, McRobb and Farmer 1

Software Development Methodologies. CSC 440: Software Engineering Slide #1

Use Cases and User Stories for Agile Requirements

Software Life Cycle. Main Topics. Introduction

Software Engineering QUESTION BANK

Chapter 1 Systems Development in an Organization Context

Processes. Object Orientated Analysis and Design. Benjamin Kenwright

Modern Systems Analysis and Design Seventh Edition

By: Ronny Trefftzs CSCI 5828: Foundations of Software Engineering Spring 2012 Professor: Kenneth Anderson

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Software Engineering Third Year CSE( Sem:I) 2 marks Questions and Answers

! How work in building software is done: ! e.g., waterfall process. ! e.g., object-oriented development. ! e.g., requirements inspection process

Process. CMPUT 401 Module 04. Department of Computing Science University of Alberta Ken Wong, 2008

Sistemi ICT per il Business Networking

10/12/ Copyright 2012, Oracle and/or its affiliates. All rights reserved. Oracle Unified Method (OUM) Overview

Lecture 1: Processes, Requirements, and Use Cases

Requirements Engineering and Software Architecture Project Description

RIGHTNOW A C E

Development Process and Analysis. LTOOD/OOAD - Verified Software Systems 1

Johanna Rothman Part II Design and Manage an Agile and Lean Project Chapter 5 Start Your Agile Project Right. Copyright 2017

Chapter 3 Prescriptive Process Models

Software Engineering in the Agile World. Table of contents

Chapter 2 Objectives. Pfleeger and Atlee, Software Engineering: Theory and Practice (edited by B. Cheng) Chapter 2.

RUP and XP Part II: Valuing Differences

Nigel Beacham Department of Computing Science L4 REQUIREMENTS DURING INCEPTION (CS5037 SYSTEMS ANALYSIS AND DESIGN)

Software Modeling & Analysis. - Fundamentals of Software Engineering - Software Process Model. Lecturer: JUNBEOM YOO

Introduction to Agile/Extreme Programming

Requirements Engineering. Andreas Zeller Saarland University

Best Practices for Collecting User Requirements. Gerry Clancy Glenn Berger

SOFTWARE ENGINEERING SOFTWARE-LIFE CYCLE AND PROCESS MODELS. Saulius Ragaišis.

Prerequisites It is recommended that the participants have a working knowledge of traditional Business Analysis tasks and techniques.

Requirements Analysis. Overview

Agile versus? Architecture

2068 I. Attempt any ten questions. (10x6=60)

Planning a Project Using the Oracle Unified Method (OUM) An Iterative and Incremental Approach. An Oracle White Paper February 2011

The Software Life Cycle

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

CSE 435 Software Engineering. Sept 14, 2015

Tuesday, October 25. Announcements

CTC/ITC 310 Program Management California State University Dominguez Hills First Exam Answer Key November 20, 2018 Instructor: Howard Rosenthal

Oracle Unified Method (OUM) The OUM Implement Core Workflow The Key to Understanding and Applying OUM. An Oracle White Paper April 2012

2009 Spring. Software Modeling & Analysis. - Software Process Model. Lecturer: JUNBEOM YOO

Extending an Agile Method to Support Requirements Management and Development in Conformance to CMMI

Processes and Life- Cycles. Kristian Sandahl

Software Engineering

Global Information Systems: Development Frameworks. Prof. Dr. Jan M. Pawlowski Autumn 2013

Requirements Analysis

Architecture in Agile

Ingegneria del Software Corso di Laurea in Informatica per il Management

Software Engineering Modern Approaches

Succeed with Agile at Scale

Lecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation

Are Life Cycles Still Relevant?

Objectives. Rapid software development. Topics covered. Rapid software development. Requirements. Characteristics of RAD processes

What Makes a Successful GIS Project Implementation. Gerry Clancy Glenn Berger

Rational Unified Process

How to Collect and Manage Requirements for Successful GIS Projects. Matt Harman Mirjam Stadelmann

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur

Software Engineering Lecture 5 Agile Software Development

Processes and Life- Cycles. Kristian Sandahl

Software Development Methodologies

TOGAF usage in outsourcing of software development

Component-Based Software Engineering. ECE493-Topic 5 Winter Lecture 27 Component Based Development Process (Part A)

Unified Process. Peter Dolog dolog [at] cs [dot] aau [dot] dk Information Systems March 3, 2008


Major attributes of the Lifecycle. The Systems Development Lifecycle. Project phases. Planning. Design. Analysis

Business Analysis Essentials

Harnessing the power of agile development

Requirements Engineering

Software Development Methodologies

The Work Breakdown Structure in the Systems Engineering Process. Abstract. Introduction

CS/IT Secure Software Construction

Software Process. Overview

SWE 211 Software Processes

CS 320 Introduction to Software Engineering Spring February 01, 2017

SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY

Software Life Cycles and Configuration Management

Scrum, Creating Great Products & Critical Systems

Fundamentals of Business Analysis including BCS Requirements Engineering

Waterfall model is the earliest SDLC approach that was used for software development.

Software Quality Engineering Courses Offered by The Westfall Team

The Systems Development Lifecycle

Introduction of RUP - The Rational Unified Process

Software Quality Engineering Courses Offered by The Westfall Team

Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at

An Oracle White Paper February Oracle Unified Method (OUM) Oracle s Full Lifecycle Method for Deploying Oracle-Based Business Solutions

Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 21 st, Requirements Engineering

Software Engineering G Session 12 Sub-Topic 1 Risk Management in Adaptive Software Engineering. Dr. Jean-Claude Franchitti

Softwaretechnik. Lecture 02: Processes. Peter Thiemann SS University of Freiburg, Germany

FIT2101 Software Engineering Process and Management

Project Execution Approach

Agile Master Data Management

An Overview of Software Process

The good news. 34% of software projects succeed. Standish Group, CHAOS Report, 2003

Explore Comparative Analysis Software Development Life Cycle Models

The Use Case Technique: An Overview

Agile Quality Management

Software Engineering Chap.3 - Agile Software Development

Software Engineering. Software development: Process vs agile. with material by Marco Piccioni

Transcription:

Requirements Engineering and Agile Methodology R. Kuehl/J. Scott Hawker p. 1

Requirements Engineering and Agile Processes (You may be thinking) Requirements engineering model as presented is not very agile Writing a SRS, etc. sounds like a classic heavy weight process It is! But, two points to consider as good software engineers: 1. Fit the software methodology and process to the problem 2. Agile processes do equivalent requirement engineering activities still need requirements validated by stakeholders for success R. Kuehl/J. Scott Hawker p. 2

Requirements and Agile Traditional approach the requirements document Agile argument against tradition Communication gaps between authors and readers Change cycle is too long Challenging to capture the complete problem and system context Brain s capacity to retain information Agile answer: Continuous collaboration with stakeholders Workshops, conversation Stories (index cards) record conversations Are they requirements? No! R. Kuehl/J. Scott Hawker p. 3

Requirements Engineering in Agile Processes Where is the Knowledge? Requirements Eng. 1. Elicitation 2. Analysis 3. Specification 4. Validation 5. Management Agile Methodology 1. Stories 2. Iteration design, customer collaboration 3. Stories, code, acceptance tests, unit tests 4. Customer collaboration, acceptance tests 5. Planning cycle, frequent iterations R. Kuehl/J. Scott Hawker p. 4

A Picture Worth a 1000 Words Requirements Waterfall Incremental Evolutionary Classic or agile style Design The Requirements Engineering Model Always maps Construction (coding & testing) Deployment The General Software Engineering Framework R. Kuehl/J. Scott Hawker p. 5

R. Kuehl/J. Scott Hawker p. 6

Requirements Envisioning: An Agile Best Practice Perform some high-level requirements envisioning early in the project Gain a common understanding of the scope of the problem Business goals Identify initial requirements quickly days not weeks Iteration 0 of an agile project (inception phase) Also do initial architectural envisioning Get a feel about what the project is all about Scott Ambler: http://www.agilemodeling.com/essays/initialrequirementsmodeling.htm R. Kuehl/J. Scott Hawker p. 7

Agile Requirements Envisioning Why do it? Answer basic business questions Reduce business risk everyone agrees on the problem and solution scope up front Establishes a knowledge framework to move ahead on architecture and project planning What modeling techniques? Usage use cases, scenarios Use case diagram for context Business domain model process flow, key data entities, business rules User experience story boards, prototypes R. Kuehl/J. Scott Hawker p. 8

How Much Detail? Initial project vision Overview diagrams Just enough requirements to start the first iteration R. Kuehl/J. Scott Hawker p. 9

How Much Detail? (cont) When is more upfront detail recommended? The domain and problem space are unknown and/or complex A commercial product limited contact with stakeholders (market driven requirements) Serial project milestone governance framework System engineering involving new hardware Contractual obligations Organizational culture is traditionalist R. Kuehl/J. Scott Hawker p. 10

References Cockburn, Alistair, Agile Software Development, Addison-Wesley, 2002 Paetsch, Eberlein, Maurer, Requirements Engineering and Agile Software Development Kroll and Lyons, Eclipse Process Framework Presentation, Open Unified Process Distilled, 2006 Scott Ambler, http://www.agilemodeling.com/essays/initialrequirementsm odeling.htm R. Kuehl/J. Scott Hawker p. 11