Software Development Failures [Electronic resources] : Anatomy of Abandoned Projects نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

Software Development Failures [Electronic resources] : Anatomy of Abandoned Projects - نسخه متنی

Kweku Ewusi-Mensah

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید







What Is Software Development Failure?

The problem of software development failure has been with us since the early days of the computing revolution and will likely persist in the future. The hope is that with time, as software developers become more informed and understanding of the intricacies of the technology, the incidence of software failures will subside substantially until they are relatively rare. Until that time arrives, we need to do more to understand the problem and ways to tackle it.

Software failure can be classified into two broad categories, the first dealing with the inability of the implemented software to perform to the expectations of the users and the second dealing with the inability of the software developers to produce a working or functioning system for the users. These categories are two sides of the same problems, but our main focus in this book is on the latter issue—that is, on the developers' failure to deliver a working or functioning system to the users. Thus software failure can be formally described as a development failure. It can be further characterized in a number of more specific ways. The failure may be with respect to meeting the original cost or schedule estimates, or it may lie in an inability to achieve the functional objectives of the project. Software development failure can be described as the occurrence of one or more of the above types of failure, and such failures can occur at any stage of the development life cycle.

Software product development is a labor-intensive, intellectually demanding creative activity. The challenge is to be able to manipulate symbols and words to construct a logical flow of the sequence of activities or tasks to be performed to achieve the desired goal or objective for the software product. The difficulty stems in part from determining what information or data requirements will enable the specified objectives to be achieved. A further difficulty arises from the need to determine what resources—that is, technical and technological, financial capital, and others—are needed to be able to attain the desired software product objectives within some previously estimated time frame.

Underlying the above difficulties are the risks and uncertainties associated with the entire software development effort. When the software development fails to attain any of the targeted goals of the project—that is, the cost and schedule estimates for completion, or the satisfaction of the project's functional objectives—the development effort can be described as a failure. It is important to point out that whether the original cost and schedule estimates were inaccurate or indefensible is not relevant because once the project is begun, under whatever agreed-on conditions, the inability of the project team to achieve the targeted goals makes the project development effort a failure.

Others characterize the types of development failure described above in a variety of ways. For example, the KPMG study used the term software runaways to describe instances of development failure in which the cost overruns exceeded the original estimates by at least 30 percent and/or the project failed to significantly achieve its objectives (Cole 1995). Robert Glass (1998, 3) found the 30 percent figure too restrictive, instead offering a more expansive definition of what constitutes "software runaway" as "a project that goes out of control primarily because of the difficulty of building the software needed by the system." The Standish Group (1995), on the other hand, categorized software failure in two ways: as projects that are "challenged"—that is, where even if the projects are completed, they are invariably "over-budget, over the time estimate, and offer fewer features and functions than originally specified"—and as projects that are "impaired," in other words, "where the projects are canceled at some point during the development cycle."

Still another conception of software development failure is offered by Lyytinen and Hirschheim (1987), who focus on the expectations of the stakeholder groups. If the software development effort or process fails to meet the stakeholders' expectations as to the systems objectives and/or cost and time-of-completion estimates vis--vis the benefits to be derived from the system, and if the project is allowed to continue, it is considered a failure. I will use this concept of software failure in my discussion because it seems to capture the essence of the problem more closely than the concepts mentioned earlier, for the following reasons. First, it involves the interaction of the relevant stakeholders engaged in the project development effort. Second, it is more encompassing of the various descriptions of software failure described above, because it appropriately captures the interacting relationships existing in the software development process among the underlying entities of systems objectives, development costs, and other resources needed to produce a functioning system within the estimated time frame to the satisfaction of the stakeholder groups. Indeed, software failure has been aptly described, in Lyytinen and Hirschheim's (1987, 274) analysis of IS failure, as "an extremely complex web of social and technical phenomena."

In summary, it can be said that software development failure is characterized by several factors; it is multifaceted and multidimensional, and any one of the various contributing factors may be sufficient to bring down the entire edifice of the software structure. However, the software development enterprise is a purely abstract and conceptual endeavor, and as such places an undue burden on all the stakeholders to collaborate with a clear vision of what is to be achieved, how it is to be achieved, and at what cost and in what time frame. When that vision falters or is somehow impaired, failure of the project becomes a distinct possibility. When the software development process becomes so imperiled that continuation is pointless, abandonment of the project becomes a necessary option. It is this class of software project failures or abandoned software development projects that this book explores.

/ 92