02 Risk Paper Shabir

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Sci.Int.

(Lahore),29(6),1309-1314,2017 ISSN 1013-5316;CODEN: SINTE 8 1309

SOFTWARE DEVELOPMENT AND RISK ANALYSIS IN AGILE DISTRIBUTED


ENVIRONMENT
Shabir Ahmad1*, Mohib Ullah2, Muhammad Naveed Ahmad3, Abu Buker Siddique1, Bilal Ehsan1
1
Department of Computer Science, Government College of Commerce, Multan, Pakistan
3
Department of Computer Science, NFC-Institute of Engineering and Technology, Multan,
2
Department of Computer Science, NCBA&E, Multan, Pakistan
*Corresponding author: Email: [email protected]
ABSTRACT - In software development risks are very common in centralized as well as agile distributed environment. In agile
distributed software development environment the requirements, principals for understanding risks, prioritization of risks and
agile distributed environment risks are key elements of risk analysis. In our research the survey is based on 20 Pakistani
software companies working on agile methodologies in a distributed environment. In our study, we analysis different risks
those are specific for agile distributed software development environment. Our study concluded that if these risks are analyzed
and handled carefully, then the successful completion of software development in distributed agile environment is very easy
and it also helps to improve the quality of software.
In our research, we used Questionnaire and interviews for the collection of data. We interviewed employees of different
organizations to gain knowledge about their objectives, and to evaluate associated risks in distributed software development in
Agile. Our survey results shown that the software development process quality can improve 90% if all the associated risks are
analyzed during the development process in a agile distributed environment.

KEYWORDS:Software Development, Agile Methodology, Distributed Environment, Risk Analysis, Pakistani Software Companies.

1. INTRODUCTION 2. LITERATURE REVIEW


In software development risks are very common in In agile distributed environment, the software development
centralized as well as agile distributed environment. This process is connected with various risk factors. In software
will cause a huge cost to the organization. The risks can development the absence of support of the top management
effect on the product quality studied by others[1]. Agile is may corporate to the major risks [6]. It is explored that the
generally believed to be a productive approach and are support of senior management is very necessary for the
effectively used in the software development process [2]. success of any project. The top management should frame
The main reasons for the failure of software development some principles that must follow in the working
projects have been claimed to be the challenges of transition environment of the software development [7]. Organization
and migrating to agile, misunderstanding and unfamiliarity should select some suitable tools for development and
with the method, the additional cost of user involvement and efficiently utilized the available team skills for the
the required training, dependency of agile method on high- successful completion of a project. The project failure risk
level technical skilled developers, etc. [3]. may come if there is insufficient amount of time for the
Distributed software development has its own dimensions, given project [8, 9].
which add the general cost, or make it risky to be used. The In a distributed environment, communication is a big risk.
main problems in a distributed software project is the As many stakeholders are involved in the development
problem of communication, finding related experts for a process and are located at different locations, leads toward
specific problem, cultural differences, working in different the communication risks. For best result there is need of user
time zones, integration of tasks, lack of trust, etc. [4]. The regular communication with the team. Documentation of
level of importance, either related to agile or a distributed new software is a very key part of software development. In
development method. As a result, evaluating the current practice, during development it was observed that
situation of an organization and also resources available for documentation is generally neglected [10]. In agile distribute
a specific project, there is a need to identify all the risk that environment video chats, skype and teleconferencing
may face in the distributed agile software development services can play a major role for better communication
environment. during the software development process. In the same
It is frequently observed that companies move to more context the replacement of IT team member will also cause
simple such as near shoring or onshore site once they are much on the overall performance of the organization due
over with the stage of focusing on labor costs. Some studies their experience values. The rapid changing in the
have collected risks and techniques for managing risks [5]. technology has a major impact on the employee turnover
Regardless of the distribution, because of quick [11].
development, recruiting less people, etc. agile is considered With the success of development process of a software,
as a cost and time efficient method. Emphasizing on agile especially in agile distributed environment, the manager role
communication, both structured and informal is very important [12]. Understanding about the issues and
communication, and the need for communication in agile risks in working environment, the manager must have
because of required continuous integration could mitigate adequate control and know all the methods and techniques to
the problems of missing face-to-face communication. It’s get override them. It is a big characteristic of a manager that
also helpful for building trust between team members and he must provide a good working environment to his team.
increasing the transparency over the project.

November-December
1310 ISSN 1013-5316;CODEN: SINTE 8 Sci.Int.(Lahore),29(6),1309-1314,2017
Manger must face the problems and solve them according to the business team and customer. There is a problem that
the needs. customers do not receive enough information about the
Boehm [13] studied the vendor risks, those are low software development, which will decrease customer
compatibility of software with the new hardware in the satisfaction level. For both of these methods, sending a
market. This will show poor functionality of existing bundle of requirement and expecting to deliver the software
software and can affect the performance of the organization. after a while without working closely with the development
More dependence on the foreign companies for new team results to a low quality software [17].
hardware supply can slow down the project progress. Some problems happen with team communication and
Schmidt et. al. [14] prove that if an organization has not a relationship in this structure while teams become specialized
good control over vendor and suppliers, this will leads in particular components. It’s not adjusted well with novel
problem with low outcomes and poor specification of projects having uncertain requirements. Another practice for
contract. teams working with large time difference is to use a proxy
The selection and use of inappropriate approach and who joins both meetings. The proxy should change his
technology in a candidate software development process will working time to be able to join both meetings [18].
leads to the high chance of failure and it will unable to give
the expected results/objective set in designing phase. In 3. MATERIALS AND METHODOLOGY
technology risks, the selection of software language, In agile distributed software development environment for
hardware, approaches and methods are involved which may risk analysis the key requirements are principals for
create difficulties for developers [15]. Research has proved understanding risks, prioritization of risks and agile
that organizations must be aware of the modern IT market distributed environment risks.
and time to time it should change their techniques and tools. 3.1 Agile Software Development Requirements
These are those risks that emerge because of issues that Garrabants et.al [19] to find a criterion that has to develop,
emerge in the innovation gained by the association. This and became the basis for development needs that we set for
includes the utilization of new innovation. the development of the method, risk analysis were examined
Some risks need to be considered for participating of users in terms of our own experience. In identifying and
in the development process. Since, there are different layers exchanging different perceptions and opinions during the
of users, it’s required to check if it’s enough that high-level analysis and combination of risk analysis results and should
management and customers be involved in the development be shared with various stakeholders.We reframe some
process. After completion of software development process possible solutions for the software development
users give their feedback after releasing the software [16]. requirements during risk analysis presented in Table 1.
It’s important that the development team also has enough
business knowledge and has constant communication with
Table 1: Requirements For The Risk Analysis
Requirements Possible Solutions

Consistency Individual users should be similar to the methods applied in the same situation and the same result.

Usability Methods should be flexible to make it simple and easy to use.

Adaptability The method should be concrete and feasible in practice

Feasibility The method can be applied to different situations and projects

This method must be compatible with all aspects of operations and risk management in a software
Completeness
development project

Credibility The method will increase confidence in the validity of risk analysis results.

Validity Real facts and results are used for easy validation.

Communications Methods should be communicated about the risks

Cost-effectiveness The method must generate added value for the project within a reasonable cost and effort.

3.2 Principle For Understanding Risks depends on the situation or what the expectations of the
Risk is a relative concept and objectives depends on the objective are.
expectations and restrictions involved. Then risks are covered Risks, costs, deadlines, reputation, reliability and
according to the situation in positive consequences. However, functionality can affect the various objectives of the project.
the focus is generally on managing the negative effects of risk In such cases, all these modeling effects to discover the truth
analyzes. Identification and evaluation of effectiveness for risk analysis and should be addressed. Many risk

November-December
Sci.Int.(Lahore),29(6),1309-1314,2017 ISSN 1013-5316;CODEN: SINTE 8 1311
management approach cab be ignored due to expenses 3.3 Prioritization of Risks
limitations. Even when the objectives are defined and On the basis of scenarios prioritization of risks are necessary
expressed during the risk management activities of the project to find out the probability and possible loss in the specific
and the risks are the valuable interests of all stakeholders for risk. This process is slightly difficult as data may change in
prioritizing correctly. Understanding all the objectives related the agile distributed environment. For the calculation of
to stakeholders to be useful to take into account your utility loss it is very difficult due to multiple factors
preferences and document. consideration depends on the nature of the stakeholders
function in a particular project. These risks with estimation
problems are discuss in the table 2.

Table 2: The Risk Prioritization Process


Purpose Prioritize Scenarios
Description With respect to seriousness, for each scenario utility and probability can be prioritized.
Completed Risk Scenario OR As per new Scenario new risk can be defined OR incompatible information
Entry criteria
available but cannot compare with prioritization already exits.
Input Scenario based Risk

Output Risk scenario partially prioritized

Tools and Method Pareto Technique i.e Riskit

Task Liability Project manager

Resources Personnel for specific project

Criteria to Exit: Ranked the selected scenarios and access on available data.

3.4 Agile Distributed Software Development Risks completion of software development in local as well as in
These risks are specific for agile distributed software distributed agile environment. These risks are discussed in
development environment basis on our analytical study. table 3
These risks should be handled carefully for the successful
.
Table3: Risks in Agile Distributed Software Development Environment
Risk Domain Description of Risk in Agile Distributed Software Development
The practice meetings are to be held very rare because in distributed environment’s
project involves shortage of overlapping hours to work. Various techniques can be
Asynchronous/Communication Risk
used by project managers to guarantee synchronous communication using different
meeting practices.
For good and synchronous communication, good bandwidth in an agile
environment is required. Some of the agile projects are frequently slow and less
Poor Communication Bandwidth Risk reliable, also with low communication quality. Some alternatives, telephone, web
camera, video chat, video gathering, web gathering, mailing list sharing, electronic
mails, MMS, instances messages
In agile normally there are five to ten individuals. Consequently, utilizing Scrum for
a group of countless work forces (individuals) is thought to be a risk. It is
Project Personnel Size Risk
significantly more hazardous to utilize Scrum in an extensive group conveyed over
numerous destinations.
As the introduction of uncontrolled changes, which happen when the extent of the
task is not known and characterized. The degree creep issues in established life
Scope Creep
cycle undertakings is dealt with as missed necessities should be added to the
venture without influencing different prerequisites.
The time in Agile to have a discharge decreased to be couple of weeks this will
Schedules Risk diminish the risk since the difficulties confronted while creating a couple of weeks
discharge are unique in relation to the difficulties for a while and years item.
Agile diminishes clashes between the two gatherings and lessens this risk, on the
Friction Between Developers and Customers grounds that the connection in the middle of designers and clients that spry gives
will build the cohesion.`
Issues emerge from the innovation that utilized as a part of the conventional
Technology Risk activities might require long time to be anticipated. While deft tasks find the
innovation issues early and right them.

November-December
1312 ISSN 1013-5316;CODEN: SINTE 8 Sci.Int.(Lahore),29(6),1309-1314,2017
They are those risks that happen due the associations own shortcoming. It is
Organizational Risks exclusively the flaw of the association that the risk has happened since they worked
legitimately towards accomplishing a specific perspective.
They are those risks that are brought on because of variables outside of the
External Risks
association e.g. shortages of remotely supplied parts, unenforceable conditions.

3.5Tools For Data Collection situation and context may have changed and many risks, by
In our research, we used Questionnaire and interviews for definition, in the past to live an improbable probability
the collection of data. The survey in the study was events, which may be very few Data points to determine the
completed by 20 software companies of Pakistan. We probabilities.
interviewed employees of different organizations to gain 4.1Research Sample
knowledge about their objectives, and to evaluate associated In our study, 100 questionnaires were distributed for data
risks in distributed software development in Agile. Both collection to 20 software companies currently working on
face- to-faceand telephonic interviews were conducted. Each agile technologies in distributed locations. From those
lasted from 30 to 45 minutes. distributed questionnaires only 52 were filled and
4. RESULTS AND DISCUSSION reconceived. In those filled questionnaires only 192 records
There are three possible sources for estimating the likelihood are found and analyzed to find the risks in agile distributed
of risk. Statistical data based on historical data, subjective software development environment. These records are based
assumptions and theoretical analysis. Software is historical on 54 respondents working as team members in these
information rarely available in engineering and this selected software companies. All the details are shown in
possibility can rarely create a reliable basis to predict: table 4.

Table 4: Research Sample

Location of Companies Total no. of Participated Companies Respondents Total Records

Karachi 8 22 70
Lahore 6 14 50
Islamabad 4 12 40
Multan 2 6 32
Total 20 54 192

250

200

150 Total no. of Participated Companies


Respondents
100
Total Records

50

0
Karachi Lahore Islamabad Multan Total

Figure 1: Records for Risk Analysis


and software developers. Their response is for improving the
In our study, the response from different software
software quality after risk analysis in the development
development members is received in the form of survey in
process of software is shown in the table 5 belown
which the major respondents are senior software engineers
.Table 5: Improvements in Software Quality After Risk Analysis
Software Development Improvements After Risk Analysis in
No. of Respondents
Members Software Quality
Manager of Project 8 92
Senior Software Engineer 19 95
Software Developer 35 91
Quality Assurance Engineer 15 93
Project System Analyst 14 90

November-December
Sci.Int.(Lahore),29(6),1309-1314,2017 ISSN 1013-5316;CODEN: SINTE 8 1313

100
90
80
70
60
50 No. of Respondents
40
30 Improvements After Risk Analysis in Software
20 Quality
10
0
Manager of Senior Software Software Quality Project System
Project Engineer Developer Assurance Analyst
Engineer

Figure 2: Risk Analysis Results in Improvement of Software Quality


Our survey results shown that the software development In future studies, there may be systematically different
process quality can improve 90% if all the associated risks methods of software development and open; So the results
are analyzed during the development process in an agile will be forwarded to transparent and several stakeholders and
distributed environment. project stakeholders. Low cost new risk analysis methods that
can be used in software projects produce tangible results, and
5. CONCLUSION can also be used for future risk management.
In our research the survey is based on 20 Pakistani software
companies working on agile methodologies in distributed REFERENCES
environment. In our study we analysis different risks those 1. Dess, G. D., Shaw, J. D., (2001). Voluntary Turnover,
are specific for agile distributed software development Social capital and organizational performance, Academy
environment. Our study concluded that if these risks are of Management Review 26 (3), 446 – 456.
analyzed and handled carefully,then the successful 2. Boehm, Barry, and Richard Turner. "Management
completion of software development distributed agile challenges to implementing agile processes in
environment is very easy and it also helps to improve the traditional development organizations."Software,
quality of software.The main objectives of this research are to ieee 22.5 (2005): 30-39.
find out the areas and stages where software risks may arise 3. Siddique, Abu Buker, et al. “Integration of Requirement
and must be avoided for successful completion of a software Engineering with UML in Software Engineering
project. Critically study the nature of risks and its contents Practices” Sci.Int.(Lahore), 26(5), 2157-2162, 2014.
that may involve in distributed agile software development. 4. Phalnikar, Rashmi, V. S. Deshpande, and S. D. Joshi.
Our study helps in idea to make software developers "Applying agile principles for distributed software
understand the software risks and necessary practices of development." Advanced Computer Control, 2009.
distributing agile development. It also emphasis on more ICACC'09. International Conference on. IEEE, 2009.
effective risk analysis study and techniques need to be used in 5. Boehm, B. "Software Risk ManagementIEEE Computer
software projects to improve projects success rate. Society Press." Los Alamitos, CA (1989).
5.1Future Work 6. SIDDIQ, Shahida, et al. "Implementation Issues of
In this study, although the practical and feasible approach in Agile Methodologies in Pakistan Software Industry."
industrial projects, we have performed a qualitative risk International Journal of Natural and Engineering
analysis that eliminates many of the limitations of current Sciences 8.3 (2014): 43-47.
approaches. The risk analysis in the distributed environment 7. O'Toole, R.J.W. and O'Toole, E. F., (1966). Top
agile software company of Pakistan is presented in this Executive Involvement in the EDP Function. PMM and
survey. Co Management Controls (June), 125-127.
8. Baloch, Muhammad Perbat, et al. "Comparative Study 11. Brown, S.L., Eisenhardt, K.M., (1995). Product
Of Risk Management In Centralized And Distributed development: Past research, present findings and future
Software Development Environment." findings. Academy of Management Review Vol. 20, No.
Sci.Int.(Lahore),26(4),1523-1528, 2014. 2, pp. 343-378.
9. Bayer, J. and Muthig, D., (2006). A View-Based 12. Boehm, B. W., (1989). Risk Management Practices:
Approach for Improving Software Documentation The Six Basic Steps. Software Risk Management 115-
Practices. ecbs, 269-278. 13th Annual IEEE 147. IEEE Computer Society Press, Piscataway, NJ,
International Symposium and Workshop on Engineering USA
of Computer Based Systems (ECBS'06). 13. Schmidt, R., Lyytinen, K., Keil, M., & Cule, P. (1996).
10. Afaq Salman et al. “Software Risk Management In Identifying Software Project Risks: An International
Virtual Team Environment”. IJSTR 3 (12): 270-274, Delphi Study. Paper presented at the Proceedings of the
2014.
November-December
1314 ISSN 1013-5316;CODEN: SINTE 8 Sci.Int.(Lahore),29(6),1309-1314,2017
17th International Conference on Information Systems, Development Failure in Software Industry”. IJSTR 3
Cleveland, OH. (11): 120-124, 2014.
14. Thayer, R. H., Pyster, A., Wood, R. C., (1980). The 18. Pham, Andrew. Scrum in Action: Agile Software
Challenge of Software Engineering Project Project Management and Development. Cengage
Management. IEEE Computer (August) 13(8), 51-59. Learning, 2011.
15. Avison, D., (2003). Information systems development: 19. Garrabrants, W. M., Ellis III, A. W., Hoffman, L. J., &
methodologies, techniques and tools. Kamel, M. 1990, "CERTS: A Comparative Evaluation
16. Ahmad, Shabir, and Bilal Ehsan. "The Cloud Method for Risk Management Methods and Tools," in
Computing Security Secure User Authentication Proceedings of the Sixth Annual Computer Security
Technique (Multi Level Authentication)." IJSER 4(12): Applications Conference, IEEE Computer Society
2166-2171 (2013). Press, Los Alamitos, pp. 251-25.
17. Khan Kamran et al. “Evaluation of PMI’s Risk
Management Framework and Major Causes of Software

November-December

You might also like