Software Engineering

p-ISSN: 2162-934X    e-ISSN: 2162-8408

2013;  3(1): 1-4

doi:10.5923/j.se.20130301.01

Performance Evaluation of Software Development Models

Muhammad Fahad Khan , Khurram Ashfaq Qazi , Khurram Ali Shah

Department of Software Engineering, University of Engineering and Technology Taxila, Pakistan

Correspondence to: Khurram Ashfaq Qazi , Department of Software Engineering, University of Engineering and Technology Taxila, Pakistan.

Email:

Copyright © 2012 Scientific & Academic Publishing. All Rights Reserved.

Abstract

Our daily life increasingly relies on automated applications. These applications provide us with rich services to support our everyday activities. For this reasons, applications are becoming important and has gained much attraction in engineering community. In recent years, in order to produce high quality software’s, many software development models have been constructed to predict which software model is likely to be most successful. Old methods of software development are used in developing countries especially in Pakistan. The usage of these obsolete methods results in low ROI and low investment from developed countries. These methods also lead to failure in the delivery of products in time. This research has exploded the Software Development methods followed in developing countries focusing Pakistan and causes of failure in Development. We have also exploded the reasons for Software Products failure in delivery due to non-development and suggested remedial measures for the possible improvements.

Keywords: ROI (Return on Investment), Remedial measures, Spiral Model, Scrum, Agile, Information Technology(IT)

Cite this paper: Muhammad Fahad Khan , Khurram Ashfaq Qazi , Khurram Ali Shah , Performance Evaluation of Software Development Models, Software Engineering, Vol. 3 No. 1, 2013, pp. 1-4. doi: 10.5923/j.se.20130301.01.

1. Introduction

In the past few decades, IT has been explosive growth. However, the field of IT itself is not mature as compared to other fields and disciplines. Software Development has become a standard and common practice of the industry. Many researchers have highlighted the latent benefits from reducing cost to improving quality. They have also highlighted the challenges faced in Software Development. This trend is more pronounced in developing countries where the IT industry is still in the stage of infancy and sufficient maturity level has not been achieved by most of the companies.
The IT companies in the developing countries especially in Pakistan are facing the challenges of extreme shortage of skilled and experienced Human Resources, Higher employer turnover and obsolete Developing Technologies. As a result IT industry is not capable of providing appropriate support to private and public sector organization. In Pakistan IT industry, Software Development Methodologies used are not up to dated with the modern world. This causes the delay in project development and delivery. There are many Software Development Models but with passage of time and customer requirements these models are changed and are still under this process.
The IT industry in developing countries uses different development methodologies and frameworks. These frameworks and methodologies lead them to successful and efficient and fast completion of softwares. The development models include Waterfall, Spiral, Iterative and Agile. The IT companies in developing countries especially in Pakistan also follow these models.
Now recently Agile / Scrum Model[1] are used in the Developing countries. However, in developing countries especially in Pakistan, this model is not completely implemented yet. As a result, the lack of investment from developed countries is observed in Pakistan. The focus of the research will on Scrum in developing countries especially in Pakistan. The purpose of this research is to implement the Scrum in Pakistan successfully and implementing the changes required by the Scrum[2] with respect to Pakistani culture and environment in IT industry.

2. Literature Review

In this paper, many issues relating to software development models[1] used for development are identified. These models guide about the smooth and successful completion of projects. So it’s the development team responsibility to follow the appropriate model to meet with the customer’s requirements[2]. The team managers are responsible for selecting the skilled team. The skilled team has the knowledge about the development framework to be followed and its complete implementation. The team manager should deploy full professional and skilled team. In developing countries especially in Pakistan most projects are developed and managed by the developer. So developer has to work as a project manager, developer and tester[4]. This makes the project tasks hectic for the developer[3]. The development models used in Pakistan are;
● Waterfall[1],[3]
● Spiral Model[4]
● Iterative Model[1],[2],[5]
● Agile[4],[5]
In Pakistan IT industry, failure in the Software Development Projects[1] is due to no implementation of proper development methodology. One of the reasons for the failure is that in IT industry obsolete development methods are used. In Pakistan IT industry no proper model is followed.

3. Critical Issues

A large number of Software Development models are used in the world[6]. Some of them are now obsolete and not used in the IT industry. Software development process consists of different logical phases. These phases have main focus to organize software development work. These processes result in the successful and efficient software product development with the required functionality within specific time span and budget. Only professionally skilled team can lead to this process through proper planning and management removing risks or reducing them to minimum. They have variety of options to deploy Software Development Model. For facilitating the software development process and increase the software productivity. Our research spans to 10 IT organizations. These organizations are categorized as Govt. IT Organizations, Telecom Companies, Software Consultant Organizations and Software Development Firms as shown in Figure 1. One out of Ten Organisations Ministry of IT(Information and Technology). Rest of nine were equally distributed 3 each of Category i-e 3 Software Houses, 3 Software Solution providers and 3 Telecom Firms.
Figure 1. Ratio of Information Technology Usage in the Industry
The interviews were taken by the specialist and professionals. Those who were interviewed were Software Project Managers, Software Developers and Testers. 25% of interviews have been Software Managers, 35% included Software testing team and rest of them 40% were Software Developers as illustrated in Figure 2. Twelve people have been interviewed. Four were Software Project Managers, 3 of them were from Software Testing team and 5 from Software development team.
The problems faced due to improper and obsolete models are;
● Late Software Deployment.
● Over Budget.
● Lack of Standard.
Due to these problems Software Industry is struggling in developing countries especially in Pakistan. The effected percentage of IT industry is shown in Figure 3.
Figure 2. Graph of Interviewers
Figure 3. Software Industry effected ratio due to development improper development models usage
Government IT relating departments while developing software's also doesn’t follow the proper development model. Due to this reason mostly they have to purchase software from third party companies.

3.1. Waterfall Method

Waterfall is the most widely used software development model[1]. The project development is divided into different phases. It doesn’t proceed unless all previous phases are completed. One of the advantages of Waterfall model is that no pending works lefts behind as new phase is started after completion of all previous phases. One of the flaws of waterfall method is that it only supports forward engineering. No reverse engineering can take place. There are lots of problem occurring while using the waterfall method. Most of them are high cost and huge effort. Changes highlighted by the observed and detected too much late. Waterfall model[3] is suitable and best for large projects where requirements are predefined and not changed. In Pakistan IT industry, teams mostly use waterfall method because they get complete requirements and avoid changing requirements during any phase of SDLC[4]. This is main reason they have less investment from foreign. If client changes requirement in any stage of development, the team has to rebuild whole project. Development team has to wait till previous phase’s completion, so there is also wastage of time in this model.

3.2. Spiral Model

The failing of waterfall method for some project due to limitations and restrictions insisted IT specialist to develop another model. Spiral model was introduced in SDLC[7]. Spiral model goes to software development process after getting minimum requirements. It has also different phases like waterfall model. In Pakistan it is used in some of IT organizations which are switching to adopt new technologies. They have proper software development and testing team. Using spiral model, they are able to add new functionality in any phase of SDLC according to client’s requirements. Just like waterfall model, Spiral model is also applicable to larges systems. This model is suitable for low risk projects. The risk assessment is costly in spiral model and requires expertise in risk evaluation. Risk management doesn’t meet budget allocated. It is complicated for projects with clear SRS. It has limited use.

3.3. Iterative Model

In developing countries changing requirements can be handled easily by the development teams. Iterative is also a development model. It is just like Spiral model. Project is divided into small modules and phases. Even this approach adoption allows the development team to get feedback during any phase of SDLC from clients, but Pakistani IT experts don’t use this approach. The reason is that project delay as each iteration proceeds likes a mini waterfall model[5].

3.4. Agile

Agile is latest software development methodology with respect to Pakistan Software industry[8]. But this methodology is becoming in obsolete in developed countries. Developed countries are moving to new development models. It is fast for software product development as well as deployment. The light and efficient model has also different phases. It also provides the feedback facility from client to development team[5].

4. Our Proposed Method

Scrum is a lightweight software development methodology. It is subsidiary of agile and used first time in 1993. Scrum is not only the development process but a framework and not treated as linear processes. In linear processes, the sequence of the development phase is must followed, but Scrum does not retain the sequence. The project can start with any activity and can undergo change in sequence. The proposed method is scrum with changes that were required by the IT industry in developing countries especially in Pakistan.

4.1. Scrum

Scrum is a framework as instead of proving complete detail of project development, most is left up to development team[9]. This is because; developers know how to cope with the problem. Methodologies are purely dependent on team because they know which approach is better for particular project. Scrum team is a self organizing. That is why; there is no overall team leader who decides which person will do specific task or how a problem will be solved. Issues are solved by team as whole. Rapidly changing requirements of client enforce the software industry to use some agile techniques to decide on run time which methodology they should adopt. In previous model team lead decides the roles and task which sometimes mismatches with the capabilities of member and lead to low level productivity.
Three projects have been developed by five different teams. Each team used different software development model. Project estimated completion time was of 5 days for each of the project. Each working day was of 8 working hours. Team using Scrum completed project in 4 days. Table 1 shows the description of time consumption with respect to development models.
Table 1. Time Consumption Comparison
Development ModelProject 1 Time ConsumptionProject 2 Time ConsumptionProject 3 Time Consumption
Waterfall5 days5 days5 days
Spiral4 days & 5 hrs4 days & 7 hrs4 days & 5 hrs
Iterative4 days & 4 hrs4 days & 3 hrs4 days & 4 hrs
Agile4 days & 2 hrs4 days & 1 hr4 days & 3 hrs
Scrum4 Days3 days & 4 hrs3 days & 7 hrs
The Scrum is not used in Pakistan Industry[1]. If it should be implemented in Pakistan IT Organizations, there is large amount of time saving as shown in Figure 4.
Figure 4. Comparison of Software Development model with Development time completion
This comparison is extracted from project development ratios observing these models. The projects are completed in 80% of total time allocated for project saving 20% of time and increasing cost without compromising with the quality of the product.
Early project completion leads to early product delivery[12]. This increases the ROI (Return on Investment) and Organization value in the IT Global market. The developed countries are using this model and making changes as per requirement with the passage of time. Other models depend on the project size. Some models are applicable to large project and have limitation on small projects and vice versa. The Scrum is best for both small and large projects. The implementation of Scrum in Pakistan IT industry encourages the foreign investment due to time effective completion and quality development.
When Scrum team completed projects, it has been observed that waterfall team developed 80% project, Spiral team 84% whereas Agile team 95%.
The Scrum adoption helps in early successful project completion. The success rate is high in Scrum as compare to other models as shown in Figure 5.
The graph indicates that Scrum usage lead to 99% of ahead of all other models. The early development in Scrum doesn’t affect the quality of product because in time developments give proper time to testing team for removing bugs and errors[10]. The Biggest advantage of Scrum is frequently deploying requirements with time saving[11]. There should be multiple Scrum Master so that more and more efficient requirements development could be made.
Figure 5. Software development Completion ration with respect to Software development model

5. Conclusions

In this research Different Software Development Models are discussed along with the problems faced by the IT expert team relating to these models. A Scrum Model is proposed for early adoption in Pakistan IT industry for success in IT Global Market. Software organizations can only get a respectable position in Global Market if they concentrate on quality and timely production. Software Development Models plays a very important role in business of Software Company because the only factor which results in getting consistent projects from permanent customers is customer satisfaction. Big and reputed Organizations can hire you permanent vendor for their Software / IT Solutions while getting good and quality products and delivered in time.

References

[1]  Akhtar, M.J. Ahsan, A. Sadiq, W.Z. “Scrum adoption, acceptance and implementation (a case study of barriers in Pakistan's IT industry and mandatory improvements)” Industrial Engineering and Engineering Management (IE&EM), 2010 IEEE 17The International Conference on 2010
[2]  Yu Gao “Research on the rule of evolution of software development process model” The 2nd IEEE International Conference on 16-18 April 2010
[3]  Shenoy, Sanath. S. Eeratta, Raghavendra “Green software development model: An approach towards sustainable software development” India Conference (INDICON), 2011 Annual IEEE 16-18 Dec. 2011
[4]  Kusumasari, T.F. Supriana, I. Surendro, K. Sastramihardja, H. “Collaboration model of software development” Electrical Engineering and Informatics (ICEEI), 2011 International Conference on 17-19 July 2011
[5]  Attarzadeh, I.; Siew Hock Ow “A novel soft computing model to increase the accuracy of software development cost estimation” Computer and Automation Engineering (ICCAE), 2010 The 2nd International Conference on 26-28 Feb. 2010
[6]  Yu Wang Xianguo Tuo Taifei Zhao “A concrete model of software risk development” Computer Science and Information Technology (ICCSIT), 2010 3rd IEEE International Conference on 9-11 July 2010
[7]  Xie Lin Pan Wei “Best practices for Scrum agile software development in the student projects” Information Science and Engineering (ICISE), 2010 2nd International Conference on 4-6 Dec. 2010
[8]  Ramanujam, R. Lee, I. “Collaborative and competitive strategies for agile scrum development” Networked Computing and Advanced Information Management (NCM), 2011 7th International Conference on 21-23 June 2011
[9]  Hu Guang-yong Nanjing “Study and practice of import Scrum agile software development” Communication Software and Networks (ICCSN), 2011 IEEE 3rd International Conference on 27-29 May 2011
[10]  Del Nuevo, E. Piattini, M. Pino, F.J. Alarcos “Scrum-based Methodology for Distributed Software Development” Global Software Engineering (ICGSE), 2011 6th IEEE International Conference on 15-18 Aug. 2011
[11]  Shawky, D.M. Ali, A.F. “A practical measure for the agility of software development processes” Computer Technology and Development (ICCTD), 2010 2nd International Conference on 2-4 Nov. 2010
[12]  Balasubramaniam, D. Morrison, R. Greenwood, R.M. Warboys, B. “Flexible Software Development: From Software Architecture to Process” Software Architecture, 2007. WICSA '07. The Working IEEE/IFIP Conference on 6-9 Jan. 2007.