1.1. Agile Methodology
The software development business nowadays is characterized by instability, as consumer requirements are rapidly changing and evolving continuously all the time. Software developers, therefore, on one hand, face the challenge of reducing the time to market their products, and on the other hand, delivering functional and creative products that customers would find useful and love to use. To achieve this goal new Software Development Methodologies focused on rapid development were introduced. For this very same purpose, the use of incremental software development was extended in the late 1990s.
Back in 2001, Agile Software Development (ASD) [
1] was officially introduced to the community of software engineers through a set of four core values and twelve principles outlined in the “Agile Manifesto”. The Agile manifesto comprises values and principles that help improve the Software Engineering and Development process and also have a strong influence on the development team coordination [
1]. The Agile movement describes a culture that welcomes changes and focuses on the client’s requirements. Agility, or the ability to respond rapidly to dynamic requirements is a hallmark of ASD [
1]. Agile methodologies focus primarily on communication and interaction with the project team members and require the project manager to be involved in project planning, implementation, and tracking. Traditional software engineering lacks the flexibility to handle changes within a project that are often needed. Agile software engineering on the contrary encourages change and therefore attracts customers with the participation of stakeholders and the development team focused on incremental and gradual growth [
1]. Agile projects offer regular, usually weekly, or bi-weekly software delivery as shown in
Figure 1, prioritizing the highest value specification first. Software development companies use Agile techniques not only just to help them compete, but to gain a competitive advantage. Agile processes are extremely flexible, iterative, and focused on fast and consistent software delivery. Unlike other techniques, Agile methods rely on feedback to ensure greater customer satisfaction and to use it as a control mechanism.
U.S. organizations wasted USD 30 billion on unused software in just four years [
2]. In late 2020, Boston Consulting Group estimated that 70% of digital transformation projects didn’t meet desired outcomes in the U.S [
3]. According to the research of the Consortium for Information & Software Quality unsuccessful IT/software projects in the U.S accounts for USD 260 billion in 2020 (up from USD 177.5 billion in 2018) [
4].
ASD aims to provide solutions to the problems faced by traditional software development approaches. Some of these promises include time and cost reduction, superior quality software, excellent code construction, and customer satisfaction. It, therefore, aims at producing market value in short iterations [
5].
Researchers have been working on improving software development methodologies for the last three decades and it has been established that the ASD methodology is a central, decisive, and dominant methodology for the success of software projects [
6]. Agile innovation has reshaped information technology and has dramatically increased the success rates of software development projects over the past 25 to 30 years. ASD has enhanced software quality, the pace to market it, and strengthened the development team’s morale and productivity. Effective ASD methodologies are now expanding through a variety of industries and functions, which include new concepts, principles, procedures, and benefits that are a revolutionary alternative to control style management [
7]. A strategy for managing the high complexity of software developmental processes was developed in 1975, based on iterative improvement, which has now become an essential feature of Agile methodologies.
As the computing world is being revolutionized by the resurgence of Artificial Intelligence and Neural Networks, systems engineering techniques, project evaluation, supporting documentation, as well as other associated services, it has been discovered by many software development companies that in the growth of mainstream software, the human side of software engineering has been compromised [
8]. Agile methods split a procedure into short-length iterations with about the same duration and size, making iterations much simpler and reacting to changes much faster. ASD methodologies cover project risk rates and adapt better to market changes. Measurable evaluations are also necessary if ASD projects are to be effective [
9]. The Agile methods of development include approaches such as Scrum, Extreme Programming, Featured Driven Design Model, and Crystal Model. They entirely work on the framework given by the Agile manifesto [
9].
1.2. Person’s Job Fit
In a software development project, every team member is the heart of the project but it is principally important when the ASD methodology is used. Person-job fit is defined as the fit between the individual characteristics (knowledge, skills, abilities, and needs) and the demands of the job or the needs/desires of a person and the attributes of the job [
10]. The Person’s job fit or match concept is to ensure that the workers have the requisite practical knowledge and competency to work on and complete successfully the tasks assigned. It has been noticed that whenever staff or an employee is a perfect fit for a specific task, the employee experiences a boost in his/her confidence and also shows an attachment toward the job at hand [
11]. If the ambition and skill of the individual match those needed by the job, it is a job fit [
12]. The productivity of the software development team is a significant factor in ASD [
13]. A person’s job fit can also be specified from the job requirements and criteria as a skilled quantity of equivalence between the skill, ability, standards and understanding, and knowledge of the employee [
14]. The foundation of a highly functional organization is to appoint and engage valuable employees in their work and also help them to support the faith, and confidence, of the staff member that they fulfill the job requirements [
15].
1.3. The IT Industry of Pakistan
The IT industry of Pakistan is booming and has been among one of the top fast-growing IT industries in the world for the past several years. In 2019, Pakistan was ranked no 4 for freelance development worldwide and a large number of software houses in Pakistan are working for large overseas corporations [
16]. In the same year, the Pakistani IT industry exhibited an impressive 100% growth in value to USD 3.5 billion and the projection for the next 2 to 4 years was USD 7 billion [
16]. In Pakistan, the majority of IT projects are outsourced from other countries, and because of cheap labor, many international firms have established their offshore companies here [
17]. Nations around the globe are working on developing policies to get the maximum out of their IT industries.
The government of Pakistan realizes the potential and supports the development of the IT Industry for the global outsourcing business. These include 100% equity ownership, 100% repatriation of capital and dividends, and income tax exemption for IT export until June 2024 [
17]. The Pakistan Software Export Board (PSEB) works actively to promote Pakistan’s IT industry both nationally and internationally. PSEB has registered over 3000 IT companies, with expertise in custom software development, business resource planning, financial solutions, mobile content development, corporate computing, and outsourcing of business processes [
16]. Pakistani software industry delivers moderate quality and is market-efficient compared to India, China, Russia, and Singapore. However, still, the quality of services, goods, and projects produced in Pakistan need to be enhanced.
Despite the great success and potential, in comparison to the international software industry, Pakistan’s software industry is relatively young. This makes this talented and young industry flexible in adopting and implementing new methodologies for software development and project management. The global financial crunches and pandemics are causing great damage and suffering in Pakistan as well. Software development businesses can sustain themselves only if their projects succeed. Information Technology and Software Development are one of Pakistan’s most rapidly growing industries despite the global pandemic [
17]. Agile approaches can have major quality and team efficiency benefits, but their use is neither easy nor pain-free. In Pakistan, however, Software Development Organizations are not in a good position due to their greater project failure percentage [
18]. Only 15% of E-government projects succeed in Pakistan [
19]. While generally 4 out of every 10 projects fail [
20].
Many Software companies in Pakistan are still using traditional methods for software development and software project management, and are therefore facing project failures. The use of inappropriate technology is one major reason for project failures [
19,
20]. IT projects are very complex, and therefore the software companies developing them need to manage these projects efficiently and effectively. The software industry in Pakistan has faced many problems due to a lack of use of Agile strategies by software development professionals, but the Agile agenda has grown greatly. PSEB formation has also provided support to the software industry.
There are several studies such as [
21] on the adoption of Agile in Pakistan but its effect has not been studied thoroughly before to the best of our knowledge and therefore is unknown. Therefore, to investigate the effect of ASD on the IT industries of Pakistan, we surveyed several IT professionals from different Software Development organizations in Pakistan. The purpose of this research is to relate the project success in terms of scope, quality, time, person’s job fit, stakeholders satisfaction and cost, for ASD in Pakistan. There is no unanimous consensus in the software development community on the definition of project success. For the sake of this study, we consider the classical measure of project success, i.e., on time, with in budget and quality [
22] as well as stakeholders satisfaction. The outcome of this study will not only be useful for software development companies inside Pakistan but can also be used in the emerging software development industry globally.
Section 1 of this article presented an introduction to Agile, Person’s Job Fit, and the IT industry in Pakistan. In the next section,
Section 2 we present the related work,
Section 3 Methodology, provides the details of the survey demographics,
Section 4 presents the results of the survey graphically and discussions.
Section 5 presents the statistical analysis of the collected data, and finally,
Section 6 concludes the paper and also provides future research directions.