Requirements Engineering: A Good Practice Guide


Published on

Getting started with good RE practices

Published in: Business, Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Basic practices mainly about standardisation management ease of use Intermediate ones mainly about methods Advanced ones specialised on-going improvement and learning
  • Requirements Engineering: A Good Practice Guide

    1. 1. Requirements Engineering A Good Practice Guide
    2. 2. The good practice guidebook <ul><li>Structure: </li></ul><ul><ul><li>Contains a guide to the activities and products of the requirements process. </li></ul></ul><ul><ul><li>Lists 66 guidelines to key good practices. </li></ul></ul><ul><ul><li>Introduces the REAIMS improvement model for requirements process improvement. </li></ul></ul><ul><ul><li>Provides guidance on the assessment of RE process maturity. </li></ul></ul>
    3. 3. REGPG guidelines <ul><li>Guidelines are provided for each activity/product area. </li></ul><ul><ul><li>Requirements elicitation </li></ul></ul><ul><ul><li>Requirements analysis and negotiation </li></ul></ul><ul><ul><li>System modelling </li></ul></ul><ul><ul><li>Requirement validation </li></ul></ul><ul><ul><li>Requirement management </li></ul></ul><ul><li>Guidelines are: </li></ul><ul><ul><li>Basic : Fundamental measures needed for a repeatable process. </li></ul></ul><ul><ul><li>Intermediate : Help make process more systematic, sometimes complex to implement. </li></ul></ul><ul><ul><li>Advanced : Require specialist expertise, support on-going improvement. </li></ul></ul>
    4. 4. The top ten good RE practices <ul><ul><li>Define a standard document structure. </li></ul></ul><ul><ul><li>Make the document easy to change. </li></ul></ul><ul><ul><li>Uniquely identify each requirement. </li></ul></ul><ul><ul><li>Define policies for requirements management. </li></ul></ul><ul><ul><li>Define standard templates for req. description. </li></ul></ul><ul><ul><li>Use language simply, consistently and concisely. </li></ul></ul><ul><ul><li>Organise formal requirements reviews. </li></ul></ul><ul><ul><li>Define validation checklists. </li></ul></ul><ul><ul><li>Use checklists for requirements analysis. </li></ul></ul><ul><ul><li>Plan for conflicts and conflict resolution. </li></ul></ul>
    5. 5. Basic good practices <ul><li>Assess system feasibility </li></ul><ul><li>Be sensitive to organisational and political considerations </li></ul><ul><li>Identify and consult system stakeholders </li></ul><ul><li>Record requirements sources </li></ul><ul><li>Define system’s operating environment </li></ul><ul><li>Use business concerns to drive requirements elicitation </li></ul>
    6. 6. Intermediate practices <ul><li>Look for domain constraints </li></ul><ul><li>Record requirements rationale </li></ul><ul><li>Collect requirements from multiple viewpoints </li></ul><ul><li>Prototype poorly understood requirements </li></ul><ul><li>Use scenarios to elicit requirements </li></ul><ul><li>Define operational processes </li></ul><ul><li>In general, you should not introduce intermediate practices before a large number of basic practices are in normal use </li></ul>
    7. 7. Advanced practices <ul><li>Reuse requirements </li></ul><ul><li>Assess requirements risks </li></ul><ul><li>Specify systems using formal methods </li></ul><ul><li>Collect incident experience </li></ul><ul><li>Advanced practices should only be introduced after you have reached the repeatable level in the process maturity model. If you introduce them earlier, then you may find them ineffective </li></ul>
    8. 8. RE - GPG Guidelines <ul><li>Guidelines to the good practices are structured in a standard easy-to-understand way </li></ul><ul><li>Each description includes </li></ul><ul><ul><li>A short discussion of the key benefits </li></ul></ul><ul><ul><li>Practical advice on how to implement the practice </li></ul></ul><ul><ul><li>An assessment of likely costs and problems of both introducing and using the practice </li></ul></ul>
    9. 9. Example: Guideline 8.4 <ul><li>Define validation checklists </li></ul><ul><li>General </li></ul><ul><li>You should define a checklist or checklists which helps focus the attention of requirements validators on critical attributes of the requirements document. These checklists should identify what readers should look for when they are validating the system requirements. </li></ul><ul><ul><li>Key benefits : Help to focus the validation process </li></ul></ul><ul><ul><li>Costs of introduction : Low-moderate </li></ul></ul><ul><ul><li>Costs of application : Low </li></ul></ul><ul><ul><li>Guideline type : Basic </li></ul></ul>
    10. 10. Example: Guideline 8.4 (contd.) <ul><ul><li>Benefits </li></ul></ul><ul><ul><li>Checklists add structure to the validation process. It is therefore less likely that readers will forget to check some aspects of the requirements document. </li></ul></ul><ul><ul><li>Checklists help in the introduction of people who are new to requirements validation. The checklist gives them hints what they should be looking for so that they feel more able to participate in the process. This is particularly important for customer management and end-users who may not have requirements validation experience. </li></ul></ul>
    11. 11. Example: Guideline 8.4 (contd.) <ul><li>Implementation </li></ul><ul><li>The use of checklists for requirements analysis has already been discussed in Guideline 5.2, Use checklists for requirements analysis and similar checklists may also be used in the validation process. These checklists are oriented towards individual requirements; validation checklists should also be concerned with the quality properties of the requirements document as a whole and with the relationships between individual requirements. This can’t be checked during requirements analysis as the requirements document is unfinished at that stage. </li></ul><ul><li>Questions which might be included in such a checklist should be based on the following general issues: </li></ul><ul><ul><li>1. Are the requirements complete, that is, does the checker know of any missing requirements or is there any information missing from individual requirement descriptions? </li></ul></ul><ul><li>… .etc…... </li></ul>
    12. 12. Example: Guideline 8.4 (contd.) Costs and problems This is not an expensive guideline to implement if you use a fairly general checklist with questions like those listed above. To introduce the guideline, you need to draw up an initial checklist based on the experience of people who have been involved in requirements validation. If a checklist is simply used a memory aid, there are no costs involved in applying the guideline. If checkers of the requirements must mark each requirement against the checklists, clearly some additional time is required. This should not be more than one or two minutes per requirement. In principle, there should be few problems in applying the guideline so long as you have a fairly flexible process which allows people to ignore inappropriate checklist entries. In practice, some requirements analysts may resent the introduction of checklists as they see them as de-skilling the process. You have to emphasise that the checklists are designed to help them and point out that professional judgement must still be used.
    13. 13. Process improvement Stakeholder requirements Requirements management Elicitation Analysis and negotiation Validation System requirements Test plans Good Practice
    14. 14. Applying the REGPG <ul><li>Getting started </li></ul><ul><ul><li>Ensure that the top 10 guidelines are in place </li></ul></ul><ul><li>Assess the maturity of the current processes </li></ul><ul><li>Plan incremental RE process improvements </li></ul><ul><li>Introduce new practices </li></ul><ul><li>Check success of improvements against your improvement goals </li></ul><ul><li>Introduce the next stage of improvements </li></ul>
    15. 15. Planning and implementing improvements <ul><li>The essence of the REAIMS approach to improvement </li></ul><ul><ul><li>Goal-driven </li></ul></ul><ul><ul><li>Incremental </li></ul></ul><ul><ul><li>Recognises the importance of controlling risks and costs </li></ul></ul><ul><li>There are four questions to ask when planning improvement: </li></ul><ul><ul><li>What are your most pressing problems? </li></ul></ul><ul><ul><li>What are your improvement goals? </li></ul></ul><ul><ul><li>How can improvements be matched to the goals? </li></ul></ul><ul><ul><li>How should improvements be managed? </li></ul></ul>
    16. 16. What are the most pressing problems? <ul><li>Incremental improvement should be problem-driven. </li></ul><ul><li>Start by identifying and addressing your most urgent problems: </li></ul><ul><li>Possible problems might be: </li></ul><ul><ul><li>poor product quality </li></ul></ul><ul><ul><li>loss of change control </li></ul></ul><ul><ul><li>cost and delivery over-runs </li></ul></ul><ul><ul><li>staff morale </li></ul></ul><ul><ul><li>low productivity </li></ul></ul><ul><ul><li>lack of process visibility </li></ul></ul>
    17. 17. What are the improvement goals? <ul><li>Decide what you want to achieve from the improvement process. </li></ul><ul><ul><li>If you don’t know where you are going, you won’t be able to tell if you’ve arrived </li></ul></ul><ul><li>Improvement goals should normally be related to the identified problems </li></ul><ul><li>Goals must be realistic - unrealistic goals lead to disappointments, disillusion and cancellation. </li></ul><ul><li>May be expressed in a qualitative or in a quantitative way </li></ul>
    18. 18. Match improvements to goals <ul><li>Use the advice in the good practice guide to identify the practices that are most likely to help you achieve your goals </li></ul><ul><li>Relate the improvement goals to specific RE process activities or to deliverables from the RE process </li></ul><ul><li>If the symptoms of your problems are hard to tie back to one of the activities/products of the RE process then STOP!. </li></ul><ul><li>You need more information about your problems at this stage </li></ul>
    19. 19. Manage the introduction of improvements <ul><li>You have to assess your improvements against your goals. </li></ul><ul><li>You should collect feedback from the improvements </li></ul><ul><ul><li>Quantitative information about the process such as the number of change requests, the time required to approve new requirements etc. </li></ul></ul><ul><ul><li>Qualitative information from practitioners. What do people think? </li></ul></ul><ul><li>Feedback must be acted upon. If the practices don’t appear to be making a difference then don’t hesitate to re-iterate and to try something else. </li></ul>
    20. 20. Advice on introducing improvements <ul><li>Find an evangelist </li></ul><ul><ul><li>An evangelist is someone who believes in the improvement and will work to convince others. If you have an evangelist, this is a good reason to select one improvement over another </li></ul></ul><ul><li>Try changes out on pilot projects </li></ul><ul><ul><li>There will be problems! Pilot projects let you find these problems without affecting too many people </li></ul></ul><ul><li>Allow enough time to make the change </li></ul><ul><ul><li>Improvements to professional processes take time </li></ul></ul><ul><li>Respect professional skills </li></ul><ul><ul><li>The people in the processes are the experts. Listen to them </li></ul></ul>
    21. 21. Summary <ul><li>The RE- GPG is intended to help organisations improve their requirements engineering processes </li></ul><ul><li>Extends the principles of top-down software process improvement to requirements engineering </li></ul><ul><li>Provides 66 good practices with advice on benefits, costs, etc. </li></ul><ul><li>Focuses on pragmatic advice that is adaptable to individual organisations’ needs </li></ul>