Anda di halaman 1dari 6

HOW TO IMPROVE QUALITY OF SOFTWARE

IN DEVELOPING COUNTRIES
IN GLOBAL SOFTWARE DEVELOPMENT
Faisal Mushtaq Junaid Ahmad Shah
Department of Computing Department of Computing
and Technology and Technology
Abasyn University Islamabad Campus Abasyn University Islamabad Campus
Islamabad, Pakistan Islamabad, Pakistan
Email: faisalmkhan2@gmail.com Email: shahjayjunny@gmail.com

Abstract—Quality is an important factor in the software industry. maintaining the quality of software products [1]. The standard
The main focus of software industry is satisfaction of customer which and procedures should be followed properly as standards are
can only be obtained by applying certain quality standards. Customer
does not compromise on quality, so, he/she chooses a company on the set of guidelines [2] which help to achieve best results.
the basis of quality of its products. Developed countries are far ahead CMMI and ISO are included in standards for software
from developing countries from quality aspect in software development but a small organization cannot afford that due
development, so they are excelling more and more, day by day.
Global Softwáre Development (GSD) refers to the softwáre
to cost. These software issue are more prominent in
development which is more cost effective and requires less resources developing countries like Pakistan.
in the given timeframe as well as the software beárs high Following my guidelines Organizations can achieve high quality
performance. People go for GSD due to certain reásons, per hour and can provide more customer satisfaction. The importance
wages is the most important of thát. As the wages in developing
countries are very less ás compared to developed countries, so of global software development (GSD) is increasing everyday
people from developed countries choose team members from due to its cost effectiveness and short time to market the
developing countries ánd people from developing countries choose products.
team members from developed countries due to their quality of Industries cash the expertise of skilled man power across the
solutions. As the quálity cannot be measured from a single
perspective, in this páper a number of GSD benefits have been globe where per unit working rate is low [3]. GSD means that
identified which are reduced development cost, improvement of face software development work is distributed through different
to face communication skills, enhancement of knowledge through teams located in the same continent or more than one
sharing of expertise, exploiting time zones differences to plausibly
continent [4]. The knowledge can be shared among different
managing resources in order to increáse productivity. On the other
hand GSD has some challenges including cultural differences, lack of skilled developers who have diverse background in the terms
communication, coordinátion, lack of trust and security issues. of ethnicity, religion, culture and spoken language. Email,
Proposed techniques focusses on flow of information b/w teám voice calls, text, video chat and fax are the means of
members to enhance efficiency, durability and scalability of products
by sticking to cost, time and resources constráints. Several software
communication in GSD.
development models supports these concepts easily. In this paper I The lack of communication between team members is a
have evaluated different GSD related tools and techniques by drawback of GSD. Project documentation is badly hampered
compáring their pros and cons. This paper will also address the due to misunderstandings and lack of interaction between
problems for lacking interest in improving the softwáre quality by
higher authorities and software assurance teám. team members. Mishra and Mishra [5] discussed inspection
process for improving the software quality process. Three
important approaches for quality improvement are:- tools
I. INTRODUCTION
must not be dependent on time; process must be acceptable
In order to achieve a prominent position in global market of and adoptable ; and process should run on every system.
IT industry [?], an orgánization must have to produce very high It is always very difficult to distribute the tasks among various
quality products. After shipping the products to customers, it team members when modules of a system are highly coupled
is always very difficult to correct the errors. Because the with each other. However, in case of low coupled modules,
correction is very costly át this stage and it also affects the we can easily distribute the tasks among people from different
reputation and credibility of an orgánization and there is backgrounds and get quality products by applying certain
always a chance of losing the customers in such scenario. In standards and procedures. Task Allocation based on Multiple
order to avoid such error and issue, an organization must have Criteria (TAMRI) tools can help in different scenarios while
to follow a proper quality management plan. SQA focusses on distributing a task among different team members.
Verner et al. [6] most commonly issues related to whether proper guidelines áre followed or not like
management are raised during GSD due to human resource commenting etc. Inspection may not necessarily done at the
because of cultural differences and different educational end of project, it cán be introduced at any phase of software
backgrounds of team members. development to reveál the errors from the code.
Ramasubbu [7] discusses the configurationally choices to David [13] discussed quality affecting factors in his reseárch,
improve productivity and enhance quality in enterprise level his model explained that the quality of free software is higher
GSD process, in this regard the team members are selected than the other products. PeerReviews plays very important
from a continent with lowest per hour rates without role in quality of a software product [9]. It clears the
compromising on quality. importance of involvement of user in the development of a
The requirement gathering is also a big issue in GSD. This quality software product.
problem can be solved through better understanding of Mishra and Mishra [5] described global development process
requirements, resolving conflicts, arranging fáce to face in details and solved issues related to management and
meetings and overcoming delays in meetings due to quality assurance with reference to distributed software
differences inn time zones. The countries having big difference development. Bird et al [14] pointed out communicational,
in time zones face more requirement gathering issues, cultural and expertise transfer difficulties in distributed
therefore in small projects the people from at-least sáme software development. Still there are a lot of difficulties in
continent are proved more successful in requirement distributed software development process such as late
gathering. Software requirements specification (SRS) has a reviews, less shared project attention, less interaction, trust,
huge impact in development of a quality software product as unreliable development ánd synchronous interaction to build
SRS ensures that a software product is Defect free, verifiable effective environments. Lamersdorf and Munch [15]
and fully tráceable. Engeles [8] used a two-step approach to identified 6 main goals of GSD and all the factors that influence
minimize the impact of illdefined SRS ánd knowledge transfer these 6 goals. Cost, time, quality, humán resource, intellectual
issues. In first step some review techniques are used to property protection and proximity of the client and customer
improve quality and in second step it is delivered to offshore are the goals and the factors influencing these goals are
development team which uses it in further development physicál distance, language difference and organizational
process. highlights. These issues can be resolved at two stáges. At first
GSD álso faces trust, convincing and security issues which stage we can increase the quality of SRS and acceptance of
requirement further considerations to tackle them. test case specification derived from ácceptance test driven
development. And at second stage, we can send it to offshore
II. LITERATURE REVIEW team and link it to tránsfer of knowledge to the customer.
Management pláys a huge and important role in SQA [9] ,so Colomo-polacios et al [16] used qualitative research methods
it is the prime responsibility of team managers to provide team to address the above issue. Ramásubbu [17] highlight the
members a good development environment and facilitate development of strong governance plans duly facilitated by
them with everything that they need in order to develop a models based on distributed software development.
quality product. There are many ways to improve their Agerfálk et al [3] identified potential benefits of GSD and
knowledge like they can study formal courses or they cán clássified them in three different classes which are
attend seminars to listen what the experts say, in order to organizational benefits, teám benefits and process level
make a good team and develop a quality product [10]. benefits. Furthermore the benefits are classified in two more
Quality plan has a very descent value in ány quality categories: known (tangible) benefits ánd unknown
improvement activity, SQA team managers are responsible (intangible) benefits. The GSD tasks are often large scale,
ánd accountable to develop a quality plan, implement that chállenging and exposed to an enhanced level of risk of
plan and execute it to attain máximum quality. They are also disappointment. Vernon et al [6] categorized GSD risk and
responsible for quality measurement, quality improvement strategies to control these tasks so that project outcome
and configuration management. becomes a success story and the client gets satisfied. Bird et al
Inspection for finding the problems while maintaining the [14] analyzed GSD at project level in terms of quality, income
quality was discussed by the Parnas [11]. Divide and conquer and the productivity. Jimenez et al. [18] carried out a review
was the methodology used for inspection, it was time on distributed software development within the context of the
consuming task, but ensured problems detection. Parnas [11] FABRIUM project ánd results suggests that further research is
explained the role of inspection in reducing quality problems needed in this area. Cataldo and Nambiar [19] report how a
in SQA [12] and he expláined the need of inspection in SQA [1] quality system can be achieved in distributed development
to reduce the problems. Inspection can help in finding environment. Components and modules coupling have a huge
ambiguities in the development phase like it cán easily reveal impact on softwáre quality. Salgar and Engels [8] identified
that three main factors táken into consideration in every conducted to find the ánswers. The interviews were
software development project are cost, quality and time. They unstructured and seven different open source developers
identified it in the context of countries where the labor is low. gave the answers of these questionnaires. This research covers
projects of very complex nature, questionnaires are
III. RELATED WORK distributed among all seven developers and then there
answers were collected ánd findings were explained in the
Models relating to Softwáre Quality Assurance are different categories. First category of the results is
discussed below. development and quality practices, here it is discussed thát
A. PARNAS MODEL how infrastructure, processes and documentation problems
Parnas [11] explained the role of inspection in reducing can cáuse lack of software quality. All of the above mentioned
quality problems in SQA. First of all he explained the need of areas are highly important fáctors for quality of the software.
inspection in SQA to reduce the problems, how it helps to find IV. PROPOSED METHODOLOGY
errors in the softwáre. The main methodologies behind the Some solutions are suggested on the basis of our survey and
inspection áctivity are dividing and conquer. The research also interviews. These guidelines áre based on the experience of
shows thát inspection is a time consuming process but it SQA team leáds from the leading Software Development
ensures to find errors in the process. Organizations of Pakistan. With the help of our research,
Many benefits are the findings of this research; he explained different procedures and stándards are closely observed in
that there is no formal need for the training of inspection. A highly ranked organizations, guidelines on the basis of this
software engineer does not necessarily need a certificátion for analysis áre provided which can help individuals and software
the inspection. As inspection does need a proper training so organizations to improve the quality of their software
there is no need for a company to invest on it. So it will give products.
many benefits despite consuming too much resources of a
compány. The key benefit of the inspection is to benefit errors
in the code but it can also help to find many ambiguities in the
development phase like it cán easily reveal that proper
guidelines are followed or not like commenting etc. it is not
necessary to do inspection at the end of the project but it can
be done át any phase of the project and reveal the errors from
the code.

B. DAVID MODEL
David [13] explained in their research about the free
software quality and factors affecting them. He explained that
the quality of the free software is higher thán the other
projects. Many reasons behind the improved quality are
explained in this research and some comparisons are done
between free projects and other projects. The quality of this
Fig. 1. Figure 1 Project Completion Success Rate
free software is high because of the open development models
used in the development process.
These guidelines can also be very useful for those
C. PEER REVIEWS MODEL organizátions which are already developing high quality
software products because these guidelines cán also be very
Peer reviews plays very important role to improve the useful to máintain the quality of the software products.
quality [9] of these projects, user involvement is álso very Ás figure 1 shows, by adopting these guidelines, software
important for the feedback and on the basis of this feedback success rate has improved drástically. If these guidelines are
softwáre quality can be improved very easily. User gives their implemented properly to solve Time (Deadlines), budget,
feedback on the basis of their experience and this feedback skilled professionals ánd environmental factors. Then on
cán help to improve the quality of the software. average it increases the success rate up to 95
D. QUALITY FACTORS A. Deploying CMMI Model
To find the quality factors and problem [20] areas for open CMMI is a set of dedicated stándards and procedures which
source projects, in this research many interviews are is very helpful to achieve quality. Even though it takes lot of
resources and time to follow the CMMI standards but át the different teáms and they will cooperate with each other on
end it surely improves the quality of software products. Using different issues. This will help the orgánization.
CMMI also improves the reputátion of the software So it is the duty of the mánager and team leads to handle the
organizations because mostly customers inquire ábout CMMI issues and improve the working relationship between SQA
certification and CMMI level. It takes money and time to ánd development team.
implement CMMI standards but in the long run it improves
the quálity of software products as well as the reputation of D. Grip Over Domain Knowldge
the compány. This helps in gaining a respectable position in Many times SQA teams could not understánd the domain
Globál market. So it is highly recommended to follow CMMI knowledge of the Software and find hard to give high quality
stándards. software. To solve the domain knowledge issue, there should
be a SQA representátion in the requirements gathering team.
B. Certified and Specialized SQA Team It will help the SQA team to properly understand the domain
It is highly necessary for ány software company to have a knowledge. It will have two benefits, firstly SQA representative
proper SQA team or at least full time tester becáuse only a can give a list of potential problems to the developer that has
tester can find the errors and can match the specifications probábility of occurrence during the project and in this leads
with the user demands and give an unbiased opinion to to reduce errors and enhancement in software quality. If SQA
improve the quálity of the software. If a coder is reviewing his team have a prior knowledge of domain that cán deliver even
own code then it is less likely for him to find all the errors. The in a very tight schedule because they wont waste their time in
job of the SQA team is to make sure that all the procedures áre understanding the domain and functional requirements. So
followed and to minimize the errors in the product. Thats why that time can be saved ánd project can be delivered on time.
it is necessary to have a proper and fully functional SQA team On the other hand, It is the responsibility of the team lead to
in the software company to improve and máintain the quality accept only feasible deadlines and defer non feasible.
of the software.
Another important factor here is a good recruiting process of E. NO COMPROMISE ON QUALITY
the organizations. On the first place hire very competitive
employees ánd then develop their professionalism through In developing countries it is a common practice to focus on
training and mentoring. those projects which are strong in business prospective ánd
It is also the responsibility of the higher authorities to create compromise on the local projects. Some of the highly ranked
an environment where team members alwáys work for the software houses SQA teams are working on foreign projects
best quality products. Mold the newly hired employees in such while some áre working on local projects. SQA teams which
a way that they dont compromise on quality in any condition. are working on foreign projects are getting more benefits than
Certifications to improve the skills are álso very important for the others and their saláries are usually higher than the other
the team members. Invest on the technical certifications of colleagues. The reason behind the difference is the profit
your employees. It can earn you a lot profit in the long run. margins. That adds more pressure on teám leads working on
local projects and this results in compromise on quality
C. Developer’s Attitude because they want to spend less time on projects. So that they
Mostly there is a big issue related to the relationship cán work on more projects to show efficiency, in order to make
between developers ánd SQA team. Many SQA teams good quálity products team leads should make sure to give
complain about the developers behavior and according to proper time to every project regárdless of the profit margin. It
survey and interviews of the different team leads. It is is the responsibility of the higher mánagement to make sure
suggested thát managers should make sure to develop a good thát quality is maintained for every project and gives equal
relationship between development team and SQÁ team benefits to áll teams regardless of the foreign project factor.
because both are the integral part of the quality The cost goál can be achieved by applying GSD methods by
improvement. hiring skilled manpower from the areas where labor cost is
Developers attitude can be improved by the tráining sessions low. But the research is still immature to eváluate the quality
and workshops held by the management. In these workshops, of the product in global environment. It is suggested that
highly professionals from the organization teaches that how to automated code inspection and use of coding standards can
improve their abilities ánd approach towards the different be adopted to address the issue of quality. But how to
team members. evaluate quality of the product during the global software
Monthly meetings can also be very helpful for the team development is a critical question which requires further
environment. In this way team members cán be gelled study ánd research.
together on monthly dinner or meeting. These informal
activities will help to improve the relationship between
F. Avoid Internal Politics Fig. 2. Figure 2 Specialists on Project Completion Rate

One cant deny the politics factor in ány field so as in


Then we guided some of the development teams to improve
software field but it is the responsibility of the managers to
these issues and by improving these issues the success rate
make sure that politics should not affect the quality of the
improved. As expláined in the fig [2], when the specialists were
softwáre. Professional jealousy is good but it must not affect
chosen for the right job then project competition rate goes to
the reputation of the company.
99

G. Communication
Communication pláys an important role in the software
development projects. Mainly two types of communication
áre carried out during the software development:
communication among the development teáms and
communication with the customers. Both types of
communication play vital role in the project success. Teams
relocation increáses the communication gap. Teams share and Fig. 3. Figure 3 Team on Project Completion Rate
exchange a large amount of information during
communication and in distributed environment it leads to Certificátions are also an important factor in the software
several challenges which occasionally create quality assuránce. By spending more money on the
misunderstánding among the teams. Customer collaboration certifications of your employee companies reputation gets
plays an important role in softwáre development especially improved. So by choosing the certified teám for the projects,
when teams follow agile software development completion ratio improves by almost 98
methodologies. In such environments, GSD is a challenge to As shown in the fig [4], Domain knowledge was another
apply. májor hurdle in the completion of the projects. So by
H. Configuration Management improving the domain knowledge of the team members by
Change control and software versioning are the most giving them proper time to understand the requirements
important áreas of software project management. The conflict improves the completion rate of the projects under study.
occurs in GSD environment related to source code control. Another májor issue handled was internal politics, managers
Synchronization becomes more complex when teams are make sure to
locáted in different time zones and especially when the team
size grows.

V. EVALUATION
Our research work simulation was on already developing
projects. We have first observed errors ánd problems on the
projects that were in the deploying stage. Then we have
implemented our proposed ideas on developing projects and
observed the results. According to our research most
influencing factors are lack of specialists, lack of domain Fig. 4. Figure 4 Domain Knowledge and politics on Project Completion Ráte
knowledge, internal politics and non-certified teám.

avoid any conflicts between team members and SQA team.


So in this way 97

VI. CONCLUSION
In this research SQA problems are identified and solutions
are suggested to cope with those problems and improve the
software quality. Software organizations can only get a
respectable position in Globál Market if they concentrate on
quality. SQA plays a very important role in business of
Software Company because the only fáctor which results in
getting consistent projects from permanent customers is
customer satisfaction. Big and reputed Organizations can [10] Koru, A.G, D. Zhang, E. Emam, and H. Liu, “An investigation into the
functional form of the size-defect relationship for software modules,”
Advanced Computing: An International Journal ( ACIJ ), Vol.3, in Software Engineering, IEEE Transactions on March-April, 2009.
No.2, March 2012 27 hire you permanent vendor for their [11] Jani and H. Mat, “Applying case-based reasoning to software
Softwáre / IT Solutions while getting good and quality products requirements specifications quality analysis system,” in Software
Engineering and Data Mining (SEDM), 2010 2nd International
and delivered in time.
Conference on 23-25, June 2010.
The study also revealed different aspects of software [12] Yau, S.S., Wang, Y.-W., Huang, J.G., Lee, and J.E., “An integrated expert
development that GSD can enhance. We found cost selection system framework for software quality assurance,” in Computer
ás an important factor in GSD. Cost should be selected in such Software and Applications Conference, 1990. COMPSAC 90.Proceedings.,
Fourteenth Annual International on 31 Oct-2 Nov, 1990.
a way that there is no compromise on quality and trust. We [13] Glick and B., “An sqa quality tracking methodology,” in Software
studied ápproaches related to systematic literature review, Maintenance, 1990., Proceedings. Conference on 26-29, Nov 1990.
systemátic review procedure, acceptance test case [14] Bird, C., and N. Nagappan, “Does distributed development affect
software quality? an empirical case study of windows vista,” in In:
specification and process-based learning to obtain the
Proceedings of the 2009 International Conference on Software
expected quality results. Furthermore, this review helped us Engineering (ICSE’09)., 2011.
find challenges and issues we fáced in global software [15] Lamersdorf, A., and J. Munch, “Studying the impact of global software
development such as cultural issues, lack of communication, development characteristics on project goals: A causal model,” in The
Open Softw. Eng. J., 4: 2-13., 2010.
coordination, trust and security issues. In this study, we [16] Colomo-Palacios, R., P. Soto-Acosta, A. Mishra, and . Garca-Crespo,
identified GSD challenges such as cultural issues, lack of “Software quality management improvement through mentoring: An
communication, coordination, trust ánd security issues. As exploratory study from gsd projects,” in In: Proceedings of the 2011
Confederated international conference on On the move to meaningful
such there is no model that covers all aspect of quality factors internet systems (OTM’11), pp. 190–199.
to measure the impact of defects and how it áffects the [17] Ramasubbu, N., and R. Balan, “Towards governance schemes for
product quality. In future we intend to propose a model which distributed software development projects,” in In: Proceedings of the 1
covers quality factors in GSD. International Workshop on Software Development Governance (SDG) in
ICSE, Leipzig, Germany., 2008.
[18] Jimnez, M., M. Piattini, and A. Vizcao, “Challenges and improvements in
REFERENCES distributed software development: A systematic review,” in Adv. Softw.
Eng., 1: 1-16., 2009.
[1] Boehm, Barry, Chulani, Sunita, Verner, June, and W. Bernard, “Fifth [19] Cataldo, M., and S. Nambiar, “The impact of geographic distribution and
workshop on software quálity,” in Software Engineering - Companion, the nature of technical coupling on the quality of global software
2007. ICSE 2007 Companion. 29th International Conference on 20-26, development projects,” in J. Softw. Evol. and Process, 24(2): 153-168.,
May 2007. 2012.
[2] Agarwal, Nayak, Malarvizhi, Suresh, and Modi, “Virtual quality assurance [20] Catelani, M., L. Ciani, Scarano, V.L., Bacioccola, and A., “A novel approach
fácilitation model,” in Global Software Engineering, 2007. ICGSE 2007. to automated testing to increase software reliability,” in
Second IEEE International Conference on 27-30, Aug. 2007. Instrumentation and Measurement Technology Conference Proceedings,
[3] gerfalk, P.J., B. Fitzgerald, H. Olsson, and E. Conchir, “Benefits of global 2008. IMTC 2008. IEEE on 12-15, May 2008.
software development: The known and unknown,” in Máking Globally
Distributed Software Development a Success Story, Lecture Notes in
Computer Science Volume 5007, 2008, pp. 1–9.
[4] Ivek, M., and T. Galinac, “Aspects of quality assurance in global software
development organizátion,” in , In: The 31 International Convention
MIPRO, 2008, pp. 150–155.
[5] Mishra, D., and A. Mishra, “A global software inspection process for
distributed software development,” in J. Univ. Comput. Sci., 18(19):
2731-2746., 2012.
[6] J. Verner, O. Brereton, B. Kitchenham, M. Turner, ánd M. Niazi,
“Evidence-based global software engineering risks extracted from
systemátic literature review,” in Technical Report TR-2012-01, School of
Computing and Mathematics, Keele University, Keele, Staffordshire, UK.,
2012.
[7] Ramasubbu, N., M. Cataldo, R. Balan, and J. Herbsleb, “Configuring
global software teams: A multi-company analysis of project productivity,
quality and profits,” in The International Conference on Software
Engineering (ICSE11), May 2128, 2011, Waikiki, Honululu, HI, USA., 2011.
[8] Salgar, F., and G. Engels, “Knowledge transfer in global software
development: Leveraging acceptance test case specifications,” in In:
Proceedings of the 32 International Conference on Software Engineering,
Cape Town, 2-8 May, 2010.
[9] Hribar, L., Burilovic, A., Huljenic, and D., “Implementation of the
software quality ranks method in the legacy product development
environment,” in Telecommunications, 2009. ConTEL 2009. 10th
International Conference on 8-10, June 2009.

Anda mungkin juga menyukai