scholarly journals IS IT TIME TO RETHINK OUR SOFTWARE DEVELOPMENT PRACTICES?

2021 ◽  
Vol 23 (4) ◽  
pp. 0-0

Covid-19 has proliferated across the nations with increasing number of cases each day. Thus, IT companies are now forced to operate from remote places with limited IT resources. However, these companies across the globe are on continuous touch with their software development and maintenance teams to ensure that they are productive and are able to deliver their services on the projects on time. We study the challenges faced by the IT companies at this juncture and the need for a different software development approach to complete the projects successfully even during such crisis. In this context, when the IT industries are making attempts to complete their on-going software projects and also to attend to some critical up-gradation in their previously delivered products, the challenges faced by them due to acute shortage of IT resources and transforming the working model from physical setup to remote platform needs to be studied. This calls for studying the existing software development models and practices and defining an alternate one that would suit the present IT scenario.

2021 ◽  
Vol 23 (4) ◽  
pp. 1-10
Author(s):  
S. Parthasarathy ◽  
Thangavel Chandrakumar

Covid-19 has proliferated across the nations with increasing number of cases each day. Thus, IT companies are now forced to operate from remote places with limited IT resources. However, these companies across the globe are on continuous touch with their software development and maintenance teams to ensure that they are productive and are able to deliver their services on the projects on time. We study the challenges faced by the IT companies at this juncture and the need for a different software development approach to complete the projects successfully even during such crisis. In this context, when the IT industries are making attempts to complete their on-going software projects and also to attend to some critical up-gradation in their previously delivered products, the challenges faced by them due to acute shortage of IT resources and transforming the working model from physical setup to remote platform needs to be studied. This calls for studying the existing software development models and practices and defining an alternate one that would suit the present IT scenario.


Author(s):  
Izzat Alsmadi ◽  
Saqib Saeed

Typical traditional software development models are initially designed for company-style software project teams. They also assume a typical software project that has somewhat clear goals, scope, budget, and plan. Even Agile development models that are very flexible in considering previous project parameters assume somewhat stable team and project structures. However, in recent years, the authors have noticed expansion in software projects that are developed in a very illusive flexible team, scope, budget, and plan structures. Examples of such projects are those projects offered in open competition (also called crowd sourcing) structure for software developers to be part of. In typical open competition projects, initial, high level project ideas are submitted to the public through the Internet. The project initiators give their initial requirements, constraints, and conditions for successful products or submissions. Teams can be organized before or through the competition. Submission and evaluation of deliverables from teams are subjected to project initiator evaluation along with evaluation teams organized through the open competition host. This chapter investigates all traditional project characteristics. The authors elaborate on all those elements that should be modified to fit the open competition agile structure. They use several case studies to demonstrate management issues related to managing software projects in open competitions.


2021 ◽  
Vol 23 (4) ◽  
pp. 1-18
Author(s):  
Olayele Adelakun ◽  
Tiko Iyamu

. This study explores Global Virtual Software Teams’ development practices and try to demystify some of the misconceptions about global software development practices based on findings from the global virtual software teams’ experiment that was carried out at DePaul University from 2011 – 2018. The moments of translation from the perspective of actor-network theory (ANT) was employed in the data analysis, to examine how development approach was selected by the global virtual teams. One of the key findings from our research is that the success of a global software development project does not have a strong dependency on the development approach. While we agree that it is one of the key influencing factors, there are other equally strong factors for global virtual software team’s success.


2021 ◽  
Author(s):  
◽  
Diane Elizabeth Strode

<p>Agile software development offers a deceptively simple means to organise complex multi-participant software development while achieving fast delivery of quality software, meeting customer requirements, and coping effectively with project change. There is little understanding, however, of how agile software development projects achieve effective coordination, a critical factor in successful software projects. Agile software development provides a unique set of practices for organising the work of software projects, and these practices seem to achieve effective project coordination. Therefore, this thesis takes a coordination perspective to explore how agile software projects work, and why they are effective. The outcome of this research is a theory of coordination in co-located agile software development projects. To build a coordination theory, evidence was drawn from a multi-case study following the positivist tradition in information systems. Three cases of agile software development contributed to the theory, along with one additional non-agile project that contributed contrasting evidence. The findings show that agile software development practices form a coordination strategy addressing three broad categories of dependency: knowledge dependencies, task dependencies, and resource dependencies. Most coordination is for managing requirement, expertise, historical, and task allocation dependencies; all forms of knowledge dependency. Also present are task dependencies, which include activity or business process dependencies, and resource dependencies, which include technical or entity dependencies. The theory of coordination explains that an agile coordination strategy consists of coordination mechanisms for synchronising the project team, for structuring their relations, and for boundary spanning. A coordination strategy contributes to coordination effectiveness, which has explicit and implicit components. The primary contribution of this theory is an explanation of how agile software development practices act together to achieve effective project coordination. The coordination strategy concept can be used to select practices from agile methods to ensure software projects achieve effective coordination. In addition, once operationalised in future work, the well-grounded theoretical concepts developed in this research will provide valuable tools for measuring the coordination effectiveness of agile method adoption and adaptation.</p>


2021 ◽  
Author(s):  
◽  
Diane Elizabeth Strode

<p>Agile software development offers a deceptively simple means to organise complex multi-participant software development while achieving fast delivery of quality software, meeting customer requirements, and coping effectively with project change. There is little understanding, however, of how agile software development projects achieve effective coordination, a critical factor in successful software projects. Agile software development provides a unique set of practices for organising the work of software projects, and these practices seem to achieve effective project coordination. Therefore, this thesis takes a coordination perspective to explore how agile software projects work, and why they are effective. The outcome of this research is a theory of coordination in co-located agile software development projects. To build a coordination theory, evidence was drawn from a multi-case study following the positivist tradition in information systems. Three cases of agile software development contributed to the theory, along with one additional non-agile project that contributed contrasting evidence. The findings show that agile software development practices form a coordination strategy addressing three broad categories of dependency: knowledge dependencies, task dependencies, and resource dependencies. Most coordination is for managing requirement, expertise, historical, and task allocation dependencies; all forms of knowledge dependency. Also present are task dependencies, which include activity or business process dependencies, and resource dependencies, which include technical or entity dependencies. The theory of coordination explains that an agile coordination strategy consists of coordination mechanisms for synchronising the project team, for structuring their relations, and for boundary spanning. A coordination strategy contributes to coordination effectiveness, which has explicit and implicit components. The primary contribution of this theory is an explanation of how agile software development practices act together to achieve effective project coordination. The coordination strategy concept can be used to select practices from agile methods to ensure software projects achieve effective coordination. In addition, once operationalised in future work, the well-grounded theoretical concepts developed in this research will provide valuable tools for measuring the coordination effectiveness of agile method adoption and adaptation.</p>


Author(s):  
Izzat Alsmadi ◽  
Saqib Saeed

Typical traditional software development models are initially designed for company-style software project teams. They also assume a typical software project that has somewhat clear goals, scope, budget, and plan. Even Agile development models that are very flexible in considering previous project parameters assume somewhat stable team and project structures. However, in recent years, the authors have noticed expansion in software projects that are developed in a very illusive flexible team, scope, budget, and plan structures. Examples of such projects are those projects offered in open competition (also called crowd sourcing) structure for software developers to be part of. In typical open competition projects, initial, high level project ideas are submitted to the public through the Internet. The project initiators give their initial requirements, constraints, and conditions for successful products or submissions. Teams can be organized before or through the competition. Submission and evaluation of deliverables from teams are subjected to project initiator evaluation along with evaluation teams organized through the open competition host. This chapter investigates all traditional project characteristics. The authors elaborate on all those elements that should be modified to fit the open competition agile structure. They use several case studies to demonstrate management issues related to managing software projects in open competitions.


Author(s):  
Saqib Saeed ◽  
Izzat Alsmadi ◽  
Farrukh Masood Khawaja

Software development is a complex activity, which is human intensive in nature. In order to build quality software systems, organizations need to follow mature software development practices, which are continually improved. As a result, the concept of software development process emerged, which highlighted a systematic set of activities required to develop a software system. Recently, agile development methodologies have provided a rich set of innovative software development approaches, aiming to optimize the software process. In order to be successful in adopting these approaches, a thorough understanding of their implementation procedures is required. In this chapter, we took a look at the lean development approach to understand how its principles pave the way in fostering knowledge management initiatives in software process development.


2020 ◽  
Vol 9 (5) ◽  
pp. 2030-2037
Author(s):  
Vahid Bakhtiary ◽  
Taghi Javdani Gandomani ◽  
Afshin Salajegheh

Over recent years, software teams and companies have made attempts to achieve higher productivity and efficiency and get more success in the competitive market by employing proper software methods and practices. Test-driven development (TDD) is one of these practices. The literature review shows that this practice can lead to the improvement of the software development process. Existing empirical studies on TDD report different conclusions about its effects on quality and productivity. The present study tried to briefly report the results from a comparative multiple-case study of two software development projects where the effect of TDD within an industrial environment. Method: We conducted an experiment in an industrial case with 18 professionals. We measured TDD effectiveness in terms of team productivity and code quality. We also measured mood metric and cyclomatic complexity to compare our results with the literature. We have found that the test cases written for a TDD task have higher defect detection ability than test cases written for an incremental NON-TDD development task. Additionally, discovering bugs and fixing them became easier. The results obtained showed the TDD developers develop software code with a higher quality rate, and it results in increasing team productivity than NON_TDD developers.


Author(s):  
CUAUHTÉMOC LÓPEZ-MARTÍN ◽  
ALAIN ABRAN

Expert-based effort prediction in software projects can be taught, beginning with the practices learned in an academic environment in courses designed to encourage them. However, the length of such courses is a major concern for both industry and academia. Industry has to work without its employees while they are taking such a course, and academic institutions find it hard to fit the course into an already tight schedule. In this research, the set of Personal Software Process (PSP) practices is reordered and the practices are distributed among fewer assignments, in an attempt to address these concerns. This study involved 148 practitioners taking graduate courses who developed 1,036 software course assignments. The hypothesis on which it is based is the following: When the activities in the original PSP set are reordered into fewer assignments, the result is expert-based effort prediction that is statistically significantly better.


Sign in / Sign up

Export Citation Format

Share Document