Back to Basics

Author(s):  
Roy Morien

Massive failures of software development projects have been recorded in the literature, and particularly in the popular press, over the years. Yet, rarely if ever have we seen any objective, detailed analysis of the causes of these failures. Indeed, we usually can only surmise how the projects were managed or what the development methodology or approach was. This chapter analyses some aspects of software development projects and development methodologies in terms of the success or failure potential of these methodologies. The conclusion arrived at is that the system development methodologies handed down since the late 1970s as the preferred development approach, generally known as Structured Methodologies, based on the Structured Design Life Cycle methodology (SDLC), bear the seeds of their own failure. It is asserted that they cannot succeed because of the inherent nature and assumptions embedded in those methodologies. After some analysis of these assumptions, considered to be highly flawed and unworkable, the now not so recently published Agile Development methodologies are discussed and proffered as a workable and inherently successful approach to software system development.

2021 ◽  
pp. 1063293X2110152
Author(s):  
Qing Yang ◽  
Yingxin Bi ◽  
Qinru Wang ◽  
Tao Yao

Software development projects have undergone remarkable changes with the arrival of agile development approaches. Many firms are facing a need to use these approaches to manage entities consisting of multiple projects (i.e. programs) simultaneously and efficiently. New technologies such as big data provide a huge power and rich demand for the IT application system of the commercial bank which has the characteristics of multiple sub-projects, strong inter-project correlation, and numerous project participating teams. Hence, taking the IT program management of a bank in China as a case, we explore the methods to solve the problems in multi-project concurrent development practice through integrating the ideas of program and batch management. First, to coordinate the multi-project development process, this paper presents the batch-based agile program management approach that synthesizes concurrent engineering with agile methods. And we compare the application of batch management between software development projects and manufacturing process. Further, we analyze the concurrent multi-project development practice in the batch-based agile program management, including the overlapping between stages, individual project’s activities, and multiple projects based on common resources and environment to stimulate the knowledge transfer. Third, to facilitate the communication and coordination of batch-based program management, we present the double-level responsibility organizational structure of batch management.


Author(s):  
Janis Stirna ◽  
Marite Kirikova

This paper analyses the potential of using Enterprise Modelling (EM) in agile information system development projects on the basis of a number of empirical findings. We outline the current issues and challenges that projects using agile development approaches are facing. To address these challenges we analyse what are the objectives of using EM in agile development projects and give recommendations concerning the modelling process and tool support.


2017 ◽  
Vol 02 (02) ◽  
pp. 1750007
Author(s):  
Taiga Mitsuyuki ◽  
Kazuo Hiekata ◽  
Takuya Goto ◽  
Bryan Moser

For software development, especially massive software systems, a waterfall process is used traditionally. A waterfall process can be highly effective on the condition that a master plan is fixed and the possibility of changes and uncertain rework is low. However, in software development projects, many kinds of reworks occur corresponding to uncertain requirement changes and program bugs. In addition, with the advent of cloud-based software platforms and continuous development operations, it is possible to develop a software system while operating the system. To respond to this situation, software development projects often adopt an agile process. Agility may allow conditional response to uncertain rework, yet at the same time it may be difficult to control the achievement of known project targets. Recently, many cases of adopting mixed processes including waterfall and agile have been reported in the massive software development projects. In this paper, we argue that the mixed process architecture should be designed, considering the scale of the targeted software project, the culture of organization, the probability of uncertain requirement changes, and so on. This paper proposes a methodology of evaluating the impact of waterfall, agile, and mixed project architectures by using process simulation. A project architectural approach is evaluated with a simulator which includes a software reliability growth model and uncertain rework driven by requirement change and error propagation. The proposed methodology was applied to a development project for a simple shopping website. The results showed that the proposed methodology allows exploration of partial agile adoption depending on the nature of the system development project, including its scale and chances of change. For example, in this paper, if the scale of the project is small, the positive effect of increasing agility by adopting agile processes is low. On the other hand, if the scale of the project is large, the effect of increasing agility by adopting agile process can increase. Furthermore, it became clear that it is important to not apply an agile process blindly, but instead to design a mixed project architecture considering the number of errors and development schedule targets across the project scope.


Author(s):  
Chitrak Vimalbhai Dave

Abstract: Software Process Models from its inception instill standardization and creates a generic culture of developing software for various IT industries. A great paradigm shift has been observed in terms of embracing Agile Development methodology as a viable development methodology in cross key business units. There is a buffet of agile methodologies comes under the umbrella of ASD, out of which Scrum got the highest popularity and acceptability index. Agile based software development is the need of immediate environment. There is an increasing demand for significant changes to software systems to meet ever-changing user requirements and specifications. As Agile is volatile, so effort estimation is challenging and still striving for perfection to decide size, effort, cost, duration and schedule of projects with minimum error. This cause sensitizes potential researchers all across the globe to start working on addressing the issue of inaccurate predication of efforts. The gap between estimated and actual effort is because of limited or no inclusion of various estimation factors like people and project related factors, inappropriate use of size metric and cost drivers, ignorance of testing effort, team member’s inability to understand user story size and complexity etc. This paper attempts to bridge the gap of estimated and actual effort by the use of soft computing techniques thus taking the research to advance frontier area in terms ofestimation. Keywords: Cost Estimation, Effort Estimation, Scrum, Machine Learning, Agile Software Development


2022 ◽  
Vol 5 (1) ◽  
pp. 1-6
Author(s):  
Amos O. Jarikre ◽  
Yogesh Kumar Sharma ◽  
Amoako Kani John ◽  
Stercy Kwasi Bailey

The development of reusable and extensible software for business purposes has been the hallmark of the day. More developers are taking advantage of numerous approaches towards reaching their goals. One such approach is the agile approach in the development of extensible applications which has become so popular since its introduction over a decade ago. Using an agile approach that has a defined value in developing applications portray numerous benefits which have been identified by various scholars pointing out their outcomes as motivating factors of its adoption. With all such outline benefits, there exist some potential obstacles to agile developmental approach which has not been fully addressed. Hence, this article is aimed at analysing the obstacles which software developers face during agile development through a database search and also to guide them on ways to overcome such obstacles.


Author(s):  
Ville Rantala ◽  
Kaisa Könnölä ◽  
Samuli Suomi ◽  
Minna Isomäki ◽  
Teijo Lehtonen

Agile development methods are widely utilized in software development. There is a growing interest and effort to introduce them to other areas of technology, such as development of space systems. Space systems are typically safety- and mission-critical and therefore their development is strongly regulated and standardized. European Cooperation for Space Standardization (ECSS) has created a collection of standards which are extensively followed mainly in European space projects. In this paper, a review and discussion are presented to find out the conflicts between the agile development and the ECSS standards. The presented analysis and discussion show that the ECSS standards do not fully prevent the utilization of agile methods. However, there are aspects to be taken into account in the development methods, contracts and tailoring of standards.


Author(s):  
Kitti Photikitti ◽  
Kitikorn Dowpiset ◽  
Jirapun Daengdej

It has been well-known that the chance of successfully delivering a software project within an allocated time and budget is very low. Most of the researches in this area have concluded that “user's requirements” of the systems is one of the most difficult risks to deal with in this case. Interestingly, until today, regardless of amount of effort put into this area, the possibility of project failure is still very high. The issue with requirement can be significantly increased when developing an artificial intelligence (AI) system, where one would like the systems to autonomously behave. This is because we are not only dealing with user's requirements, but we must also be able to deal with “system's behavior” that, in many cases, do not even exist during software development. This chapter discusses a preliminary work on a framework for risk management for AI systems development projects. The goal of this framework is to help project management in minimizing risk that can lead AI software projects to fail due to the inability to finish the projects on time and within budget.


Author(s):  
Yael Dubinsky ◽  
Avi Yaeli ◽  
Yishai Feldman ◽  
Emmanuel Zarpas ◽  
Gil Nechushtai

Governance is the exercise of control and direction over a subject such as a society, an organization, processes, or artifacts, by using laws and policies that are defined, deployed, and executed. In this chapter we develop this definition into a formal conceptual model that can be applied to a variety of governance domains. At the heart of this model lies the concept of the governance solution and its lifecycle. The governance solution embodies the set of mechanisms—decision rights, policies, controls, and measurements—applied to a governance scope in order to achieve some governance goals. As part of the lifecycle, the effectiveness of the governance solution is measured, and corrections and alignments are made as necessary. We demonstrate how this model can be applied to multiple governance domains by providing examples from IT governance as well as software-development governance. We conclude by providing a detailed scenario in the software-development governance space, which looks at large software organizations undergoing transition to agile development methodology. We further demonstrate how the governance model is instantiated and evolved in the context of this scenario.


Author(s):  
Linda V. Knight ◽  
Theresa A. Steinbach ◽  
Vince Kellen

The fast-paced, rapidly changing e-business environment, coupled with its emphasis on brand image and the human-computer interface, and the creative nature of Web development teams combine to require changes in traditional system development methodologies. This chapter explores the fit between typical Web-based information system characteristics and existing development methodologies, from the traditional System Development Life Cycle (SDLC) to some of the newer rapid-response models. It concludes that, contrary to common practice in most organizations, one standardized development methodology is not best suited for all, or even most, e-business projects. Fifteen variables that are key to identifying the best methodology for a given e-business project are distilled, and a framework is constructed to aid development teams in the process of formulating a customized development methodology to serve as a basis for project management and control. Projections are made concerning the future of e-business system development methodologies.


Author(s):  
G. Chroust

Information systems are designed for the people, by the people. The design of software systems with the help of software systems is another aspect of human-computer interfaces. New methods and their (non-)acceptance play an important role. Motivational factors of systems developers considerably influence the type and quality of the systems they develop (Arbaoui, Lonchamp & Montangero, 1999; Kumar & Bjoern-Andersen, 1990). To some extent, the quality of systems is a result of their developers’ willingness to accept new and (supposedly) better technology (Jones, 1995). A typical example is component-based development methodology (Bachmann et al., 2000; Cheesman & Daniels, 2001). Despite considerable publication effort and public lip service, component-based software development (CBD) appears to be getting a slower start than anticipated and hoped for. One key reason stems from the psychological and motivational attitudes of software developers (Campell, 2001; Lynex & Layzell, 1997). We therefore analyze the attitudes that potentially hamper the adoption of the component-based software development approach. Maslow’s Hierarchy of Need (Boeree, 1998; Maslow, 1943) is used for structuring the motives.


Sign in / Sign up

Export Citation Format

Share Document