Sei sulla pagina 1di 7

A Hybrid Model by Integrating Agile Practices for

Pakistani Software Industry


Saadia Sultana, Yasir Hafeez Motla, Sohail Asghar, Muhammad Jamal, Romana Azad
University Institute of Information Technology, PMAS. Arid Agriculture University, Rawalpindi, Pakistan
diya_noor@hotmail.com, yasir@uaar.edu.pk, sohail.asghar@uaar.edu.pk, Jaamaal@hotmail.com, roma_azad@yahoo.com

Abstract—CONTEXT –The software industry can be widely seen about the extent and causes of IT project failure in Pakistan.
as a key driver for business improvement and is likely to provide According to the research, the three main reasons of public
an opportunity to the countries to make dramatic improvements sector IT projects failures are: poor project management and
in economic growth. Software industry of Pakistan can also play risk management, software engineering practices and
a major role in strengthening the sluggish economy. A well- governance and funding issues [2]. However there is still a
organized suitable framework according to the industry needs
need to explore this area and to provide a well-structured and
helps to engineer quality products within budget and time.
OBJECTIVE – To identify significant issues present in Pakistani organized framework to develop quality software.
software industry that are considered as barriers in achieving the Agile methods are a popular alternative in Global
international standards of development and to propose suitable Software Industry to resolve problems of project management
framework by integrating agile practices to resolve various and software engineering practices [3]. These methodologies
management, quality and engineering issues. are based on incremental development and focus on the value
METHOD –Literature is consulted to highlight various issues of of individuals, customer involvement, and quick adaptation to
Pakistani Software industry, some existing hybrid models are their new requirements, rapid releases and early feedback to
investigated to evaluate their strengths and weaknesses and build quality software in quick time [4] [5]. According to the
finally a case study & expert review is presented to validate the
survey conducted by VersionOne [6] from all over the world,
effectiveness of our proposed hybrid model.
RESULTS –The proposed hybrid model provides effective more than 80% of the respondent said that their organizations
management, engineering, quality assurance, productivity and have adopted agile development practices within their
maintenance practices to develop quality products which can software organizations and most of the respondents said that
help the industry to compete and achieve the standards of global none of their agile projects failed. The agile methodology for
software industry. software development is a relatively new approach in the
CONCLUSION –The proposed framework contains features of Pakistani software industry as compared to the global software
Scrum which provides good management practices, XP which industry [3]. According to the survey, Scrum is the most
offers engineering practices and DSDM which focuses on popular methodology used in Pakistan for software
providing solid basis to initiate a project. Additional role of
development and surprisingly extreme programming (XP)
technical writer for effective documentation also enhances the
understand-ability and maintenance of the software. usage which provides best engineering practices is not very
visible [7].
The objective of this research paper is to highlight the
Keywords: Agile, XP, Scrum, DSDM
main problems present in the software industry of Pakistan
and then to suggest appropriate hybrid model that provides
I. INTRODUCTION effective management, engineering, quality assurance,
Today we are living in a world of Information Technology productivity and maintenance practices for software
(IT) which is changing every aspect of human life. Many development to compete with the global software industry.
nations have identified their areas of comparative advantage The paper is organized as follows: Section 1 provides
and developed policies and guidelines that have enabled them introduction. Section 2 presents a literature review and
to derive maximum benefits from those areas. One of the most analysis of agile practices which can be useful for effective
significant and compelling areas of IT is software software development. Section 3 proposes a hybrid model
development industry which has the potential to increase the according to the demands of the software industry in Pakistan.
growth rate of the economy and can make a valuable Section 4 covers core practices of the hybrid model. Section 5
contribution in the economic development of any country. We presents industry feedback through a case study and expert
can emulate India’s success in software as an example. In the review. At the end, Section 6 sums up the work and suggests
taxonomy of software exporting nations, India is currently the future work.
viewed as a tier-1 country, earning more than billions in
exports whereas Pakistan is currently viewed as a tier-3 II. RELATED WORK
country —having export earning in millions[1]. In the past Software Industry of Pakistan is still in a nascent stage as
decade, IT has seen explosive growth; however the software compared to the global software industry. Despite recession,
industry is quite young in Pakistan. Most of software projects the industry has grown during the past decade and its progress
fail either totally or partially. Some research has been done is visible. The growth can be improved by analysing problems

978-1-4799-3469-0/14/$31.00 ©2014 IEEE 256


and failure factors of the industry. According to the research simple design and system metaphor for shared understanding
and literature, issues related to organizational culture & and sustainable pace (40 hour weeks) benefit the
understanding, quality management, leadership, training & programmers.
development, project management and motivation are of
Scrum is a light SDLC methodology which builds
highest priority [8]. This context shows that there is the need
software iteratively and incrementally. The project is divided
of a well- organized framework that can resolve the main
into a series of consecutive sprints. It provides flexible
issues from industry effectively. To deal with the above
development strategy where team works together to develop
mentioned problems, agile methodologies can be very
the quality product and to deal with unpredictable challenges.
effective [9]. Since each agile method has its own strengths
It is most suitable for the projects where customer’s needs
and weaknesses, many researchers have proposed hybrid
cannot be easily defined up front [16].
models by integrating the strengths of different agile methods
and by suppressing their weaknesses. We have consulted the The Dynamic Systems Development Method (DSDM) is
literature to figure out a model which is enriched with project a framework used to control software development projects
management, engineering, quality and maintenance practices. with short timelines. This process begins with a unique feature
However, we could not find out a model containing all the “feasibility study” to assess the suitability of the model and
particularities mentioned above. the remaining process consists of functional model iteration,
design and builds iteration, and implementation. In this model,
The model presented in [10] provides the skeleton and
requirements can be changed based upon a time-boxed
structured approach along with engineering practices for
approach and fixed project resources. Clear prioritization of
effective software development but the proposed model is not
functional requirements is very important for successful
validated by conducting any case study to evaluate its
development. It supports documentation which is very
potential. The proposed hybrid model in [11] contains
effective to understand and maintain the software [17].
strengths of scrum and RUP by providing management and
project initiation activities. Major artefacts are also defined but Scrum, XP and DSDM have a complementary set of
software engineering practices are not explained. Novel values and practices that are intended to meet the same kinds
Hybrid Model [12] has the full flavour of software of goals. From the above literature, we can conclude that
management and engineering practices that can be effective
scrum helps to increase the productivity of the team, XP
during sprint development life. Project initiation activities are
not defined in this paper. Authors only focused on sprint practices improve quality of the code and DSDM enhances the
development phases and practices. Documentation process is productivity and maintenance of the project. Considering
also neglected. Model presented in [13] contains good features Scrum, XP, and DSDM together provides a good place to
of management and engineering practices which can be develop a project with technical excellence and engineering
effective for small, medium and large size projects. Since RUP practices.
emphasises on documentation but it has remained silent TABLE 1 LIMITATIONS OF XP, SCRUM AND DSDM
throughout the process which is very important feature for
productivity and maintenance of the system. The proposed XP Scrum DSDM
framework is only validated on a small scale projects.
IXPRUM model [14] presents concepts of scrum and XP XP is too light It mainly focuses on It requires
clearly through literature but the proposed model is very on software project management highly skilled
abstract. From the above analysis we can conclude that we management practices, other staff to carry
need to propose a model which provides effective practices. disciplines are out of out successful
management, engineering, quality assurance, productivity and scope. software
maintenance practices. For this purpose we have selected three development.
agile methods: Extreme Programming, Scrum and Dynamic It does not It does not specify Programming
Software Development System. Again the literature is provide software technical practices. techniques and
consulted to highlight strengths and weaknesses of these development life practices are not
methods. cycle coverage fully defined in
so it is not useful DSDM.
Extreme programming is a lightweight software for larger
development methodology that focuses to improve software projects.
quality and embrace change. It is based on five values: XP creates Supports only basic Defines several
Communication, Simplicity, Feedback, Courage and Respect. minimal design documentation. documents at
It comprises 12 practices [15]. Pair programming, planning and user individual
game, test driven approach and whole team aims to provide documentation. phase which
fine scale feedback. Continuous process contains three XP lead to heavy
practices: continuous integration, design improvement and documentation.
small release. Coding standards, collective code ownership,

978-1-4799-3469-0/14/$31.00 ©2014 IEEE 257


III. DESCRIPTION OF THE PROPOSED HYBRIID MODEL

Figure1. Proposed Hybrid Model

A. Project Initiation
added into the requiremennt list. It also produces Business
1) Business Case Study provides the description
d of the Area Definition to providde insight into the company’s
business problem, identification of altternative solutions business processes as well as the users who will be
with their cost and benefits, and then reecommends a most affected by the implementtation of this system and specify
preferable solution to sponsors. The arteefact of this phase the non-functional requireements. A System Architecture
is business case document which helps to t gain approval of Definition along with devvelopment plan is also produced
funds needed to get started the project. to explain initial architectuure of the proposed system. On
2) Feasibility Study provides an opporrtunity to decide the basis of above doccumentation, requirements are
whether a candidate project is likelyy to be workable prioritized according to thee MoSCoW technique [15].
from a business and technical perspeective. High level 4) In this phase, a review is conducted to check where the
investigation is done to determine pootential solutions, team has met the so far obbjectives set for the project and
time and budget of the project. It prodduces a feasibility to measure the produced deliverables. Technical writer
report that addresses the feasibility of the
t project. It also completes the Project Reeview document which allows
provides an outline plan that includes development plan procession to the “planningg phase”.
and risk log. Workshop is the most valuuable technique for
this phase. B. Product Backlog Planning
3) Project Charter refines the plans executed in previous 1) Product backlog contains prioritized list of user stories,
stage and outlines the vision, objectivee and scope of the containing brief descriptioons of all required functionality
project. Again workshop is conducteed in which the in the product. Initially, user
u stories are estimated by the
different stakeholders discuss the reqquirements of the team to measure the degree d of required effort to
proposed project and the newly collectedd information is

978-1-4799-3469-0/14/$31.00 ©2014 IEEE 258


implement a particular story. It gives the product owner code refactoring and continuous integration. Coding
and the team a clue of a particular story’s cost and in turn, standards must be followed for better readability,
this clue helps the product owner to prioritize the use maintainability and compatibility. Collective code
stories. ownership ensures that every team member can make
2) During a product backlog grooming meeting, the product changes to file, either to complete the task defined in
owner presents new and changed stories. He also delivers sprint backlog or to fix a defect or even to improve the
his plan for the next few sprints. For estimation, analysis programming reduces the defect rate [15] and provides
and prioritization of new stories, the team can take some faster solutions to the problems. Code refactoring refers
extra time during this meeting to review the current to changing the internal structure of the program without
architecture of the system and to plan and design influencing external behavior in order to reduce
upcoming requirements. During this process, estimates complexity of the source code and improves readability.
are often changed, and new large-sized stories are 4) In sprint testing, the smallest unit of source code is
decomposed into smaller ones. At the end of each tested to ensure that module is fit for use. Module which
meeting, the product owner is responsible for publishing passes the unit test is considered successful and
the changes to keep product backlog updated. integrated with the existing code. Integration testing is
done to expose defects in the interfaces and interaction
between integrated modules before moving to sprint
C. Sprint Development Life Cycle
review phase.
This phase consists of four sub-parts: sprint planning,
D. Sprint Review & Retrospectives
sprint design, sprint implementation and sprint testing.
During sprint development, stand-up meeting is held daily 1) On completion of a sprint, sprint review meeting is held.
to provide status of previous day tasks, current tasks to be This takes place at the beginning of this phase where team
developed and obstacles that are impeding progress. It is shows accomplished tasks. In this meeting, the team
time boxed to 5-15 minutes daily and sprint master is meets with the product owner, customers and stakeholders
responsible to set up this meeting. To show the remaining to incorporate feedback and also to identify new
work and progress of the sprint, sprint burn down chart is requirements. Incomplete stories will remain in product
displayed publically. Technical writer must be present to backlog and new requirements will be added in the
document all the necessary information throughout the product backlog. On the last day of sprint, the team
Sprint Development Life Cycle. attends a sprint retrospectives meeting to review their own
work in order to make improvements and to review the
priorities of the product backlog. Team summarizes
1) Sprint Backlog Planning meeting is held to select user
concrete suggestions about what can be done better in the
stories from product backlog and then the team identifies
next sprint.
the list of tasks required to complete each user story. The
team also estimates how many hours will require E. System Testing
fulfilling each task. For estimation, Scrum Poker
technique is used. Initially selected story is discussed 1) After complete development, testing is done on complete
and after a period of discussion, each team member pick and integrated system, to evaluate the specified
outs from his own deck the numbered card to represent requirements of the system. Designing and writing test
his estimate of how much work is involved in the story cases require only application knowledge rather than
under discussion. Units for estimation may vary. Days or programming knowledge as it checks that system works
hours may be required to complete the task. Team correctly from the user point of view.
members possessing maximum and minimum estimates F. Final Release
explain the reasons for their estimate and then discussion
1) Finally, the system along with documentation is delivered
continues until a consensus is reached. It is owned by
to the users for the final acceptance testing.
team and team is responsible to update backlog as new
information becomes available. IV. PRACTICES OF THE PROPOSED MODEL
2) In design phase, class diagram, object diagram and test
The proposed hybrid model provides all core practices that
classes are designed. Test driven approach will be
must be followed to develop quality software. These practices
followed. Unit test are designed before coding. It is very
are divided into four categories: management practices,
important for the developer to understand the feature’s
engineering practices, testing and quality assurance practices
requirements to write a test. Use cases and user stories
are available to the developers to cover the requirements and productivity & maintenance practices. All practices are
and exception conditions. This practice can lead to more adopted form agile methodologies except productivity and
maintenance practices. Since agile methodologies emphasise
modularized, adaptable, and extensible code.
on working piece of software rather than comprehensive
3) Coding is the most important phase of the sprint
documentation, importance of documentation cannot be
development cycle. It follows core practices of XP like
coding standards, code ownership, pair programming,

978-1-4799-3469-0/14/$31.00 ©2014 IEEE 259


denied. Documentation is effective to understand and maintain V. EVALUATION
the software. Our proposed model suggests a role of a A. Control Experiment
technical writer to produce important artefacts to increase To validate and evaluate the proposed hybrid model,
development efficiency, quality and maintenance support. a controlled case study was conducted. For this purpose,
two teams (Team A, Team B) were selected. In each
team, eight members was selected and divided into
designers, developers and testers. Team A followed the
proposed hybrid model while team B followed the
simple scrum process. The duration of the case study
was six weeks and four iterations were produced. The
first and second iteration was of two weeks. Team A
assigned each task to two person i.e an experienced
programmer and an amateur. This technique helped the
newly hired programmer to learn and gain experience of
professional development. The rest of the two iterations
were of one week and each programmer of team A
performed the task individually. Initially, both teams
conducted a training program to introduce themes and
concepts of the agile practices and proposed models to
both the development teams. The training involves the
introduction of agile principles & values, project
initiation activities, introduction to main artefacts to be
developed, product & sprint backlog planning, daily
stand-up meeting, sprint review meeting, and sprint
retrospective. The projects assigned to team A was SIFT
Features Matching while team B was given MOSAIC
Image. Complexity level and nature of the projects were
almost same. Both teams were well balanced according
to experience, domain and language expertise. Software
used for development and documentation were
MyEclipse, JUnit, UMLet and MS Office 2010.

Figure 2 Practices of the Proposed Hybrid Model

TABLE 2 DATA COLLECTED FROM BOTH TEAMS

Parameters Team A Team B


Iterations Total Iterations Total

1 2 3 4 1 2 3 4
Sprint Duration in Week 2 2 1 1 6 2 2 1 1 6
Modules 10 6 4 3 23 8 6 4 4 22
Tasks 50 25 21 19 115 48 25 19 21 113
Classes 60 18 15 9 102 50 27 18 22 117
Test Classes 20 8 7 5 40 24 12 8 11 55
Pre Release Defect 6 3 1 2 12 8 4 5 3 20
Post Release Defects 6 3 2 2 13 7 5 5 6 23
Pair Programming Yes No No No - No No No No -
Refactoring Yes Yes Yes Yes - No No No No -
Customer Satisfaction 75 % 80% 80% 85% 80 % 70 % 70% 75% 75% 72.5%
Maintenance Support 80% 80% 80% 80% 80% 45% 45% 45% 45% 45%
(Documentation)

978-1-4799-3469-0/14/$31.00 ©2014 IEEE 260


Figure 3 Comparing results in contexxt of pre and post defects rate, maintenance support annd customer satisfaction

The data collected from the case study s and above


comparison reveals that our proposed hybridd model is suitable TABLE 4 EVALUA
ATION OF EXPERTS OPNION
for industry to develop quality software within
w budget and
time.

B. Expert Reviews
We have also collected expert review ws to validate the
proposed model. We visited a medium sizze software house
and conduct an interview of 6 experts. We took t their reviews
about our proposed work for the software development. We
designed a questionnaire about the parameteers to be evaluated
and circulated it to the different experts. Ressponses are shown
in table 3.
6
TABLE 3 EXPERT OPINION Agreed
4
2
0 Partially
Agreed
Disagreed

Figure 4 Groups
G Opinion Graph

According to the expert our proposed hybrid model


provides a good approach for the software development and
some experts also suggested that proposed model can be
improved by adding new practiices.

978-1-4799-3469-0/14/$31.00 ©2014 IEEE 261


[5]. A. Batool, Y. Hafeez, B. Hamid,S. Asghar, M. Riaz, M. Mukhtar and M.
VI. CONCLUSION Ahmed, ” Comparative Study of Traditional Requirement Engineering
Software industry can play a vital role in the economic and Agile Requirement Engineering” The 15th International Conference
on Advanced Communications Technology (ICACT 2013) Jan 27 – 30,
development of Pakistan as demonstrated by countries like 2013, Phoenix Park, Pyeong Chang, Korea.
India, Canada etc. These countries have adopted aggressive [6]. Versionone, “State of agile survey,”
investment strategies for growth. To compete with global http://www.versionone.com/pdf/2011_State_of_Agile_Development_S
software industry, it is important for the industry to define urvey_Results.pdf
[7]. M. A. Ali,” Survey on the State of Agile Practices Implementation in
clear direction, strategies, software processes and research Pakistan”, International Journal of Information and Communication
projects. Technology Research, Vol. 2, No. 5, May 2012.
The purpose of this research was to suggest a suitable [8]. A. Ahsan,” Organization Development for Revitalization of Information
framework to Pakistani software industry to resolves issues of Technology Sector of Pakistan”, Organization Development for
Revitalization of Information Technology Sector of Pakistan,
software engineering and management. The proposed http://eprints.hec.gov.pk/7022/1/782S.html.
framework contains features of DSDM, XP and scrum which [9]. M. Mukhtar, Y. Hafeez, M. Riaz, M.A. Khan, M. Ahmed,M., M. A.
provide blended mixture of engineering, management, Abbas, H. Naz and A. Batool.“A Hybrid Model for Agile Practices
maintenance and productivity practices. Since agile Using Case Based Reasoning” IEEE 4th International Conference on
Software Engineering and Service Science (ICSESS2013) May 23-25,
methodologies focus on working software rather than 2013, Beijing, China.
comprehensive documentation, our research also recommends [10]. M. S. Bashir and M. R. J. Qureshi, “Hybrid Software Development
a technical writer role for ensuring the documentation is done Approach For Small To Medium Scale Projects: Rup, Xp & Scrum”,
properly to enhance the understand-ability and maintenance of Sci. Int. (Lahore), 24(4),381-384, 2012.
[11]. J. Cho, “A Hybrid Software Development Method For Large-Scale
the software. The results of the case study ensure that Projects: Rational Unified Process With Scrum”, Issues in Information
proposed framework will be more likely to deliver benefits to Systems, Vol. X, No. 2, 2009.
the business and most importantly to the user as well. [12]. Z. Mushtaq and M. R. J. Qureshi, “Novel Hybrid Model: Integrating
We believe that the adoption of this framework will help Scrum and XP,” I.J. Information Technology and Computer Science,
2012, 6, 39-44.
the Pakistani software industry to enhance the productivity of [13]. S. U. Nisa and M. R. J. Qureshi, “Empirical Estimation of
a team and to develop quality products. Future research will Hybrid Model: A Controlled Case Study,” I.J. Information Technology
apply principles of DiCot methodology with proposed and Computer Science, Vol. 4, No. 8, 2012, pp. 43-50.
framework to resolve cultural issues and communication gaps doi:10.5815/ijitcs.2012.08.05.
[14] A. Ullah, G. Rasool and R. J. Qureshi, “IXPRUM—A Novel Agile
within software development teams. Model for Software Development,” AWER Procedia Information
Technology and Computer Science, Vol. 1, No. 1, 2012, pp. 1314-1320.
REFERENCES [15] M. Javed, B. Ahmad, S. Hussain and S. Ahmad, “Mapping The Best
[1]. E. Carmel,” Taxonomy of New Exporting Nation,” Electronic Journal Practices of XP and Project Management: Well defined approach for
on Information System in Developing Countries, 2003, 2, 1-6. Project Manager”, Journal of Computing, Vol. 2, No. 3, March 2010,
[2]. J. Ashraf, N. S Khattak, M. Zaidi, “Why do public sector IT projects ISSN 2151-9617.
fail“, IEEE The 7th International Conference on "Informatics and [16] K. Schwaber, "Agile Project Management with Scrum", Microsoft
Systems (INFOS), 2010, pp.1,6, 28-30 March 2010. Press, Redmond, W A, 2004.
[3]. M. J. Akhtar, A. Ahsan, W. Z. Sadiq, ”Scrum Adoption, Acceptance [17] J. Stapleton, “DSDM Business focus development”, Addison Wesley,
and Implementation (A Case Study of Barriers in Pakistan's IT 2nd Edition, 2003.
Industry and Mandatory Improvements)”, Industrial Engineering and
Engineering Management (IE&EM), 2010 IEEE 17Th International
Conference,2010,pp. 458-461.
[4]. Pressman R. S. Software Engineering. McGraw Hill, USA, 2010.

978-1-4799-3469-0/14/$31.00 ©2014 IEEE 262

Potrebbero piacerti anche