Chapter 30 Agile Requirements Methods. Mitigating Requirements Risk  The entire requirements discipline within the software lifecycle exists for only.

Slides:



Advertisements
Similar presentations
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Advertisements

Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Chapter 4: Inception is Not the Requirements Phase
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Alternate Software Development Methodologies
ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,
 User assignments (product owner)  ‘circle’  1 st sprint: ◦ Scrum Boards (informative workspace)  Product -, release -, sprint -, defect backlog 
Agile Software Development. Traditional Software Development 1.Initiation (RFP) 2.Feasibility study Technical – can we build it? Economic – should we.
Chapter 6 Prototyping, RAD, and Extreme Programming
Recall The Team Skills 1. Analyzing the Problem 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5. Refining the System.
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
Iterative development and The Unified process
From Inception to Elaboration Chapter 8 Applying UML and Patterns -Craig Larman.
COMP 350: Object Oriented Analysis and Design Lecture 2
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Chapter 30 Agile Requirements Methods. Mitigating Requirements Risk  The entire requirements discipline within the software lifecycle exists for only.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Chapter 2 The process Process, Methods, and Tools
Agile Awareness Workshop 2008 Flavours of Agile II eXtreme Programming V I K A S H A Z R A T I June 14' 2008.
Agile Software Development Chapter 3 – Lecture 1 Adrián Susinos.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Current Trends in Systems Develpment
Describing Methodologies PART II Rapid Application Development* Systems Analysis and Design II.
RUP Implementation and Testing
Rational Unified Process Fundamentals Module 4: Disciplines II.
Embracing change with Extreme Programming Method Engineering Erik ten Brinke
Unified Process versus Extreme Programming. Outline Compare and contrast UP and XP  Processes / Disciplines  Management  Artefacts Risk management.
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Teaching material for a course in Software Project Management & Software Engineering – part II.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Agile Methods Chapter 30. Agile Methods Key points ▫No method fits all projects or organizations ▫In General  A process to elicit, organize, document,
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
1/7/2004CSG - Project Delivery at UT Austin1 Making a Model Perform Adopting a methodology to your environment.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
K.Ingram 1 Sept 2007 Agile Software Development. K.Ingram 2 Sept 2007 Contents Agile Software Development: 1.What is it? 2.Agile’s Values, Principles,
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
Managing Change 1. Why Do Requirements Change?  External Factors – those change agents over which the project team has little or no control.  Internal.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Chapter 31 Your Prescription for Requirements Management.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Team Skill 6: Building the Right System Assessing Requirements Quality (29)
Lecture 4 – XP and Agile 17/9/15. Plan-driven and agile development Plan-driven development A plan-driven approach to software engineering is based around.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
Rational Unified Process (RUP)
Agile Methods Presentation By: Jason Abbett. Definition A process to rapidly develop software Many kinds of agile methods but few are practiced.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
An Agile Requirements Approach 1. Step 1: Get Organized  Meet with your team and agree on the basic software processes you will employ.  Decide how.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Teaching slides Chapter 2. Chapter 2 Software Engineering Methodologies Introduction Why a methodology? Agile methodologies Waterfall model Rational Unified.
Requirement Discipline Spring 2006/1385 Semester 1.
Agile Requirements Methods 1. Mitigating Requirements Risk  The purpose of a software method is to mitigate risks inherent in the project.  The purpose.
Challenges in Agile Unclear project scope, multiple iterations, minimal documentation, early and frequent testing needs and active stakeholder involvement.
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Your Prescription for Requirements Management 1. Assumptions The prescription for requirements management is based on the following assumptions:  The.
Project Management Software development models & methodologies
Process 4 Hours.
Waterfall and Agile Quality Techniques
Requirements and the Software Lifecycle
COMP 350: Object Oriented Analysis and Design Lecture 2
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Chapter 3 – Agile Software Development
Extreme Programming.
Presentation transcript:

Chapter 30 Agile Requirements Methods

Mitigating Requirements Risk  The entire requirements discipline within the software lifecycle exists for only one reason: To mitigate the risk that requirements-related issues will prevent a successful project outcome.  If there were no such risks, then it would be far more efficient to go straight to code and eliminate the overhead of requirements-related activities.

Requirements Techniques and the Specific Project Risks They Address

Documenting Requirements  Most requirements artifacts, Vision documents, use cases, and so forth—and indeed software development artifacts in general, including the code—require documentation of some kind.

Documenting Requirements  Do we really need to write this document at all? "Yes" only if one or more of these four criteria apply. 1.The document communicates an important understanding or agreement for instances in which simpler verbal communication is either impractical. 2.The documentation allows new team members to come up to speed more quickly and therefore renders both current and new team members more efficient. 3.Investment in the document has an obvious long- term payoff because it will evolve, be maintained, and persist as an ongoing part of the development, testing, or maintenance activity. 4.Some company, customer, or regulatory standard imposes a requirement for the document.

Agile Requirements Methods  Extreme  Agile  Robust

Extreme Programming Principles/Characteristics  The scope of the application or component permits coding by a team of three to ten programmers working at one location.  One or more customers are on site to provide constant requirements input.  Development occurs in frequent builds or iterations, each of which is releasable and delivers incremental user functionality.  The unit of requirements gathering is the user story, a chunk of functionality that provides value to the user. User stories are written by the customers on site.

Extreme Programming Principles/Characteristics  Programmers work in pairs and follow strict coding standards. They do their own unit testing and are supposed to routinely re-factor the code to keep the design simple.  Since little attempt is made to understand or document future requirements, the code is constantly refactored (redesigned) to address changing user needs.

Applying Extreme Programming Principles to Requirements Risk Mitigation

Extreme Programming Principles/Characteristics  Concepts: user elaboration  Vision: verbal  Requirements: use-case model  Tool Support: Defect tracking, desktop tools

Agile Requirements Methods  Concepts: user elaboration, interviews, workshops  Vision: verbal, Delta, vision document, Whole product plan  Requirements: use-case model, use-case specifications, supplementary specifications  Tool Support: Defect tracking, desktop tools, version control, requirements management tools

Robust Requirements Methods  Concepts: user elaboration, interviews, workshops, storyboards prototypes  Vision: verbal, Delta, vision document, Whole product plan, fully documented  Requirements: use-case model, use-case specifications, supplementary specifications, technical methods as necessary  Tool Support: Defect tracking, desktop tools, version control, requirements management tools, requirements traceability, analysis and design tools,  Project control: requirements management plan, change control board, full configuration management, requirement analysis impact assessment

Key Points  The purpose of the software development method is to mitigate the risks inherent in the project.  The purpose of the requirements management method is to mitigate requirements-related risks on the project.  No one method fits all projects, therefore the method must be tailored to the particular project.