
Software Requirements from the Customer's Perspective
Explore the importance of customer relationships, rights, and responsibilities in software development. Learn about bridging the expectation gap, identifying stakeholders, and fostering effective collaboration for successful software projects.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
Chapter 2 Requirements from the customer s perspective EECS812: Software Requirements Engineering Professor Hossein Saiedian
This chapter will help you to Understand the importance of the customer-development relationship Provide guidance by establishing a set of rights & responsibilities for software customers Understand the importance of reaching agreement on requirements for an upcoming release EECS812: Software Requirements Engineering 2
The expectation gap Frequent customer engagement reduces the expectation gap EECS812: Software Requirements Engineering 3
Who is the customer? Potential stakeholders within the project team, developing organization and outside EECS812: Software Requirements Engineering 4
The customer-development partnership An excellent software product requires effective collaboration between developers and customers Collaboration will be effective only when both parties truly understand what the other needs to be successful EECS812: Software Requirements Engineering 5
Requirements bill of rights for software customers You have the right to: 1. Expect BAs to speak your language 2. Expect BAs to learn about your business and your objectives 3. Expect BAs to record requirements in an appropriate form 4. Receive explanations of requirements practices and deliverables 5. Change your requirements EECS812: Software Requirements Engineering 6
Requirements bill of rights for software customers (continued) You have the right to: 6. Expect an environment of mutual respect 7. Hear ideas and alternatives for your requirements and for their solution 8. Describe characteristics that will make the product easy to use 9. Hear about ways to adjust requirements to accelerate development through reuse 10.Receive a system that meets your functional needs and quality expectations EECS812: Software Requirements Engineering 7
Requirements bill of responsibilities for software customers You have the responsibility to: 1. Educate BAs and developers about your business 2. Dedicate the time that it takes to provide and clarify requirements 3. Be specific and precise when providing input about requirements 4. Make timely decisions about requirements when asked 5. Respect a developer s assessment of the cost and feasibility of requirements EECS812: Software Requirements Engineering 8
Requirements bill of responsibilities for software customers (continued) You have the responsibility to: 6. Set realistic requirement priorities in collaboration with developers 7. Review requirements and evaluate prototypes 8. Establish acceptance criteria 9. Promptly communicate changes to the requirements 10.Respect the requirements development process EECS812: Software Requirements Engineering 9
Creating a culture that respects requirements Can run into challenges when trying to engage BAs, developers, and customers in a collaborative requirements partnership Understanding why people resist participating in requirements development is the first step to being able to address it EECS812: Software Requirements Engineering 10
Identifying decision makers The decision leader makes the choice, either with or without discussion with others The group votes and the majority rules The group votes, but the result must be unanimous to approve the decision The group discusses and negotiates to reach a consensus and stands by it The decision leader delegates authority for making the decision to one individual The group reaches a decision, but some individual has veto authority over that decision EECS812: Software Requirements Engineering 11
Reaching agreement on requirements Customers agree that the requirements address their needs Developers agree that they understand the requirements and that they are feasible Testers agree that the requirements are verifiable Management agrees that the requirements will achieve their business objectives EECS812: Software Requirements Engineering 12
The requirements baseline A set of requirements that has been reviewed and agreed upon and serves as the basis for further development Snapshot of the requirements at a point in time Helps give confidence to the various stakeholders EECS812: Software Requirements Engineering 13
What if you dont reach agreement? If you don t reply by next Friday with your changes and/or sign-off, I m going to assume you are agreeing to these requirements. Although it might not be possible to receive sign-offs from all the stakeholders, it is important to move forward (and make appropriate risk mitigation plans) EECS812: Software Requirements Engineering 14
Agreeing on requirements on agile projects Agile projects do not include a formal sign- off action Requirements are maintained in a project backlog which is constantly groomed and prioritized Full set of functionality is identified over time rather than upfront EECS812: Software Requirements Engineering 15
Summary Developers must understand the motivations of the customer to produce a quality product Customers must understand technical and cost limitations in order to establish feasible requirements Developers and their customers have specific responsibilities to each other with regard to baselining requirements EECS812: Software Requirements Engineering 16