Thorny Issues in Software Requirements Sponsored by: Karl Wiegers Principal Consultant, Process Impact www.processimpact.com
Sponsor: iRise iRise is transforming the way businesses around the world define and build software. � Interactive � Collaborative From simulations to testing to functional specs to code generation, successful � Integrated teams use iRise as the central communication platform to drive all � Scalable phases of the software development lifecycle and requirements management - � Successful from concept to launch. 2
Source Book � More About Software Requirements , by Karl E. Wiegers (Microsoft Press, 2006) 3 Sponsored By
Featured Speaker Karl Wiegers Principal Consultant, Process Impact www.processimpact.com Phone #: 503-698-9620 E-mail: karl@processimpact.com Blog: Consulting Tips & Tricks Blog: www.karlconsulting.blogspot.com 4 Sponsored By
How Much Detail Do You Need? Less Detail More Detail � Outsourced development � Extensive customer involvement � Team is geographically Amount of � Developers have dispersed detail needed considerable domain � Testing will be based on in experience requirements requirements � Precedents are available � Accurate estimates are � Package solution will be needed used � Requirements traceability is needed 5 Sponsored By
The Fuzzy Line: Requirements versus Design ����������������������������������������������� �������������������������������������������������� ������������������������������� ������������������������������������������������ �������������������������������������� decreasing abstraction �������������������������������������������� ������������������������ �������������� !������������������������������������������� ���������������������������������������������� ����������������� �������������������������������� ������������������������������������� 6 Sponsored By
Is It a Requirement or Is It Design? “When the alarm system is armed and a sensor is triggered, the user shall be able to enter a numeric passcode to disarm the system.” "��������������������������������������������� �������������������# "�������������������������������������������� ������������������������������������������# "��������������������������������$%%%�&'������ ����������()��!�����%#)������������������������ ���������������������������������# "���������������������������������������� ���������������������������������������������� �������������$%%*+%%%�&'������������������ ���������������(%�����,%��!�����������# "�����������������������������*������������� ��������������������������-%*-%%%�&'��������� �����������������������������%#)����.������# 7 Sponsored By
To Duplicate or Not To Duplicate � Benefits of duplicating information � readers have all information they need in one place � portions of work are encapsulated � Risks of duplicating information � duplicated information might not be exactly identical � changes can lead to inconsistencies � Techniques to avoid duplication � cross-referencing in Word documents � hyperlinks in documents � traceability links � requirements management tools 8 Sponsored By
What Does “Sign-Off” Mean? � Sometimes nothing! � A suggestion: � “I agree that this document represents our best understanding of the requirements for this release today and that the system described will satisfy our needs as we currently understand them. � I agree to make future changes in this baseline through the project’s defined change process. � I realize that approved changes might require us to renegotiate the cost, resource, and schedule commitments of this project.” 9 Sponsored By
Depicting Project Scope � Define what some portion of the product will and won’t do � Permit making realistic project commitments � Enable prioritization and release planning � Facilitate change decisions � Manage scope creep � Some scope representation techniques: � Context Diagram � Use Case Diagram � Feature Roadmap 10 Sponsored By
Sample Context Diagram Patron meal payroll meal order menu deduction Menu subscription and meal registration Cafeteria info meal order Manager changes Staff delivery request menu contents Cafeteria payment request Ordering payroll deduction System registration request delivery request Meal food item Payroll food item Deliverer availability delivery status System orders information payment request Cafeteria Inventory System 11 Sponsored By
Sample Use Case Diagram Order a Meal Request Order Delivery Processor Update Browse Delivery Menu Status Create Menu Meal Deliverer Patron Modify Menu Register for Payroll Payroll Deduction Menu System Manager 12 Sponsored By
Feature Levels � 8 features, 4 planned releases � 4 or 5 enrichment “levels” for each feature. L5 Release 1 L4 Release 2 Levels L3 Release 3 L2 Release 4 L1 F1 F2 F3 F4 F5 F6 F7 F8 13 Sponsored By
Sample Feature Roadmap Feature Release 1 Release 2 Release 3 Create cafeteria Fully implemented menus Order meals Standard individual Also accept orders Accept group meal from cafeteria meals from lunch for breakfasts and orders for meetings menu only; payroll dinners; take credit and events deduction only and debit cards Order meals Not implemented Not implemented Fully implemented from restaurants Register for Register for payroll Register for credit meal payment deduction payments card and debit card options only payments Request meal Delivery only to Add delivery from Add delivery from delivery company campus cafeteria to certain restaurants to all sites off-site locations delivery locations Manage meal Implemented if time Fully implemented subscriptions permits 14 Sponsored By
Using Multiple Requirements Views � Natural language text � Graphical analysis models � Decision tables and decision trees � Test cases � Prototypes and screen designs � Tables and structured lists � Mathematical expressions � Data dictionary � Photographs, video clips, audio clips 15 Sponsored By
Example of Other Representation Techniques Text: If an order is placed for a chemical to a vendor, the system shall check to see if there are any other pending orders for that chemical. If there are, the system shall display the vendor name, vendor catalog number, and the name of the person who placed each previous order. If the user wishes to contact any person who placed a previous order, the system shall allow the user to send that person an e-mail message. Decision Tree: yes is order other yes contact a yes send to a vendor? pending previous e-mail orders? requester? no no no ???? ???? ???? 16 Sponsored By
Recommend
More recommend