Chapter 9 Methodologies for Custom Software Development
147
Chapter 9
Methodologies for Custom Software Development
Objectives and Overview
The primary objective of Part III is to provide a foundation for understanding the various ways
that organizations can acquire application systems. Chapter 9 focuses on three common
building on the generic systems life cycle phases presented in Chapter 8: Definition,
Construction, and Implementation. Our own model includes 8 steps, although we emphasize that
there are many SDLC variations, and many organizations have their own specific versions and
terminology. The description of the SDLC steps is followed by a discussion of the key project
team roles of project manager and systems analyst. Key success factors for managing an SDLC
project are presented, followed by a summary of the primary advantages and disadvantages of a
traditional SDLC approach.
The disadvantages of the SDLC methodology set the stage for the prototyping methodology. The
discussion of this approach emphasizes the iterative nature of the process steps and the hands-on
An understanding of the strengths and weaknesses of the two approaches should help the student
understand why hybrid development approaches, where a prototyping approach is incorporated
into an SDLC process, have now become common. Figures 9.10 and 9.11 show two common
ways this occurs.
Chapter 9 Methodologies for Custom Software Development
End-user computing has become common as software development tools have become easier to
use for people not trained as professional programmers. It is now tempting for many
contemporary managers, educated in the PC era, to want to build a system, especially a personal
Some specific learning objectives for this chapter are:
2. To learn how to assess risk in and develop a justification for information system projects.
3. To recognize how prototyping strengths can address SDLC weaknesses, to appreciate the
4. To understand the tradeoffs involved with different conversion (rollout) strategies.
5. To become familiar with some newer approaches (such as agile methodologies) being
6. To gain an appreciation of some of the potential challenges associated with managing
projects that include off-site (outsourcing) personnel as part of a custom development project.
7. To increase awareness of the advantages and disadvantages of user application development
8. To apply some frameworks to assess whether or not it is better for a specific application to be
developed by a user rather than an IS professional.
Teaching Suggestions
We recommend that a full class period be devoted to this chapter content, perhaps two class
periods, depending on whether related concepts in Chapter 8 (systems concepts) and Chapter 11
149
Case Study III-2, Make or Buy Decision at Baxter Manufacturing Company, serves as a nice case
to transition between Chapters 9 and 10; you may want to use this case to begin discussion of
Chapter 10, or you can use it at the end of discussing Chapter 9.
Because it is easy to talk about requirements definition without really understanding what is
involved, we have also found it helpful to give the students a requirements definition project that
This is also a good topic for bringing in a guest speaker who manages a systems development
unit. Alternatively, a guest speaker from a software vendor who manages development projects
could be asked to talk about how development approaches differ when the user is not part of the
same organization as the developer. Yet another opportunity for a guest speaker would be a
Scrum Master and/or a Scrum team member who used to use traditional systems development
methods to discuss
The topic of user-developed applications, especially with MBA students, can engender
considerable discussion concerning almost any of the issues covered in the chapter on this topic.
Chapter 9 Methodologies for Custom Software Development
150
Review Questions
1. Briefly describe the typical steps in the systems development life cycle (SDLC) as
presented in this chapter.
Definition Phase
The feasibility analysis (systems proposal document) step includes assessing the economic (cost
benefit), operational, and technical feasibility of the proposed system.
Construction Phase
The system design step consists of IS specialists designing the physical system. Hardware and
systems software are selected, the structure and content of databases are determined, and
Implementation Phase
The installation step includes building files and databases, converting data from the old system to
the new system, and training end users. Conversion strategies include parallel, pilot, phased, and
cold turkey.
2. Describe the key activities performed by IS professionals in each step of the SDLC.
In the feasibility analysis, the IS specialist assesses the technical feasibility of the system and
develops a timetable based on an estimated schedule for each step. In the requirements definition
Chapter 9 Methodologies for Custom Software Development
151
3. Select three of the characteristics of a high-quality application system shown in Figure
10.3 and provide a rationale for why each one is important.
Possible Response:
Auditable A high quality system provides an audit trail that allows one to trace transactions
from their source and confirms that they were correctly handled.
4. Describe the importance of documentation under an SDLC methodology.
Documentation is a vital part of a successful application of the SDLC methodology. Each step of
the process requires accurate and thorough documentation. First, the requirements must be
5. Describe a distinct advantage of each of the four strategies for implementing a new
system shown in Figure 9.4.
Parallel Strategy Provides a conservative approach to the conversion strategy by allowing the
organization to continue using the old system if there are problems with the new.
6. Briefly describe the elements of a business case for a new information systems project
under the SDLC methodology.
A business case is composed of potential benefits, costs, scope, and risks for the project and
proposed system. Typically, the business case will be prepared by business management or an IS
7. Why is an accurate and complete requirements definition especially critical when using
The costs of error correction dramatically increase as a project continues to be developed (see
8. Briefly describe the steps of a pure prototyping methodology as an alternative to an
SDLC approach.
In the prototyping approach, systems specialists build a system and then modify it repeatedly
based on the responses of the user(s) who tries out the system prototype. In step one, the user
9. Which disadvantages of an SDLC methodology are addressed by a prototyping
approach?
SDLC Disadvantage Prototyping Advantage
Does not account well for evolving Does not need complete requirements at the
10. Describe two ways that a prototyping approach can be used within the Definition phase
of a traditional SDLC methodology.
11. Why are JAD techniques a key characteristic of RAD methodologies?
12. Describe how a RAD methodology builds on the strengths of both an SDLC
methodology and prototyping.
13. Why does the use of contractors increase the complexity of an IT project?
14. Describe the underlying principles of agile systems development methodologies.
Agile methodologies are based on four key values: simplicity, communication, feedback, and
courage. Simplicity is accomplished by having a project for each module or function of a system,
Chapter 9 Methodologies for Custom Software Development
154
15. What conditions and methods improve the chances that offshore outsourcing of systems
development will be successful.?
Research indicates that offshore outsourcing is more likely to be successful when:
Systems requirements are well-defined and stable over the project.
16. Describe one application, tool, and developer characteristic that should be assessed
when evaluating whether or not a given application should be user-developed, including
what you see as the potential business risk associated with each characteristic.
Figure 9.15 lists the following characteristics. A column with potential business risks has been
added below:
APPLICATION CHARACTERISTICS POTENTIAL BUSINESS RISKS
Scope (personal, departmental, organizational)
Applications not just for personal use typically
carry greater risks
sed more frequently may carry
Business problem complexity (commonality of
Applications that are more complex are more
Chapter 9 Methodologies for Custom Software Development
DEVELOPER CHARACTERISTICS POTENTIAL BUSINESS RISKS
User developer skills, experience, and
Greater skills and experience mean lower
17. Choose three of the Definition questions in Figure 9.16 that the user developer should
address and explain why they could be important.
[Note: Figure 9.16 lists the following questions. All of these questions are important for eliciting
accurate and complete requirements, as well as appropriate system controls. The Definition
phase of a systems project is discussed in detail in Chapter 8 and this chapter. Examples of
system controls are presented at the end of Chapter 8.]
What outputs should the system produce?
Discussion Questions
1. Discuss why you think the SDLC methodology for developing application systems was
widely adopted in U.S.-based organizations by the early 1990s.
SDLC provides a means for producing high-quality and secure systems. Moreover, the SDLC
provides a methodology for a well-defined, quality-constructed, and well-managed project with
2. IS department managers often believe that they are responsible for making sure the
responsibility for defining the requirements is emphasized. How can you reconcile these
two points of view?
3. There have been many failures in the development of application systems using the
traditional SDLC. Discuss some characteristics of the methodology that could contribute to
the high failure rate under certain situations.
One primary reason for failure is an inadequate feasibility analysis that does not sufficiently
4. Compare the role of the systems analyst in the development of an application system
using the SDLC and using a prototyping approach.
The systems analyst is responsible for organizing the development process as well as for the
actual development of the system. The analyst is also responsible for making sure that the new
5. Some IS specialists contend that end prototypes are usually poor technical solutions.
Comment on why this perception might (or might not) be valid.
The detailed analysis inherent in the SDLC approach is lacking in the prototyping approach. The
-designed technical solution, leading to
6. Discuss why an application might be built using prototyping as part of the SDLC
methodology, rather than by a pure prototyping methodology alone.
7. Discuss the role of the project manager in the in-house development of a customized
application and in what situations both IS managers and business managers might serve as
co-leaders of a project.
8.
the documentation burden.
Documentation is critical for several reasons. If a system is not well documented, the only person
who will be able to use, operate, modify, and maintain it will be the person who built it.
9. At each milestone in a system development project some form of a go/no-go decision is
made about continuing the project. What factors should be considered in this decision?
10. Discuss how some modern tools (e.g., CASE), techniques (e.g., JAD), and new
methodologies (e.g., eXtreme programming) help IS organizations overcome the
disadvantages of the traditional SDLC methodology.
11. Discuss the role of testing in each of the SDLC, RAD, and eXtreme Programming
methodologies.
In the SDLC, testing is an integral task throughout the phases. Testing requirements are
developed early in the process, and test data are created. Separate team members and possibly
formal testing groups within the organization will periodically validate that the system design and
159
12. Discuss and contrast the role of application clients in the SDLC, RAD, and agile
methodologies.
In the SDLC application clients often are the ones who request new or enhanced systems, provide
input on the system requirements, sign-off at milestones of the project, and have final acceptance
testing responsibilities. For large SDLC projects clients may also be involved on the project team
to provide communication to user communities, frequent review of project work products, and to
In RAD the application clients are more integrally involved and have a greater time commitment
on an on-going basis to the project. Because of the frequent, repetitive steps to build and review
iterations of a system, the clients (users) are regularly using (or seeing demonstrated) system
components and actively guiding the developer to areas that need to be changed. Whereas the
application clients in SDLC provide considerable input up-front for requirements, in RAD
methodologies this input is incremental and based on reactions to prototyped systems rather than
13. Maintenance is often the longest-lasting phase of systems development, as a system is
enhanced and fixed with new releases. Discuss the tasks that need to be done as a new
version of software is ready for release.
hardware associated with the new release, but also documentation, forms, instructions, and
Chapter 9 Methodologies for Custom Software Development
160
14. Discuss some factors that would encourage an organization to outsource some or all of
its information systems development work.
Two of the major factors are cost and talent. Often, a specialty provider of any service can be
15. Discuss the unique issues that arise with offshore outsourcing of information systems
development.
Some significant risks of offshore outsourcing are loss of some control (or made difficult by time
zone differences), language and cultural barriers, and threats of piracy of intellectual property.
According to Poria (2003), the offshore alternative is likely a very favorable option when the
following conditions exist:
161
16.
primary trade-offs between the benefits and risks of user application development.
The risks of UAD include loss of quality control, spreadsheet errors, user-developer turnover, and