Kiến trúc máy tính và hợp ngữ - Chapter 8: Risks in requirement engineerring

Time pressure to proceed despite TBDs Good idea to mark areas of the SRS document that need further work with ‘to be determined’ (TBD). But it is risky to proceed with the construction if these TBDs have not been resolved. Record the name of the individual responsible for resolving each TBD, how it will resolved, and the target date for resolution

pdf27 trang | Chia sẻ: huyhoang44 | Lượt xem: 598 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Kiến trúc máy tính và hợp ngữ - Chapter 8: Risks in requirement engineerring, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Risk management provides a standard approach to Identify and document risk factors Evaluate their potential severity Propose strategies for mitigating them Risk assessment: is the process of examining a project to identify areas of potential risk. Risk identification: makes lists of common risk factors for software projects Risk analysis: Examine the potential consequences of specific risks to your project. Risk prioritization: focus on the most severe risks by assessing the potential risk exposure from each. Risk avoidance : You can avoid risks by not undertaking certain projects, by relying on proven rather than cutting- edge technologies, or by excluding features that will be especially difficult to implement correctly. Software development is intrinsically risky, though, so avoiding risk also means losing an opportunity. Risk control: manage the top-priority risks Risk management planning: produce a plan for dealing with each risk including mitigation approaches, contingency plans, owners, and timelines Risk resolution involves executing the plans for mitigating each risk. Risk monitoring: track your progress toward resolving each risk item through Risks factors are organized by the requirements engineering sub-disciplines: Elicitation Analysis Specification Verification Management Techniques are suggested that can reduce: Either the probability of the risk materializing into a problems Or the Impact on the projects if it does. Product Vision and scope: Team members don’t have a clear, shared understanding of what the product is supposed to be or do.  Early in the project write a vision and scope document that contains your business requirements and use it to guide decisions about new or modified requirements. Time spent on requirements development Tight projects schedules often pressure managers into glossing over the requirements.  A rough guideline is : To spend about 15 per cent of your project effort on requirements development activities. Keep records of how much efforts you actually spend on requirements development  you can judge whether it is sufficient and improve your planning for future projects. Completeness and correctness of requirements specification Apply the use case technique to elicit requirements by focusing on user tasks. This ensure that you will capture real customer needs. Devise specific usage scenarios. Write test cases from requirements Create prototypes to make the requirements more tangible for users and to elicit specific feedback from them. Requirements for highly innovative products: Emphasize marked research, build prototypes, Use customer focus groups to obtain early and frequent feedback about your innovative product visions. Defining Non functional requirements Natural emphasis on product functionality and easy neglect of non functional ones. Query customers about quality characteristics: performance, reliability, usability. Document these NF requirements and their acceptance criteria in the SRS document. Customer agreement on product requirements: Determine who the primary customers are. Make sure you have adequate customer representation and involvement Make sure you are relying on the right people for decision making authority on requirements. Unstated requirements: Customers might hold implicit expectations that are not communicated or documented. Try to identify and record any assumptions the customers might be taking. Use open ended questions to encourage customers to share more of their thoughts, ideas and concerns than you might otherwise hear. Existing product used as the requirement baseline: Developers are sometimes told to use the existing product as their source for requirements (fix specific bugs, add new features).  Document the requirements that you discover through reverse engineering, and have customers review those requirements to ensure that they are correct and still relevant Requirement prioritization Ensure that every requirement, feature or use case is prioritized and allocated to a specific product release or implementation stage. Evaluate the priority of every new requirement against the existing body of work remaining to be done so you can make clever trade-off decisions. Technical difficult features: Evaluate the feasibility of each requirement to identify those that might take longer to implement than planned. Use your project status tracking to watch for requirements that are falling behind their implementation schedule. Take corrective action as early as possible, Unfamiliar technologies, methods, tools, or hardware Don’t underestimate the learning curve of getting up to speed with new techniques that are needed to satisfy certain requirements Identify those high risks requirements early Allow sufficient time for false starts, learning, experimentation and prototyping. Requirement Understanding: Different understandings of the requirements by developers and users may lead to expectation gaps. Formal inspections of requirements documents by teams including developers, testers, and customers can mitigate the risk. Trained and experimented requirements analysts will ask the right questions and write better specification. Models and prototypes that represent the requirements from multiples perspectives will reveal fuzzy and ambiguous requirements. Time pressure to proceed despite TBDs Good idea to mark areas of the SRS document that need further work with ‘to be determined’ (TBD). But it is risky to proceed with the construction if these TBDs have not been resolved. Record the name of the individual responsible for resolving each TBD, how it will resolved, and the target date for resolution. Ambiguous terminology Create a glossary and data dictionary to define all business and technical terms that might be interpreted differently by different readers. Especially define terms that have both common and technical or domain-specific meanings Specific reviews can help participants reach a common understanding of key terms and concepts. Unverified requirements Inspecting a lengthy SRS, writing test cases very early in the development process may appears fastidious. However if you verify the quality and correctness of the requirements before construction begins, through inspection, requirements-based test planning and prototyping you can greatly reduce expensive rework later in the project. Unverified requirements Include time and resources for these quality activities in he project plan. Gain commitments from your customer representatives to participate in requirements inspections. Perform incremental, informal reviews prior to formal inspections to find problems as early and cheaper as possible. Inspection proficiency: Serious defects might be missed in case inspectors do not know to properly inspect requirements documents, and to contribute to effective inspections. Train all team members who will participate in inspections of requirement documents. Invite an experienced inspector from your organization or outside consultant to observe and moderate your early inspections to help make them effective. Requirement change process: Risks from the way changes to requirements are managed include not having a defined change process, using an ineffective change mechanism, and permitting changes to be made without following the process. You will need to develop a culture and discipline of change management at all levels. A requirements change process that includes impact analysis of proposed changes, a change control board to make decisions, and a tool to support the defined procedure is an important starting point. Unimplemented requirements The requirements traceability matrix helps to avoid overlooking any requirements during design, construction or testing. It also helps ensure that a requirement is not implemented by multiple developers because of inadequate communication within the project. Expanding project scope If requirements are poorly defined initially, further definition can expand the scope of the project. The project resources that were allocated according to the initial requirements might not be adjusted as the true scope of user needs becomes known. To mitigate this risk, plan on a phased or incremental delivery process. Implement the core functionality in the early releases, and iteratively elaborate the requirements for the later phases.

Các file đính kèm theo tài liệu này:

  • pdfchapter_8_risk_in_re_912.pdf