Copyright 2013-2014 Robert W. Hasker. Imperative Requirements- based Development  System specification: series of “shalls”  The registration system.

Slides:



Advertisements
Similar presentations
Chapter 6 HCI in the software process. Software engineering and the design process for interactive systems Usability engineering Iterative design and.
Advertisements

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 1 Agile documentation development methodology Giby Panicker and Judith Benjamin 1-Dec-2012.
Copyright © 2012 by Mark J. Sebern Product Backlog PBI types (extended list) Feature Change Defect Technical improvement Knowledge acquisition Briefly,
Agile Project Management with Scrum
Copyright © by Mark J. Sebern Software Engineering Process I SE Product backlog, estimation, velocity.
Agile
Requirements Analysis CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 7, 2003.
Lecture 2 Teams Principles What makes a good project Project Definition Project Plan.
The Architecture Design Process
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Introduction to Software Engineering Dr. Basem Alkazemi
Software Development Overview CPSC 315 – Programming Studio Spring 2009.
Software Development Overview CPSC 315 – Programming Studio Spring 2008.
Software Development Models: Waterfall and Spiral Sung Hee Park Department of Mathematics and Computer Science Virginia State University August 21, 2012.
 MODERN DATABASE MANAGEMENT SYSTEMS OVERVIEW BY ENGINEER BILAL AHMAD
Chapter 4 Capturing the Requirements 4th Edition Shari L. Pfleeger
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 12.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
Incorporating Pragmatic Usability Testing Into a Software Test Plan Carla Merrill, Ph.D. Focused Design focuseddesign.com
Copyright Robert W. Hasker. Story Review  Elements of a Scrum story:  The three C’s:  Sprintable stories:  Mechanisms for obtaining stories:
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
Approaching a Problem Where do we start? How do we proceed?
Agile
Copyright © 2012 by Mark J. Sebern Scrum Overview (from
BA Team: Product Ownership, Analysis, and Solution Design BA Bi-Weekly Mini-meeting May 19, Acceptance Criteria Defining Success one Story.
Agile: Lessons Learned (a retrospective) Tony
Sprint (2) Deliverables Capstone Courses. What are Sprint (2) Deliverables ? 1.Revised High level planning and scheduling WBS and Gannt (with risk assessment).
Software Development Overview CPSC 315 – Programming Studio Spring 2013.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
Theories of Agile, Fails of Security Daniel Liber CyberArk.
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
Copyright © by Mark J. Sebern Software Engineering Process I SE 2800.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
Copyright Robert W. Hasker. Requirements-based Development  System specification: series of “shalls”  The registration system shall support.
Cultivating Agile Requirements
Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
Agile febrian | erlien | beny | ragnar | billy. SLDC Methodologies.
National Response Department 2010 TCT Refresher Session.
10 key principles of agile software development
Dr. Rob Hasker Dr. Brad Dennis. Scrum review experience  Lessons learned Saturday Differences from process taught? Similarities? Other lessons?
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Dr. Rob Hasker. Should every project use Scrum?  When might Scrum not be an appropriate model?  What are some of its limitations? Hard to get the big.
1 Requirements Engineering for Agile Methods Lecture # 41.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
User Stories- 2 Advanced Software Engineering Dr Nuha El-Khalili.
Introduction to Agile. Introduction Who is this guy?
 SBOK™ (SCRUM Body of Knowledge)  Student course workbook  Case study booklet  Scrum in a page  Scrum Product Owner Certified physical certificate.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Embedded Systems Software Engineering
Software Development Overview
Requirements Analysis Scenes
The Systems Engineering Context
Agile Software Development Brian Moseley.
Information Technology Project Management – Fifth Edition
Requirements and User Stories
HCI in the software process
Gathering Systems Requirements
Introduction to Agile Blue Ocean Workshops.
HCI in the software process
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Adjective: Able to move quickly and easily. Principles and Values
Scrum Science NGSS: Engineering, Technology, Applications of Science
HCI in the software process
Human Computer Interaction Lecture 14 HCI in Software Process
Gathering Systems Requirements
Software Development Overview
Presentation transcript:

Copyright Robert W. Hasker

Imperative Requirements- based Development  System specification: series of “shalls”  The registration system shall support lecture, discussion, and lab-based courses.  The snowba shall clear sidewalks of up to 4 inches of snow.  The snowba shall commence clearing snow when the depth is greater than ½ inch.  Forms a contract  Changes can be very expensive, so focus is on obtaining correct set of requirements early.

Correctness  Why “shall”?  Ensures requirements distinct from discussion.  Example: 4 inches is the maximum height allowed since greater heights would require wheels that are too large for a self-contained unit.  What if we find errors later?  Either an error in the contract or implementation.  In practice, a large percentage of project failures trace to errors in requirements.  Problem: natural languages are not always precise – is this model even feasible?

Alternatives to imperative requirements  PBIs could be requirements  Could write lists of high-level and low-level requirements, organized by feature.  Traditional requirements require lots of grooming.  Alternative: Use cases  Collection of detailed scenarios – advantages?  Usual agile approach: user stories:  As a user_role, I want to goal so that benefit.  Light-weight requirement: focused on asking client for details rather than writing a contract.  Agile manifesto: collaboration over contracts Agile manifesto

Elements of stories  As a user_role, I want to goal so that benefit.  As a homeowner, I want the snowba to commence clearing snow when the accumulation reaches ½” so that I do not have to pay the city to clear my sidewalk.  user_role: how user interacting with system  Same user might have multiple roles!  goal: what user wants to achieve  benefit: why – critical to understanding story  How long should these stories be?  What are the conditions of satisfaction?

A matter of scale  Stories can be very detailed:  As a student, I want to see the total number of credits for the courses which I have added to my schedule so I can limit my workload.  Stories can be very broad – epics.  As a student, I want to the registration system to give me the best schedule possible so that I have more free time.  Why can’t we just write epics?  Why not have lots of detailed stories?  How do epics and stories interact w/ the PB?

Size hierarchy Time Unit Scale of Enclosing Entity EpicMonthsProduct Feature/ Theme WeeksRelease StoryDaysSprint TaskHours

Conditions of Satisfaction Condition 1 Condition 1 Condition 2 Condition 2 Condition 3 Condition 3 The “three C’s” Card, Conversation, Confirmation Story Title As a, I want to so that.

Good stories p. 88 IIndependent NNegotiable VValuable EEstimatable SSmall (appropriate size) TTestable What do these qualities mean? Why do we want them?

How would we “test” stories?  Best practices: integrate unit testing throughout product cycle  So how to test a story?  One solution: “Wizard of Oz” testing

Nonfunctional requirements  Definitions:  A property of the system, not a specific operation A property of the system, not a specific operation  Cross/cutting concerns/needs which apply to many user stories.  Not bad  Examples?  Safety, security, performance, robustness  Learnability, natural language support  Traditional concern: hard to test  How to handle in Scrum?  Include in definition of done?

Knowledge-acquisition stories  Prototype/spike/experiment/proof of concept  Example: evaluate alternative designs  Key: repeatable results  Why shouldn’t these be allowed?  Why should they be allowed?  How does the cost to unwind factor in?

Knowledge-acquisition stories  Prototype/spike/experiment/proof of concept  Example: evaluate alternative designs  Key: obtaining information needed to move ahead  Why shouldn’t these be allowed?  Be suspicious of anything not delivering value  Why should they be allowed?  Important principle: fail fast

Gathering stories  Who should do it?  Should product owner be the sole team rep?  Basic method: ask user  Why might this not be effective?  User-story-writing workshop  What? Who? Why? How long? Goal?  Steps:  User role analysis: give names, personas to roles  Brainstorm: bottom-up, top-down, story map  Story Mapping: epics, themes, stories – p. 97  Often more focused on prioritization.

Stories vs. Requirements  Are stories just another form of requirements?  Can document reqs in completion criteria  Why wouldn’t reqs work as sprint tasks?  Why might we still need a traditional requirements document?  Safety critical systems: must trace requirements through project.  Would stories be the most effective way to organize such requirements?

Review  Traditional requirements: shalls  Collaboration over contract negotiation  Stories  Basic form As a user_role, I want to goal so that benefit.  Non-functional requirements, knowledge acquisition  Gathering stories  User-story-writing workshop  Story mapping