Ranking And Categorization Of Development Sites

Print   

02 Nov 2017

Disclaimer:
This essay has been written and submitted by students and is not an example of our work. Please click this link to view samples of our professional work witten by our professional essay writers. Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of EssayCompany.

Introduction

Requirements are prioritized according to various aspects. Aspects are the properties or attributes of requirements that are used for prioritization (Berander et al., 2005). A priority reflects the importance of requirements to various stakeholders along with several dimensions like business value, personal preferences etc. Once allotted, the result is a proper ranking of requirements, and hence the implementations order of the requirements in incremental software development. While doing prioritization, it is important to take into account multiple aspects. Multiple aspects are often dependent on each other, so it may be possible that, if the analyst is interested in prioritization of requirements against one aspect, they have to compromise the second dependent one. Performing prioritization against multiple aspects increases the probability of the project success.

In incremental software delivery, software is delivered in increments, with each increment implementing some agreed high priority requirements (Jalote et al., 2004; Gupta and Srivastav, 2010). The priority of a requirement is decided by considering different prioritization aspects. Prioritization must result in the selection of the optimal set of requirements to enhance software success rate. Effectiveness of requirement prioritization technique is one of the project success factors. Effectiveness of requirement prioritization comes from two main driver’s i.e.

Effective negotiations to solve trade-offs between various aspects

Effective handling of a large number of diverse stakeholders and hence their perspectives/viewpoints.

Thus, for higher success rate, software development firm must consider several prioritization aspects, the process that needs prioritization of decision aspects from a large set of aspects. This is because, for selection of the optimal set of requirements, effectiveness of prioritization techniques has no role to play if aspects are not chosen properly. Making a decision on prioritization aspects is not an easy task. It calls for involving diverse stakeholders, negotiating with them to have common agreements, and removing their conflicting views about aspects under consideration. There exist trade-offs between different aspects (Berander and Andrews, 2005) that results in a large number of conflicts. Stakeholder’s assigned values or votes may result in unexpectedly changing the priority of some aspects than desired, effecting success of the software. Every stakeholder must be made aware of other wishes to have win-win situation. Every win-lose situation translates into lose-lose situation (In, 1998). Thus everyone must be made winner to increase the acceptability of software project among its stakeholders. This negotiation process is a collaborative communication intensive activity that is affected by the existence of global distances between development sites.

Deciding aspects of prioritization involve following activities:-

Ranking and categorization of development sites.

Prioritization of aspect by supplying values by diverse stakeholders.

Local negotiation if prioritization values are differing against each category by value exceeding the threshold value, for each aspect.

Calculation of the final priority value of each aspect, by combining the priority value of each site.

For each aspect, if the difference between values is greater than the threshold for each aspect for different sites, perform global negotiation.

This chapter of the thesis proposes a new method of employing both negotiation approaches and methods i.e. prioritization techniques, to prioritize decision aspects. Methods allot priorities to requirements by assigning values to various aspects under consideration while negotiation approaches perform prioritization by building agreements between diverse stakeholders (Perini et al., 2009). This hybrid approach i.e. combinations of negotiations and prioritization helps requirement engineer to improve the software success chances by improving the prioritization decision aspects thereby improving the quality of prioritization process and hence the success rate of projects. Proposed hybrid negotiation-prioritization approach is well suited for globally distributed environments. For local negotiations the technique as proposed by (Boehm and Ross, 1989) can be employed while global negotiations can be performed by employing proposed hybrid technique. The requirement priority plays a vital role during regression testing, thus it can be concluded that this hybrid approach will improve regression testing practices. Efforts are being made to investigate the effects of this hybrid approach on regression testing of the software.

Problem Statement

This chapter deals with the problem of prioritization of decision aspects by employing negotiations approaches and methods in globally distributed sites, by making distributed development as collocated ones. This is achieved by giving rankings to sites involved in aspect prioritization, prioritizing and negotiating at collocated sites (local negotiations) and finally combining the results of negotiations of various sites for each aspect into a single value. The largest difference between priority values of aspect at different sites than that allowed (Threshold value), implies win-lose situation and thus calls for negotiations between sites of disagreements (Global negotiations). The problem formulated as: "How the software development sites will select prioritization aspects by employing both negotiation approaches and methods in global environments".

Proposed Approach

In Globally Distributed Development (GSD), either development phases or development tasks of each phase can be distributed among various sites. Stakeholder distribution and separation by global distances is common for these two cases. Global distances prevent collaborations among diverse stakeholders in order to decide requirement prioritization aspects and finally perform prioritization.

Thus, to enable them to collaborate effectively and reduce aspect negotiation efforts, following are the main steps undertaken.

Geographically distributed sites are given priorities in accordance with availability of experts and kind of development activities the sites are involved in. For example, let’s consider that software development task is distributed to "N" sites with "I" sites handling requirement engineering activities and software developed for markets belonging to sites G1, and G2. Thus, if we are dealing with "Customer Satisfaction" aspect then it is better that discussion be held at G1, and G2, since development is market driven. But for those aspects that are not related to customers like "development costs" etc, every geographically distributed development sites needs to be taken into account. The selection of sites depends on the aspect under consideration. Priorities assigned by other sites will have a limited role to play since customers in different markets have different requirements. If priority is given to those customers that are belonging to those markets that are located at those global sites for which software is not developed, then requirement prioritization will yield wrong results. If Px is the priority assigned to aspect at site Gx and Py is assigned at Gy then final priority P is calculated by using the formulae given by equation 3. 1.

P = P1 (Px) + P2 (Py) (3. 1)

Where P1 and P2 are priorities of two sites G1 and G2, P1 >> P2.

If Px and Py differs by greater value (larger than the threshold), then it’s better to negotiate between stakeholders of two sites so as to create win-win situation between two sites.

For each aspect, at each selected site, stakeholders are allowed to allot values. Priority of aspect at a particular site is calculated using the formulae given by equation 3. 2.

Paspect1 = WStakeholder1 (PStakeholder1) + WStakeholder2 (PStakeholder2) +.....+ WStakeholderi (PStakeholderi) (3. 2)

Where, WStakeholderi is the weight or importance of "i" stakeholder and PStakeholderi is the priority allotted to aspect under consideration.

For each aspect, Compare the priority allotted by each group of stakeholder i.e. Paspect(i) against those allotted by other groups. If the difference between the priorities of any two groups is above threshold, then "Local negotiation" is performed. After performing local negotiation, priority is re computed using equation 3.1.

Once Local negotiation is over, Compare the priority allotted at each site i.e. Paspect(i) against those allotted at other sites, for each aspect. If the difference between the priorities of any two sites is above threshold, then "Global negotiation" is performed.

Once Global negotiation is over, final priority of given aspect is calculated using equation 3. 3.

Paspect1 = Psite1 (PaspectS1) + Psite2 (PaspectS2) +............................. + Psiten (PaspectSn) ......... (3. 3)

Where Psite(i) is priority allotted to site "i" and PaspectS(i) denotes priority allotted to aspect by this site "i".

Aspects with higher priorities represents the mutually agreed decision factors, that when employed during prioritization, will choose that set of requirements that implements successful software agreed by diverse stakeholders.

ALGORITHM: ASPECT PRIORITIZATION : (This algorithm solves the problem of prioritization of requirement prioritization decision aspects in globally distributed environments.)

Identify earlier projects that are similar to software under development. From this, identify aspects that were considered, stakeholders involved etc.

From the success story of recent similar projects, customer feedback, developer’s experience, maintainers views etc, update the list of aspects as found in above step.

List of aspects as found in above step, is distributed to different selected sites and forms agenda for discussion. Present this list to all stakeholders and ask them to rate on proper measurement scale. Also ask them to present those agendas that they think are missing.

For those agendas that had obtained higher values by stakeholders are selected. Priority is calculated using the equation 3.2.

For each aspect, Compare the priority allotted by each group of stakeholder i.e. Paspect(i) against those allotted by other groups. If the difference between the priorities of any two groups is above threshold, then perform "Local Negotiation" and goto step 5 else goto step 6.

Aspects suggested by stakeholders during local negotiations are added to the list and goto step 4.

After all the aspects are considered, Compare the priority allotted at each site i.e. Paspect(i) against those allotted at other sites, for each aspect. If the difference between the priorities of any two sites is above threshold, then perform "Global negotiation". Repeat step 5 due to change in priorities.

After completion of Global negotiation, calculate final priority of given aspect is calculated using equation 3.3.

Select aspects of higher priority.

Since, the priority given by any two sites varies by huge difference, thus need arises to make the dissatisfied stakeholder of these sites mutually agreed on some points that will give aspect proper priority. Because, the stakeholders of these sites are separated by global distances, collaborative negotiation which is a communication intensive activity and requires effective face to face synchronous discussions, suffers a lot. To perform global negotiation, create a list containing clusters, each cluster housing those priority values of aspect under consideration, that have relative difference (greater than threshold value) within the same range. For example, those sites whose priority difference equals 15 can be housed in the same cluster. The pair of <Site1, Site 2> may belong to some cluster and another pair with either Site 1 or Site 2 may be contained in another cluster. This algorithm makes one of the worst assumptions that synchronous communication is not possible due to non overlapping working hours between the two sites.

ALGORITHM: GLOBAL NEGOTIATION: (The algorithm to perform "Global negotiation" between globally distributed stakeholders so as to reach common agreements.)

Categorize the Rankings given by different stakeholders at each site in accordance with the role played by each stakeholder. For example, rankings given by users can be categorized in "user" category.

Compare the ranking categories with similar categories of another site. For example "user" category of one site will be compared with "user" category of another site. Neglect this group if the difference is negligible i.e. within threshold or tolerance limit. Selected group represents the "disagreed categories".

Repeat step 2 for all identified categories as in step 1.

For each aspect under consideration and each identified "disagreed categories", ask the stakeholders belonging to the identified "disagreed categories" to submit list containing their wishes (expectations) and points of disagreements. These disagreements are the major reason for allotment of less value by these stakeholders to particular aspect.

Perform the UNION of lists submitted, this generate a single list of wishes and disagreements. Each entry is of form <site_number, Stakeholder_id, category, wishes, disagreements, assigned priority>.

Categorize the above list on the basis of type of disagreements i.e. local and global. Some of the disagreements can be resolved at local sites while some involve building mutual agreements between two sites.

Perform local negotiations for all identified "local" set of local disagreements; re-prioritize aspect by allotting new values by disagreed stakeholders. Here the negotiation model as proposed by Boehm and Ross, (1989) can be used. This model performs negotiation by registering the wishes of stakeholders as their win conditions. If everyone agrees to such win conditions, it becomes an agreement otherwise conflicts i.e. issues are registered and options are elaborated to remove conflicts thereby reaching agreements (Boehm and Ross, 1989).

Repeat following steps to discuss points of disagreements between global stakeholders:

Discuss points of disagreements are discussed at every site and options given by stakeholders are recorded. Such options are exchanged between all participating sites and reaction is noted. Here it is possible that some disagreed points are agreed in terms of matching options common to maximum sites.

Repeat step (a) with remaining options. Here new options will emerge and will lead to agreements on some more disagreements. Once this iterative process ends and some disagreements are still left, goto step (c) else prepare agreements list and distribute it to all disagreed stakeholders.

Create scenarios at each site. For example, at site A, as per wishes of disagreed stakeholders, scenarios can be drawn. These scenarios are merged into a single scenario (if possible). The same procedure is repeated at other sites.

Compare the scenarios to find out conflicts. Such conflicts and scenarios are discussed with dissatisfied stakeholders to give then visualization of conflicts and hence to generate common solution.

Research Question

The main objective of the research is to provide negotiation & prioritization based method that prioritizes requirement prioritization decision aspects/factors in Globally Distributed Developments. Further this thesis tries to find out the effect of selection of aspects as a result of combinations of negotiations and prioritization on project success rate. To investigate the effectiveness of the proposed technique and to study its effect on project success rate, paper tries to answer the following questions:

How the hybrid approach i.e. combination of negotiations & methods influence customer satisfaction.

How negotiations and methods influence project success rate.

How proper selection of aspects influence success factor of projects.

Experimental design/Set up

As a prototype, "embedded" software project, payroll management system is utilized. This software was delivered in TWO increments but belongs to category of unsuccessful projects. Development activities of a second increment were carried out in parallel with development activities of first increment. Requirements were just prioritized after prioritization of aspects. It was decided to utilize this failed project by building it from scratch but reusing its available modules to maximum possible extend. This embedded type software system (above 300 Loc) is having following requirements:

Req 1: Maintaining details of employees

Req 2: Maintaining leave rules and details of leaves of employees

Req 3: Calculating pay of employees

Req 4: Maintaining allowance details

Req 5: Must be able to take as input several bonanzas given to employees

Req 6: Generating payslips

Req 7: Calculating taxes and deducting amount from salary of next month if desired.

The unsuccessful project was implemented with fewer requirements, delaying the implementation of requirement numbered 2, 4 and 7. These requirements were neglected because these were simply prioritized, leaving some stakeholders as losers. Loser stakeholder’s view was not considered, thus some important priority aspects were neglected, and that happens to be project success drivers but got lower priority. The project was made to run (not officially but for demonstration purpose) in the month of January.

About 20 students were selected as stakeholders with different views and roles. These students vary in technical knowledge, languages, culture etc. To simulate software development in the global environment, selection of aspects was carried out in two sessions (Morning and evening). Thus some of the stakeholders were asked to work on negotiations and prioritization in the evening (4 hours later than the end of session 1). This made two sites separated by time zone differences. To further simulate other global distances, no member of session 2 can interact with those of session 1 face to face. Since stakeholders belong to different areas, language problem was common. Thus globally distributed environment problems emerge in the development process. These globally distributed teams developed the software from scratch and employed proposed hybrid approach for prioritization of decision aspects.

Result Analysis

Project made employees unhappy since the project was not able to calculate tax, deduct tax from next month’s salary and add bonanzas to the month’s salary. Changes in rules for "Earned" leaves and casual leaves (CL) from 8 CL to 12 CL per year, made project failed to deduce salary if number of leaves exceeds limits. Thus leave record, tax calculation, tax deduction, bonanzas addition remained a manual task. Although software implemented all requirements and testing was of good level, supported with necessary documentation, yet project failed (Figure 3.1).s



rev

Our Service Portfolio

jb

Want To Place An Order Quickly?

Then shoot us a message on Whatsapp, WeChat or Gmail. We are available 24/7 to assist you.

whatsapp

Do not panic, you are at the right place

jb

Visit Our essay writting help page to get all the details and guidence on availing our assiatance service.

Get 20% Discount, Now
£19 £14/ Per Page
14 days delivery time

Our writting assistance service is undoubtedly one of the most affordable writting assistance services and we have highly qualified professionls to help you with your work. So what are you waiting for, click below to order now.

Get An Instant Quote

ORDER TODAY!

Our experts are ready to assist you, call us to get a free quote or order now to get succeed in your academics writing.

Get a Free Quote Order Now