Specification Validation Requirements Engineering Tasks

J.E.D.I The Art of Negotiation Negotiation is a means of establishing collaboration. For a successful software development project, collaboration is a must. Below are some guidelines in negotiating with stakeholders. 1. Remember that negotiation is not competition. Everybody should compromise. At some level, everybody should feel that their concerns have been addressed, or that they have achieved something. 2. Have a strategy. Listen to what the parties want to achieve. Decide on how we are going to make everything happen. 3. Listen effectively. Listening shows that you are concern. Try not to formulate your response or reaction while the other is speaking. You might get something that can help you negotiate later on. 4. Focus on the other partys interest. Dont take hard positions if you want to avoid conflict. 5. Dont make it personal. Focus on the problem that needs to be solved. 6. Be creative. Dont be afraid to think out of the box. 7. Be ready to commit. Once an agreement has been reached, commit to the agreement and move on to other matters.

3.2.5 Specification

A specification is the final artifact or work product produced by the software engineer during requirements engineering. It serves as the foundation for subsequent software engineering activities, particularly, the design and construction of the software. It shows the informational, functional and behavioral aspects of the system. It can be written down as a document, a set of graphical models, a formal mathematical model, a prototype or any combination of these. The models serves as your specifications.

3.2.6 Validation

The work products produced as a consequence of requirements engineering are assessed for quality during validation step. It examines the specification to ensure that all software requirements have been stated clearly and that inconsistencies, omissions, and errors have been detected and corrected. It checks the conformance work products to the standards established in the software project. The review team that validates the requirements consists of software engineers, customers, users, and other stakeholders. They look for errors in content or interpretation, areas where clarification is required, missing information, inconsistencies, conflicting and unrealistic requirements. Requirements Validation Checklist As the models are built, they are examined for consistency, omission, and ambiguity. The requirements are prioritized and grouped within packages that will be implemented as software increments and delivered to the customer. Questions as suggested by Pressman are listed below to serve as a guideline for validating the work products of the requirement engineering phase. Software Engineering 68 J.E.D.I 1. Is each requirement consistent with the overall objective for the system or product? 2. Have all requirements been specified at the proper level of abstraction? That is, do some requirements provide a level of technical detail that is not appropriate at the stage? 3. Is the requirement really necessary or does it represent an add-on feature that may not be essential to the objective of the system? 4. Is each requirement bounded and clear? 5. Does each requirement have attribution? That is, is a source generally, a specific individual noted for each requirement? 6. Do any of the requirements conflict with other requirements? 7. Is each requirement achievable in the technical environment that will house the system or product? 8. Is each requirement testable, once implemented? 9. Does the requirement model properly reflect the information, function and behavior of the system to be built? 10.Has the requirements model been partitioned in a way that exposes progressively more detailed information about the system? 11.Have the requirements pattern been used to simplify the requirements model? Have all patterns been properly validated? Are all patterns consistent with customer requirements? These and other questions should be asked and answered to ensure that all work products reflect the customers needs so that it provides a solid foundation for design and construction.

3.2.7 Management