CHAPTER 7 Development Strategies
Chapter 7 is the final chapter in the systems analysis phase of the SDLC. This chapter describes software trends, acquisition and development strategies, traditional versus Web-based development, outsourcing versus in-house development, the system requirements document, prototyping, and preparing for the transition to the next SDLC phase — systems design.
OBJECTIVES
When you finish this chapter, you will be able to:
· Describe the concept of Software as a Service
· Define Web 2.0 and cloud computing
· Explain software acquisition alternatives, including traditional and Web-based software development strategies
· Describe software outsourcing options, including offshore outsourcing and the role of service providers
· Explain advantages and disadvantages of in-house software development
· Discuss cost-benefit analysis and financial analysis tools
· Describe a request for proposal (RFP) and a request for quotation (RFQ)
· Describe the system requirements document
· Explain the transition from systems analysis to systems design
INTRODUCTION
The main objective of the systems analysis phase is to build a logical model of the new information system. In Chapters 4, 5, and 6, you learned about requirements modeling, data and process modeling, and object modeling. Chapter 7 describes the remaining activities in the systems analysis phase, which include evaluation of alternative solutions, preparation of the system requirements document, and presentation of the system requirements document to management. The chapter also explains the transition to systems design.
If you have MIS CourseMate, you can view two Video Learning Sessions that explain return on investment (ROI) and net present value (NPV) financial analysis.
PREVIEW CASE: Mountain View College Bookstore
Background: Wendy Lee, manager of college services at Mountain View College, wants a new information system that will improve efficiency and customer service at the three college bookstores.
In this part of the case, Tina Allen (systems analyst) and David Conroe (student intern) are talking about development strategies for the new system.
Participants:
Tina and David
Location:
Tina’s office, Wednesday morning, November 13, 2013
Project status:
Tina and David developed a logical model that includes data flow diagrams, a data dictionary, and process descriptions. They also created an object model. Now they are ready to discuss development strategies for the new bookstore system.
Discussion topics:
Web-based versus traditional development, cost-benefit analysis, the steps in purchasing a software package, and the transition to systems design.
Tina:
Good morning, David. Are you ready for the next step?
David:
Sure. Now that we have a logical model of the bookstore system, what comes next?
Tina:
We’re at a transition point between the logical design, which describes what the new system will do, and the physical design phase, which describes how it will be done, including the user interface and physical components. Before we start the physical design, we have to study various systems development options and make a recommendation to Wendy.
David:
What are the options?
Tina:
Well, some large organizations use Web-based systems hosted by outside vendors who supply and maintain the software. In a sense, the customer rents the application. I checked with our IT director, and she feels we’re not ready for that approach. She wants us to implement a system on the college network and migrate to a Web-based system later. That brings us to the next set of questions.
David:
Such as?
Tina:
We need to consider our role in the development process. We can build the system ourselves, which is called in-house development. Or we can purchase a software package, which might need some degree of modification to meet our needs. Or we could consider outsourcing options, including hiring an IT consultant to help with development tasks. Either way, we need to do a cost-benefit study.
David:
What about the transition from logical to physical design that you mentioned?
Tina:
The idea is to take our logical design, which is similar to an architect’s proposal, and translate it into a physical design, which is more like a working blueprint. If we decide to develop the system in-house, we’ll start work on the design. If we decide to purchase a package, we’ll follow a series of steps that will help us select the best product. Here’s a task list to get us started:
FIGURE 7-1 Typical development strategies task list.
© Cengage Learning 2014
DEVELOPMENT STRATEGIES OVERVIEW
Just a few years ago, a typical company either developed software itself, purchased a software package (which might need some modification), or hired consultants or outside resources to perform the work. Today, a company has many more choices, including application service providers, Web-hosted software options, and firms that offer a variety of enterprise-wide software solutions.
Selecting the best development path is an important decision that requires companies to consider three key topics: the impact of the Internet, software outsourcing options, and in-house software development alternatives. These topics are reviewed in the following sections.
THE IMPACT OF THE INTERNET
The Internet has triggered enormous changes in business methods and operations, and software acquisition is no exception. This section examines a trend that views Software as a Service, the changing marketplace for software, and how Web-based development compares to traditional methods. The section concludes with a description of Internet-related trends, including Web 2.0 and cloud computing.
Software as a Service
In the traditional model, software vendors develop and sell application packages to customers. Typically, customers purchase licenses that give them the right to use the software under the terms of the license agreement. Although this model still accounts for most software acquisition, a new model, called Software as a Service (SaaS) , is changing the picture dramatically.
SaaS is a model of software deployment where an application is hosted as a service provided to customers over the Internet. SaaS reduces the customer’s need for software maintenance, operation, and support.
In a highly competitive marketplace, major vendors constantly strive to deliver new and better solutions. For example, Microsoft claims that its SaaS platform offers the best solution and business value. Microsoft also promotes a broader vision, called Software + Services. The term refers to Microsoft’s strategy for cloud computing, which integrates software applications, platforms and infrastructure. Figure 7-2 shows Accenture’s view that SaaS offers great potential benefits. Accenture invites visitors to download a paper that describes the specific topics listed in the figure.
FIGURE 7-2 Accenture stresses the main benefits of SaaS deployment.
© 2012 Accenture
FIGURE 7-3 The Web Host Industry Review (WHIR) is a clearinghouse for SaaS information.
© 2012 iNET Interactive.
The Web Host Industry Review shown in Figure 7-3 is an online source of information about SaaS products, trends, and events. In a published report, the Review quoted a Gartner, Inc. prediction that worldwide SaaS revenue will reach $14.5 billion in 2012, which is a 17.9 percent increase from 2011, and that by 2015, SaaS revenue will grow to $22.1 billion.
Traditional vs. Web-Based Systems Development
As a systems analyst, you must consider whether development will take place in a Web-centric framework, or in a traditional environment. This section provides an overview of some of the similarities and differences.
FIGURE 7-4 Microsoft’s .NET and IBM’s WebSphere are comprehensive software development environments.
©IBM Corporation 1994, 2012 and ©2012 Microsoft Corporation
In an Internet-based system, the Web becomes an integral part of the application, rather than just a communication channel, and systems analysts need new application development tools and solutions to handle the new systems. Two major Web-based development environments are Microsoft’s .NET and IBM’s WebSphere , which are shown in Figure 7-4. Microsoft regards .NET as a platform-independent software environment. IBM describes WebSphere as a set of products specifically designed to support e-business applications across multiple computing platforms.
Although there is a major trend toward Web-based architecture, many firms rely on traditional systems, either because they are legacy applications that are not easily replaced, or because they do not require a Web component to satisfy user needs. If you need to choose, you should consider some key differences between traditional and Web-based system development. Building the application in a Web-based environment can offer greater benefits, and sometimes greater risks, compared to a traditional environment. The following sections list some characteristics of traditional versus Web-based development.
TRADITIONAL DEVELOPMENT In a traditional systems development environment:
· Systems design is influenced by compatibility issues, including existing hardware and software platforms and legacy system requirements.
· Systems are designed to run on local and wide-area company networks.
· Systems often utilize Internet links and resources, but Web-based features are treated as enhancements rather than core elements of the design.
· Development typically follows one of three main paths: in-house development, purchase of a software package with possible modification, or use of outside consultants.
· Scalability can be affected by network limitations and constraints.
· Many applications require substantial desktop computing power and resources.
· Security issues usually are less complex than with Web-based systems, because the system operates on a private company network, rather than the Internet.
WEB-BASED DEVELOPMENT In a Web-based systems development environment:
· Systems are developed and delivered in an Internet-based framework such as .NET or WebSphere.
· Internet-based development treats the Web as the platform, rather than just a communication channel.
· Web-based systems are easily scalable, and can run on multiple hardware environments.
· Large firms tend to deploy Web-based systems as enterprise-wide software solutions for applications such as customer relationship management, order processing, and materials management.
· Web-based software treats the software application as a service that is less dependent on desktop computing power and resources.
· When companies acquire Web-based software as a service rather than a product they purchase, they can limit in-house involvement to a minimum and have the vendor install, configure, and maintain the system by paying agreed-upon fees.
· Web-based software usually requires additional layers, called middleware , to communicate with existing software and legacy systems.
Evolving Trends: Web 2.0 and Cloud Computing
In the constantly changing world of IT, no area is more dynamic than Internet technology. Two examples of evolving trends are Web 2.0 and cloud computing. Systems analysts should be aware of these concepts and consider them as they plan large-scale systems. Web 2.0 and cloud computing are discussed in more detail in Chapter 10, System Architecture.
Many IT professionals use the term Web 2.0 to describe a second generation of the Web that enables people to collaborate, interact, and share information much more effectively. This new environment is based on continuously available user applications rather than static HTML Web pages, without limitations regarding the number of users or how they access, modify, and exchange data. The Web 2.0 environment enhances interactive experiences, including wikis and blogs, and social-networking applications such as Twitter, LinkedIn, and Facebook.
The term cloud computing refers to the cloud symbol that indicates a network or the Internet. Some industry leaders predict that cloud computing will offer an overall online software and data environment supported by supercomputer technology. If so, cloud computing would be an ultimate form of SaaS, delivering services and data to users who would need only an Internet connection and a browser. However, as the InfoWorld article shown in Figure 7-5 points out, no standard definition of cloud computing exists, and the concept means different things to different people.
FIGURE 7-5 Cloud computing holds the promise of a new generation of powerful Web applications and services. This is an evolving technology, and at this point, the term means different things to different people.
©1994–2012 Infoworld, Inc./Eric Knorr/Galen Gruman
OUTSOURCING
Outsourcing is the transfer of information systems development, operation, or maintenance to an outside firm that provides these services, for a fee, on a temporary or long-term basis. Outsourcing can refer to relatively minor programming tasks, renting software from a service provider, outsourcing a basic business process (often called business process outsourcing , or BPO ), or handling a company’s entire IT function. Numerous firms and organizations offer information about outsourcing topics and issues. For example, the Outsourcing Center site at www.outsourcing-center.com provides free research, case studies, database directories, market intelligence, and updates on trends and best practices in outsourcing as a strategic business solution.
The Growth of Outsourcing
Traditionally, firms outsourced IT tasks as a way of controlling costs and dealing with rapid technological change. While those reasons still are valid, outsourcing has become part of an overall IT strategy for many organizations. The outsourcing trend also has affected software vendors, who have adjusted their marketing accordingly. For example, Oracle Corporation offers a service called Oracle On Demand, which provides e-business applications, as shown in Figure 7-6. Oracle also cites data that shows that businesses spend up to 80% of their IT budgets maintaining existing software and systems, which forces IT managers “… to spend time managing tedious upgrades instead of revenue-generating IT projects.”
A firm that offers outsourcing solutions is called a service provider . Some service providers concentrate on specific software applications; others offer business services such as order processing and customer billing. Still others offer enterprise-wide software solutions that integrate and manage functions such as accounting, manufacturing, and inventory control.
Two popular outsourcing options involve application service providers and firms that offer Internet business services. These terms are explained in the following sections.
FIGURE 7-6 Oracle Corporation offers a fixed-fee outsourcing plan called Oracle On Demand.
© 2011, Oracle
APPLICATION SERVICE PROVIDERS An application service provider (ASP) is a firm that delivers a software application, or access to an application, by charging a usage or subscription fee. An ASP provides more than a license to use the software; it rents an operational package to the customer. ASPs typically provide commercially available software such as databases and accounting packages. If a company uses an ASP to supply a data management package, for example, the company does not have to design, develop, implement, or maintain the package. ASPs represent a rapidly growing trend, using the Internet as the primary delivery channel.
INTERNET BUSINESS SERVICES Some firms offer Internet business services (IBS) , which provide powerful Web-based support for transactions such as order processing, billing, and customer relationship management. Another term for IBS is managed hosting , because system operations are managed by the outside firm, or host.
An IBS solution is attractive to customers because it offers online data center support, mainframe computing power for mission-critical functions, and universal access via the Internet. Many firms, such as Rackspace, compete in the managed hosting market, as shown in Figure 7-7.
Outsourcing Fees
FIGURE 7-7 Rackspace Corporation offers multi-platform managed hosting and IBS services.
©2012 Rackspace, US Inc.
Firms that offer Software as a Service, rather than a product, have developed fee structures that are based on how the application is used by customers during a specific time period. Several models exist, including fixed fee, subscription, and usage or transaction. A fixed fee model uses a set fee based on a specified level of service and user support. An example of a fixed fee model is Oracle’s On Demand service. A subscription model has a variable fee based on the number of users or workstations that have access to the application. Finally, a usage model or transaction model charges a variable fee based on the volume of transactions or operations performed by the application.
When a company considers outsourcing, it should estimate usage characteristics to determine which fee structure would be most desirable, and then attempt to negotiate a service provider contract based on that model.
Outsourcing Issues and Concerns
When a company decides to outsource IT functions, it takes an important step that can affect the firm’s resources, operations, and profitability. Mission-critical IT systems should be outsourced only if the result is a cost-attractive, reliable, business solution that fits the company’s long-term business strategy and involves an acceptable level of risk. Moving IT work overseas raises even more issues, including potential concerns about control, culture, communication, and security.
In addition to long-term strategic consequences, outsourcing also can raise some concerns. For example, a company must turn over sensitive data to an external service provider and trust the provider to maintain security, confidentiality, and quality. Also, before outsourcing, a company must carefully review issues relating to insurance, potential liability, licensing and information ownership, warranties, and disaster recovery.
Most important, a company considering outsourcing must realize that the solution can be only as good as the outsourcing firm that provides the service. A dynamic economy can give rise to business failures and uncertainty about the future. In this climate, it is especially important to review the history and financial condition of an outsourcing firm before making a commitment.
Mergers and acquisitions also can affect outsourcing clients. For example, after their merger, Compaq and Hewlett-Packard restructured and streamlined the products and services offered by the new company. Even with large, financially healthy firms such as these, a merger or acquisition can have some impact on clients and customers. If stability is important, an outsourcing client should consider these issues.
Outsourcing can be especially attractive to a company whose volume fluctuates widely, such as a defense contractor. In other situations, a company might decide to outsource application development tasks to an IT consulting firm if the company lacks the time or expertise to handle the work on its own. Outsourcing relieves a company of the responsibility of adding IT staff in busy times and downsizing when the workload lightens. A major disadvantage of outsourcing is that it raises employee concerns about job security. Talented IT people usually prefer positions where the firm is committed to in-house IT development — if they do not feel secure, they might decide to work directly for the service provider.
Offshore Outsourcing
Offshore outsourcing , or global outsourcing , refers to the practice of shifting IT development, support, and operations to other countries. In a trend similar to the outflow of manufacturing jobs over a several-decade period, many firms are sending IT work overseas at an increasing rate.
For example, Dartmouth professor Matthew Slaughter has noted that IT work will move offshore even faster than manufacturing, because it is easier to ship work across networks and telephone lines and put consultants on airplanes than it is to ship bulky raw materials, build factories, and deal with tariffs and transportation issues. Several years ago, the IT consulting firm Gartner, Inc., accurately forecast the steady growth of offshore outsourcing, and predicted that outsourcing would evolve from labor-intensive maintenance and support to higher-level systems development and software design.
In addition to exporting IT jobs, many large multinational firms, including Microsoft and IBM, have opened technical centers in India and other countries. Some observers believe that India might gain as many as 2 million IT jobs in the next decade.
The main reason for offshore outsourcing is the same as domestic outsourcing: lower bottom-line costs. Offshore outsourcing, however, involves some unique risks and concerns. For example, workers, customers, and shareholders in some companies have protested this trend, and have raised public awareness of possible economic impact. Even more important, offshore outsourcing involves unique concerns regarding project control, security issues, disparate cultures, and effective communication with critical functions that might be located halfway around the globe.
CASE IN POINT 7.1: TURNKEY SERVICES
Turnkey Services is an application service provider that offers payroll and tax preparation services for hundreds of businesses in the Midwest. The firm is considering a major expansion into accounting and financial services, and is looking into the possibility of supporting this move by hiring IT subcontractors in several foreign countries. Peter Belmont, Turnkey’s president, has asked you to help him reach a decision. Specifically, he wants you to cite the pros and cons of offshore outsourcing. He expects you to perform Internet research on this topic, and he wants you to present your views at a meeting of Turnkey managers next week.
IN-HOUSE SOFTWARE DEVELOPMENT OPTIONS
In addition to numerous outsourcing options, a company can choose to develop its own systems, or purchase, possibly customize, and implement a software package. These development alternatives are shown in Figure 7-8. Although many factors influence this decision, the most important consideration is the total cost of ownership (TCO), which was explained in Chapter 4. In addition to these options, companies also develop user applications designed around commercial software packages, such as Microsoft Office, to improve user productivity and efficiency.
Make or Buy Decision
The choice between developing versus purchasing software often is called a make or buy , or build or buy decision. The company’s IT department makes, builds, and develops in-house software . A software package is obtained from a vendor or application service provider.
FIGURE 7-8 Instead of outsourcing, a company can choose to develop a system in-house, or purchase and possibly customize a commercial package.
© Cengage Learning 2014
The package might be a standard commercial program or a customized package designed specifically for the purchaser. Companies that develop software for sale are called software vendors . A firm that enhances a commercial package by adding custom features and configuring it for a particular industry is called a value-added reseller (VAR) .