Download presentation
Presentation is loading. Please wait.
Published byMelvyn Ward Modified over 9 years ago
1
Software Requirements Engineering Negotiation Process Lecture-18
2
Recap Elaboration process Negotiation process
3
Today’s lecture Negotiation process Activities Negotiation meetings Requirement piroritization
4
Negotiation as a process 4
5
Negotiation 5 During negotiation, the software engineer reconciles the conflicts between what the customer wants and what can be achieved given limited business resources Requirements are ranked (i.e., prioritized) by the customers, users, and other stakeholders Risks associated with each requirement are identified and analyzed Rough guesses of development effort are made and used to assess the impact of each requirement on project cost and delivery time Using an iterative approach, requirements are eliminated, combined and/or modified so that each party achieves some measure of satisfaction
6
Stages 6
7
Art of negotiation 7 Recognize that it is not competition Map out a strategy Listen actively Focus on the other party’s interests Don’t let it get personal Be creative Be ready to commit
8
Negotiation meetings An information stage where the nature of the problems associated with a requirement is explained. A discussion stage where the stakeholders involved discuss how these problems might be resolved. All stakeholders with an interest in the requirement should be given the opportunity to comment. Priorities may be assigned to requirements at this stage. A resolution stage where actions concerning the requirement are agreed. These actions might be to delete the requirement, to suggest specific modifications to the requirement or to elicit further information about the requirement. 8Software Requirements Engineering
9
Meeting steps 9
10
Requirement Prioritization (RP) 10
11
Why is prioritization a problem? 11
12
Semi-Automated Vs Manual 12
13
13 Semi-Automated Vs Intelligent
14
Prioritization Techniques 14 Technique Name How it worksHow its evaluates Performance/accuracy of requirement Prioritization Manual or Automated AHP [1,2] Method steps Set of requirements ‘n’ in the form of matrix, rows and columns n x n matrix. Pairwise comparisons according to the given criteria of all requirements are performed. Cost is being checked. Use normalized columns. Estimates of eigenvalues on the basis of normalized columns. On the basis of eigenvalues estimation, relative values of each requirement are assigned. Diagram is made to show the scales of each requirement. To make hierarchy to structure the problem. Elicit judgments that replicate the idea, emotions and feelings. Representation of these judgments (pairwise comparison) in the form of numbers. Use these numbers to get the elements in prioritized form in hierarchy. Synthesize results Changes in judgments to analyze the sensitivity. Calculates the scales of each requirements in terms of cost, benefits and risks Not applicable on large set or requirements Scalability Issue Not useful for large projects. Help to reduces hindrance in decision. Lengthy process Semi- Automated
15
15 Technique Name How it worksHow its evaluates Performance/accurac y of requirement Prioritization Manual or Automated Planning Game [3] Requirements written on cards which are further divided into three different lots. The lots get the sorted list on an ordinal scale. On the basis of those Requirements that are essential for system to be functional. Those requirements which are not much important but gives substantial value. Those requirements that would be pleasant to have in system. All candidates’ requirements are outlined. Each requirement is put into the appropriate pile and continues until all the requirements are sorted. All the requirements that are present on the pile of “those without the system will not function” are considered first. Very flexible. Does not support regression testing. Used in extreme Programming. Manual MoScoW [4] All the requirements are grouped in to four priority groups, “Must have”, “Should Have”, “Could have”, and “WON’T have”. Used in dynamic systems Keeping overview of important aspects of project. If not done efficiently then I could cause failure of requirements. Manual
16
16 Technique Name How it worksHow its evaluates Performance/accuracy of requirement Prioritization Manual or Automated Genetic Algorith m [5] This approach does not elicit all comparison of pairs. Only for that requirement pairs which effect the final ordering. Use Genetic Algorithm Scalable Approach Only applicable on selective elicitation on allocated budget. Semi- Automated / Intelligent CB Rank [6] A machine learning technique Case base ranking or boosting Algorithm is used. Comprises of 3 steps: Pair Sampling Priority Elicitation Priority Learning Automated method to rank the requirements that are not yet ranked. Implemented on case study. Flexible Use for large number of requirements Overcome the issues of scalability. Inability to do negotiation with stakeholders Possibility of same loss values during execution. Semi- Automated / Intelligent
17
Working of CB Rank [6] 17 F1 F2 F3 R1 = 4 R1 = 1 R1 = 5 R2 = 2 R2 = 5 R2 = 4 R3 = 1 R3 = 3 R3 = 1 R4 = 4 R4 = 2 R4 = 3 R5 = 5 R5 = 4 R5 = 1 Pair Sampling Priority Elicitation Priority Learning R = {r1, r2, r3, r4,r5} Elicited Pairs {(r1, r2), (r3, r4)} r5, r4, r1, r2, r3
18
18 1. T.L. Satty, “The analytic hierarchy process-what it is and how it is used”, Pergamon Journals Ltd, Vol. 9(3-5), pp. 161-176, 1987. 2. T.L. Saaty, The Analytic Hierarchy Process, McGraw-Hill, Inc. 1980. 3. L. Karlsson, T. Thelin, B. Regnell, P. Berander, C. Wohlin, “Pair-wise comparisons versus planning game partitioning- experiments on requirement prioritization techniques”, Empirical Software Engineering, Vol. 12(1), pp. 3-33, 2007. 4. P. Berander, “Evolving prioritization for software product management”, Blekinge Institute of Technology Doctoral Dissertation Series No 2007:07, Sweden, 2007. 5. P. Tonella, A. Susi, F. Palma,” Using Interactive GA for Requirements Prioritization”, 2nd International Symposium on Search Based Software Engineering, IEEE Computer Society, Vol. 57(66), pp. 7-9, Sept. 2010 6. A. Perini, A. Susi, P. Avesani, “A Machine learning Approach to software Requirements Prioritization”, IEEE Transactions on software engineering, Vol.39(4), pp. 445-461, April 2013.
19
Summary 19
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.