April '081 The Requirements Balance Test Managers Forum - April ‘08 Stevan Zivanovic

Slides:



Advertisements
Similar presentations
Are Parametric Techniques Relevant for Agile Development Projects?
Advertisements

R&D Process Optimization for a Customer and Order Management System Lauri Halkola April 29, 2008 Supervisor: Professor Raimo Kantola Instructor: MSc Miko-Janne.
Software Development Life-Cycle Models
Software development process improvement Ville Wettenhovi Master thesis presentation Supervisor:Professor Jukka Manner Instructor:M.Sc. Markus Aalto Date:23th.
CS487 Software Engineering Omar Aldawud
Designing and Developing Decision Support Systems Chapter 4.
Systems Analysis and Design in a Changing World, 6th Edition
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
System Development Life Cycle Process of creating and altering systems or software by using methodologies or models to develop the systems in a logical.
Approaches to Systems Development
CS3773 Software Engineering Lecture 01 Introduction.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
Agile development By Sam Chamberlain. First a bit of history..
Software Life Cycles ECE 417/617: Elements of Software Engineering
Dr Lisa Wise 9/08/2002 Project Managing Small Web Applications Dr Lisa Wise.
Software Process and Problem Statements CSSE 371, Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 3, 2004.
Requirements Specification
Software Engineering.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
CS 501: Software Engineering
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
1 Software Requirements Specification Lecture 14.
Sharif University of Technology Session # 4.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Data Structures and Programming.  John Edgar2.
The Software Development Life Cycle: An Overview
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Baker, Barker, Bickel IS Chapter 10
CPSC 371 John D. McGregor Session 22 Process. Specification and design problem solution specification implementation specification.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Incorporating Pragmatic Usability Testing Into a Software Test Plan Carla Merrill, Ph.D. Focused Design focuseddesign.com
Distributed Software Development
Introduction to Systems Analysis and Design
Approaches to Systems Development
CS/SWE 421 Project Overview Dan Fleck. Project Overview Team Formation Team Formation - just to get an idea of who you are and what you want to do Detailed.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
THE UNIFIED PROCESS UP Programming. What is the unified process  The Unified Process is a programming methodology that emphasizes the right blend of.
TM Copyright © 2009 NMQA Ltd. Behaviour Driven Testing with.
| See the possibilities… Professional Services Overview Fusion 08 Jeff Carstarphen.
Exam 2 Review Software Engineering CS 561. Outline Requirements Development UML Class Diagrams Design Patterns Users, Usability, and User Interfaces Software.
Lecture 2 System Development Lifecycles. Building a house Definition phase Analysis phase Design phase Programming phase System Test phase Acceptance.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN 1. WHAT IS AN INFORMATION SYSTEM? An information system is a collection of interrelated components that collect,
APMG-International Webinar Integrating Agile into PRINCE2® Thursday 19 December 2013 / 13:00 GMT Presented by Melanie Franklin,
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
11 ADM2372 Management Information Systems (MIS) Chapter 10 – Part I Systems Development Chapter 10 – Part I Systems Development.
Software Design and Development Development Methodoligies Computing Science.
Software Engineering cosc 4359 Spring 2017.
Introduction To System Analysis and Design
Software Development - Methodologies
Methodologies and Algorithms
Exam 0 review CS 360 Lecture 8.
Rapid Application Development
Systems Analysis and Design
V-Shaped SDLC Model Lecture-6.
Prototyping.
The V Model The V Model Damian Gordon Damian Gordon.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
How to Successfully Implement an Agile Project
Lecture 2 Revision of Models of a Software Process
CIS 210 Systems Analysis and Development
Process Models Coming up: Prescriptive Models.
Incremental Waterfall
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Adapting Agile in Pharmaceutical Industries
Presentation transcript:

April '081 The Requirements Balance Test Managers Forum - April ‘08 Stevan Zivanovic

April '082 Outline Requirements and Techniques Agile Waterfall Iterative What is a good requirement? Debate

April '083 Requirement Techniques Good requirements gathering is NOT easy Analysts need to be able to: –Familiar with multiple analysis techniques –Accurately interpret the customers needs –Translate the customers language into something for technical people –Determine how much to document

April '084 Requirement Types Reference: Software Requirements Styles and Techniques – Soren Lauesen, Addison Wesley 2002 IEEE 830 – 1998 – Recommended Practice for Software Requirements Specification

April '085 Why Bother? Requirements are used to: –Gain agreement from the Business –Act as a legal document –Define the contents of a project –Defined what to build –AND define what to test

April '086 Agile - Process High level features defined Refined during a “sprint” Document only what is needed Depend on good interaction with business during development

April '087 Agile Advantages: Keeps the business informed and can rapidly respond to business changes Very effective if the business do not have a clear view on the end solution No need for long requirements capture phase Disadvantages: A lot of refactoring as a result of not having the system in place to fully reconcile changes Not enough time spent on challenging the business model

April '088 Waterfall - Process High level requirement defined, reviewed and agreed Low level requirements defined, reviewed and agreed Specification defined, reviewed and agreed Develop and test

April '089 Waterfall Advantages: Process modelled and all aspects analysed Full agreement by all stakeholders before development Disadvantages: Requirements fixed possibly years before delivery – but the business changes Large requirements management overhead Users do not truly understand what they need

April '0810 Iterative (Unified Process) Define Use Cases up front and gain formal agreement Refine and modify requirements as project progresses

April '0811 Iterative (UP) Advantages: As Agile Some of Waterfall Disadvantages: Some of Agile Less of Waterfall

April '0812 What is a good requirement? SMART Have a suitable diagram Be supported by all stakeholders (business/user, analysts, project managers, developers, testers, support) Provide sufficient information Be clearly related to other requirements and goals

April '0813 The Requirements Balance Which is the “best” dev methodology Too many requirements vs too few Requirement techniques – too many or not enough Level of detail How relevant/believable are the requirements

April '0814 For Discussion Does Iterative development offer an optimal requirements approach? Do we need written requirements? What can we as tester do to optimise requirements? Can we blend Agile practices with Iterative requirement development? The challenge of 3 rd party development / testing Are some Quality/Non Functional requirements implicit?