Managing Information Technology

(Frankie) #1
361

Until the late 1980s, software applications that were custom-developed systems for a specific firm were
very common. If an organization had its own information systems (IS) professionals, the organization’s own
IS staff most likely developed these custom applications in-house. If an organization did not have the resources
(or IS expertise) to develop custom applications, an outside vendor would be employed either to provide
IS contract personnel on a temporary basis or to completely develop the custom software for the organization.
As we will discuss in Chapter 10, today’s firms are likely to purchase software packages whenever they can.
However, custom software development skills are still in high demand in a variety of organizations (to
build new information systems and to customize purchased software), as well as in software vendor
and consulting firms.
Not all custom development is done by IS staff. End-user computing has become common since the
dawn of fourth generation languages and problem-oriented analytical and query environments. Software such
as Microsoft Excel, MicroStrategy and SAS business intelligence packages, and Web site building
environments are used by non-IS personnel to build or customize information systems for individual or
departmental use.
In this chapter, we first describe two common approaches to developing customized applications: a traditional
systems development life cycle (SDLC) approach and an evolutionary prototyping approach. Although our methodology
descriptions assume that the IT project is being managed in-house, most of what we describe holds true also for
application development approaches used today within commercial software houses. A key difference, of course, is that
when custom applications are being built for a specific organization—rather than for sale to many organizations—
business managers and end users who will use the application on a day-to-day basis will play key roles in the
development process. Also, the principles and activities for custom software development are often applicable for
systems development by end users and for configuring purchased software. So, understanding custom software
development is a great foundation for appreciating what needs to be accomplished for any form of information systems
development.
Later in the chapter we describe two newer development approaches: rapid application development
(RAD)and an “agile” development approach, including some characteristics of an “extreme programming”
approach. Then we briefly describe some of the special issues related to developing custom software using
external contract (outsourced) staff. Finally, the chapter closes with a discussion of the benefits, risks, and
methodological issues associated with custom software development by end users (user application
development).


Systems Development Life Cycle Methodology


In Chapter 8 we introduced three generic phases of a systems life-cycle process:Definition, Construction, and
Implementation. We turn now to a detailed discussion of these three phases in the development of a new software
application using a highly structured approach. This traditional life-cycle process for developing customized


Chapter 9 Methodologies for Custom Software Development


Chapter 9 Methodologies for Custom Software Development

Free download pdf