case homework

profilealareefi92
ch_12.docx

11.1 Introduction

LEARNING OBJECTIVES

Recognize the importance of software and its implications for the firm and strategic decision making.

Understand that software is everywhere; not just in computers, but also cell phones, cars, cameras, and many other technologies.

Know what software is and be able to differentiate it from hardware.

List the major classifications of software and give examples of each.

We know computing hardware is getting faster and cheaper, creating all sorts of exciting and disruptive opportunities for the savvy manager. But what’s really going on inside the box? It’s software that makes the magic of computing happen. Without software, your PC would be a heap of silicon wrapped in wires encased in plastic and metal. But it’s the instructions—the software code—that enable a computer to do something wonderful, driving the limitless possibilities of information technology.

Software is everywhere. An inexpensive cell phone has about one million lines of code. [1] Ford automobiles actually have more lines of code than Twitter and Facebook combined. [2] Software might even be in grandpa. The average pacemaker has between 80,000 and 100,000 of code. [3] In this chapter we’ll take a peek inside the chips to understand what software is. A lot of terms are associated with software: operating systems, applications, enterprise software, distributed systems, and more. We’ll define these terms up front, and put them in a managerial context. A follow-up chapter, Chapter 12 "Software in Flux: Open Source, Cloud, and Virtualized and App-driven Shifts" “Software in Flux: Partly Cloudy and Sometimes Free” will focus on changes impacting the software business, including open source software, software as a service (SaaS), cloud computing, virtualization, and the rise of apps. These changes are creating an environment radically different from the software industry that existed in prior decades—confronting managers with a whole new set of opportunities and challenges.

Managers who understand software can better understand the possibilities and impact of technology. They can make better decisions regarding the strategic value of IT and the potential for technology-driven savings. They can appreciate the challenges, costs, security vulnerabilities, legal and compliance issues, and limitations involved in developing and deploying technology solutions. In the next two chapters we will closely examine the software industry and discuss trends, developments and economics—all of which influence decisions managers make about products to select, firms to partner with, and firms to invest in.

What Is Software?

When we refer to computer hardware (sometimes just hardware), we’re talking about the physical components of information technology—the equipment that you can physically touch, including computers, storage devices, networking equipment, and other peripherals.

Software refers to a computer program or collection of programs—sets of instructions that tell the hardware what to do. Software gets your computer to behave like a Web browser or word processor, lets your smartphone play music and video, and enables your bank’s ATM to spit out cash.

It’s when we start to talk about the categories of software that most people’s eyes glaze over. To most folks, software is a big, incomprehensible alphabet soup of acronyms and geeky phrases: OS, VB, SAP, SQL, to name just a few.

Don’t be intimidated. The basics are actually pretty easy to understand. But it’s not soup; it’s more of a layer cake. Think about computer hardware as being at the bottom of the layer cake. The next layer is the operating system, the collection of programs that control the hardware. Windows, Mac OS X, iOS, and Linux are operating systems. On top of that layer are applications—a range of which include end-user programs like those in Office, apps that run on smartphones, and the complex set of programs that manage a business’s inventory, payroll, and accounting. At the top of the cake are users.

Figure 11.1 The Hardware/Software Layer Cake

The flexibility of these layers gives computers the customization options that managers and businesses demand. Understanding how the layers relate to each other helps you make better decisions on what options are important to your unique business needs, can influence what you buy, and may have implications for everything from competitiveness to cost overruns to security breaches. What follows is a Manager’s Guide to the main software categories with an emphasis on why each is important.

KEY TAKEAWAYS

Software refers to a computer program or collection of programs. It enables computing devices to perform tasks.

You can think of software as being part of a layer cake, with hardware at the bottom; the operating system controlling the hardware and establishing standards, the applications executing one layer up, and the users at the top.

How these layers relate to one another has managerial implications in many areas, including the flexibility in meeting business demand, costs, legal issues and security.

Software is everywhere—not just in computers, but also in cell phones, cars, cameras, and many other technologies.

QUESTIONS AND EXERCISES

Explain the difference between hardware and software.

Why should a manager care about software and how software works? What critical organizational and competitive factors can software influence?

What role has software played in your decision to select certain products? Has this influenced why you favored one product or service over another?

Find the Fortune 500 list online. Which firm is the highest ranked software firm? While the Fortune 500 ranks firms according to revenue, what’s this firm’s profitability rank? What does this discrepancy tell you about the economics of software development? Why is the software business so attractive to entrepreneurs?

Refer to earlier chapters (and particularly to Chapter 2 "Strategy and Technology: Concepts and Frameworks for Understanding What Separates Winners from Losers"): Which resources for competitive advantage might top software firms be able to leverage to ensure their continued dominance? Give examples of firms that have leveraged these assets, and why they are so strong.

11.2 Operating Systems

LEARNING OBJECTIVES

Understand what an operating system is and why computing devices require operating systems.

Appreciate how embedded systems extend Moore’s Law, allowing firms to create “smarter” products and services

Computing hardware needs to be controlled, and that’s the role of the operating system. The operating system (sometimes called the “OS”) provides a common set of controls for managing computer hardware, making it easier for users to interact with computers and for programmers to write application software. Just about every computing device has an operating system—desktops and laptops, enterprise-class server computers, your mobile phone. Even specialty devices like iPods, video game consoles, and television set-top boxes run some form of OS.

Some firms, like Apple and Nintendo, develop their own proprietary OS for their own hardware. Microsoft sells operating systems to everyone from Dell to the ATM manufacturer Diebold (listen for the familiar Windows error beep on some cash machines). And there are a host of specialty firms, such as Wind River (purchased by Intel), that help firms develop operating systems for all sorts of devices that don’t necessarily look like a PC, including cars, video editing systems, and fighter jet control panels.

Anyone who has used both a PC and a Mac and has noticed differences across these platforms can get a sense of the breadth of what an operating system does. Even for programs that are otherwise identical for these two systems (like the Firefox browser), subtle differences are visible. Screen elements like menus, scroll bars, and window borders look different on the Mac than they do in Windows. So do the dialogue boxes that show up when you print or save.

These items look and behave differently because each of these functions touches the hardware, and the team that developed Microsoft Windows created a system distinctly different from their Macintosh counterparts at Apple. Graphical user interface (UI) items like scroll bars and menus are displayed on the hardware of the computer display. Files are saved to the hardware of a hard drive or other storage device. Most operating systems also include control panels, desktop file management, and other support programs to work directly with hardware elements like storage devices, displays, printers, and networking equipment. The Macintosh Finder and the Windows Explorer are examples of components of these operating systems. The consistent look, feel, and functionality that operating systems enforce across various programs help make it easier for users to learn new software, which reduces training costs and operator error. See Figure 11.2 for similarities and differences.

Figure 11.2

Differences between the Windows and Mac operating systems are evident throughout the user interface, particularly when a program interacts with hardware.

Operating systems are also designed to give programmers a common set of commands to consistently interact with the hardware. These commands make a programmer’s job easier by reducing program complexity and making it faster to write software while minimizing the possibility of errors in code. Consider what an OS does for the Wii game developer. Nintendo’s Wii OS provides Wii programmers with a set of common standards to use to access the Wiimote, play sounds, draw graphics, save files, and more. Without this, games would be a lot more difficult to write, they’d likely look differently, be less reliable, would cost more, and there would be fewer titles available.

Similarly, when Apple provided developers with a common set of robust, easy-to-use standards for the iPhone and (via the App Store) an easy way for users to install these applications on top of the iPhone/iPod touch/iPad’s operating system (iOS), software development boomed, and Apple became hands-down the most versatile mobile computing device available. [1] In Apple’s case some fifty thousand apps became available through the App Store in less than a year, and well over a million apps in total. A good OS and software development platform can catalyze network effects (see Chapter 7 “Understanding Network Effects: Strategies for Competing in a Platform-Centric, Winner-Take-All World” “Understanding Network Effects: Strategies for Competing in a Platform-Centric, Winner-Take-All World ”). While the OS seems geeky, its effective design has very strategic business implications!

Figure 11.3 Operating System Market Share for Desktop, Server, Smartphones, and Tablets

Source: HitsLink (desktop, May 2014), IDC (server, Q4 2013), IDC (smartphones, Q4 2013), and Gartner (tablets, Feb. 2014). Note that for purposes of the tablet chart, Kindle Fire is considered separate from Android even though the Kindle Fire OS is based on Android.

Firmware and Embedded Systems

Most personal computers have an operating system installed on their hard drives. This system allows the OS to be replaced or upgraded easily. But many smaller, special-purpose computing devices have their operating systems installed on nonvolatile memory, often on read-only memory (ROM) chips. Control programs stored on chips are sometimes referred to as firmware. The OS in an iPod, mobile phone, or your TV’s set-top box is most likely stored as firmware. Your PC also has a tiny bit of firmware that allows it to do very basic functions like start-up (boot) and begin loading its operating system from disk.

Another term you might hear is embedded systems. As computing gets cheaper, special-purpose technology is increasingly becoming embedded into all sorts of devices like cars, picture frames, aircraft engines, photocopiers, and heating and air conditioning systems. The software programs that make up embedded systems are often stored as firmware too. Using microprocessors and embedded software to enable commonly encountered devices to communicate with one another (think of the Nest thermostat or app-controlled lighting and door locks by SmartThings) is sometimes referred to as the Internet of Things. Embedded systems are now found in everything from herd-tracking cow collars [2] to pipeline monitoring sensors, eliminating the need for workers to trek out and monitor operations. [3]

Moore’s Law (see Chapter 5 “Moore’s Law and More: Fast, Cheap Computing, Disruptive Innovation, and What This Means for the Manager”) enables embedded systems, and these systems can create real strategic value. The Otis Elevator Company, a division of United Technologies, uses embedded systems in its products to warn its service centers when the firm’s elevators, escalators, and moving walkways need maintenance or repair. This warning provides Otis with several key benefits:

Since products automatically contact Otis when they need attention, these systems generate a lucrative service business for the firm and make it more difficult for third parties to offer a competing business servicing Otis products.

Products contact service technicians to perform maintenance based on exact needs (e.g., lubricant is low, or a part has been used enough to be replaced) rather than guessed schedules, which makes service more cost-effective, products less likely to break down, and customers happier.

Any product failures are immediately detected, with embedded systems typically dispatching technicians before a client’s phone call.

The data is fed back to Otis’s R&D group, providing information on reliability and failure so that engineers can use this info to design better products.

Collectively, software embedded on tiny chips yields very big benefits, for years helping Otis remain at the top of its industry.

KEY TAKEAWAYS

The operating system (OS) controls a computer’s hardware and provides a common set of commands for writing programs.

Most computing devices (enterprise-class server computers, PCs, phones, set-top boxes, video games, cars, the Mars Rover) have an operating system.

Some products use operating systems provided by commercial firms, while others develop their own operating system. Others may leverage open source alternatives (see Chapter 12 “Software in Flux: Open Source, Cloud, and Virtualized and App-driven Shifts” “Software in Flux: Partly Cloudy and Sometimes Free”).

Embedded systems are special-purpose computer systems designed to perform one or a few dedicated functions, and are frequently built into conventional products like thermostats, door locks, cars, air conditioners, industrial equipment, and elevators.

Embedded systems can make products and services more efficient, more reliable, more functional and can enable entire new businesses and create or reinforce resources for competitive advantage.

QUESTIONS AND EXERCISES

What does an operating system do? Why do you need an operating system? How do operating systems make a programmer’s job easier? How do operating systems make life easier for end users?

How has the market for desktop, server, and mobile operating systems changed in recent years? Do certain products seem to be gaining traction? Why do you think this is the case?

What kinds of operating systems are used in the devices that you own? On your personal computer? Your mobile phone? The set-top box on top of your television? Are there other operating systems that you come into contact with? If you can’t tell which operating system is in each of these devices, see if you can search the Internet to find out.

For your list in the prior question (and to the extent that you can), diagram the hardware/software “layer cake” for these devices.

For this same list, do you think each device’s manufacturer wrote all of the software that you use on these devices? Can you add or modify software to all of these devices? Why or why not? What would the implications be for cost, security, complexity, reliability, updates and upgrades, and the appeal of each device?

Some ATM machines use Windows. Why would an ATM manufacturer choose to build its systems owing Windows? Why might it want to avoid this? Are there other non-PC devices you’ve encountered that were running some form of Windows?

What are embedded systems? When might firms want to install software on chips instead of on a hard drive?

It’s important to understand how technology impacts a firm’s strategy and competitive environment. Consider the description of Otis elevator’s use of embedded systems. Which parts of the value chain does this impact? How? Consider the “five forces”: How does the system impact the firm’s competitive environment? Are these systems a source of competitive advantage? If not, explain why not? If they are, what kinds of resources for competitive advantage can these kinds of embedded systems create?

Can you think of other firms that can or do leverage embedded systems? Provide examples and list the kinds of benefits these might offer firms and consumers.

Research the Americans with Disabilities Act of 1990 (or investigate if your nation has a similar law), and the implications of this legislation for software developers and Web site operators. Have firms been successfully sued when their software or Web sites could not be accessed by users with physical challenges? What sorts of issues should developers consider when making their products more accessible? What practices might they avoid?

Annotate

NextPrevious

[1] The iPhone and iPod touch OS is derived from Apple’s Mac OS X operating system.

[2] C. Scott, “Why Farmers Are Connecting Their Cows to the Internet,” SingularityHub, April 3, 2014.

[3] M. Overfelt, “A $15 trillion dream of GE-Silicon Valley hybrid,” CNBC, April 22, 2014.

11.3 Application Software

LEARNING OBJECTIVES

Appreciate the difference between desktop and enterprise software.

List the categories of enterprise software.

Understand what an ERP (enterprise resource planning) software package is.

Recognize the relationship of the DBMS (database system) to the other enterprise software systems.

Recognize both the risks and rewards of installing packaged enterprise systems.

Operating systems are designed to create a platform so that programmers can write additional applications, allowing the computer to do even more useful things. While operating systems control the hardware, application software (sometimes referred to as software applications, applications, or even just apps) perform the work that users and firms are directly interested in accomplishing. Think of applications as the place where the users or organization’s real work gets done. As we learned in Chapter 7 "Understanding Network Effects: Strategies for Competing in a Platform-Centric, Winner-Take-All World", the more application software that is available for a platform (the more games for a video game console, the more apps for your phone), the more valuable it potentially becomes.

Desktop software refers to applications installed on a personal computer—your browser, your Office suite (e.g., word processor, spreadsheet, presentation software), photo editors, and computer games are all desktop software. Enterprise software refers to applications that address the needs of multiple, simultaneous users in an organization or work group. Most companies run various forms of enterprise software programs to keep track of their inventory, record sales, manage payments to suppliers, cut employee paychecks, and handle other functions. Another term you might hear is apps. While the definition of apps is somewhat fluid, most folks use the term app to refer to smaller pieces of software that are designed for a specific platform, such as the programs that are executed on a smartphone, tablet, television, or specialized platform like Google Glass or Oculus Rift.

Some firms write their own enterprise software from scratch, but this can be time consuming and costly. Since many firms have similar procedures for accounting, finance, inventory management, and human resource functions, it often makes sense to buy a software package (a software product offered commercially by a third party) to support some of these functions. So-called enterprise resource planning (ERP) software packages serve precisely this purpose. In the way that Microsoft can sell you a suite of desktop software programs that work together, many companies sell ERP software that coordinates and integrates many of the functions of a business. The leading ERP vendors include the firm’s SAP and Oracle, although there are many firms that sell ERP software. A company doesn’t have to install all of the modules of an ERP suite, but it might add functions over time—for example, to plug in an accounting program that is able to read data from the firm’s previously installed inventory management system. And although a bit more of a challenge to integrate, a firm can also mix and match components, linking software the firm has written with modules purchased from different enterprise software vendors.

Figure 11.4 ERP in Action [1]

An ERP system with multiple modules installed can touch many functions of the business:

Sales—A sales rep from Vermont-based SnowboardCo. takes an order for five thousand boards from a French sporting goods chain. The system can verify credit history, apply discounts, calculate price (in euros), and print the order in French.

Inventory—While the sales rep is on the phone with his French customer, the system immediately checks product availability, signaling that one thousand boards are ready to be shipped from the firm’s Burlington warehouse, the other four thousand need to be manufactured and can be delivered in two weeks from the firm’s manufacturing facility in Guangzhou.

Manufacturing—When the customer confirms the order, the system notifies the Guangzhou factory to ramp up production for the model ordered.

Human Resources—High demand across this week’s orders triggers a notice to the Guangzhou hiring manager, notifying her that the firm’s products are a hit and that the flood of orders coming in globally mean her factory will have to hire more workers to keep up.

Purchasing—The system keeps track of raw material inventories, too. New orders trigger an automatic order with SnowboardCo.’s suppliers, so that raw materials are on hand to meet demand.

Order Tracking—The French customer can log in to track her SnowboardCo. order. The system shows her other products that are available, using this as an opportunity to cross-sell additional products.

Decision Support—Management sees the firm’s European business is booming and plans a marketing blitz for the continent, targeting board models and styles that seem to sell better for the Alps crowd than in the U.S. market.

Other categories of enterprise software that managers are likely to encounter include the following:

customer relationship management (CRM) systems used to support customer-related sales and marketing activities

supply chain management (SCM) systems that can help a firm manage aspects of its value chain, from the flow of raw materials into the firm through delivery of finished products and services at the point-of-consumption

business intelligence (BI) systems, which use data created by other systems to provide reporting and analysis for organizational decision making

Major ERP vendors are now providing products that extend into these and other categories of enterprise application software, as well.

Most enterprise software works in conjunction with a database management system (DBMS), sometimes referred to as a “database system.” The database system stores and retrieves the data that an application creates and uses. Think of this as another additional layer in our cake analogy. Although the DBMS is itself considered an application, it’s often useful to think of a firm’s database systems as sitting above the operating system, but under the enterprise applications. Many ERP systems and enterprise software programs are configured to share the same database system so that an organization’s different programs can use a common, shared set of data. This system can be hugely valuable for a company’s efficiency. For example, this could allow a separate set of programs that manage an inventory and point-of-sale system to update a single set of data that tells how many products a firm has to sell and how many it has already sold—information that would also be used by the firm’s accounting and finance systems to create reports showing the firm’s sales and profits.

Firms that don’t have common database systems with consistent formats across their enterprise often struggle to efficiently manage their value chain. Common procedures and data formats created by packaged ERP systems and other categories of enterprise software also make it easier for firms to use software to coordinate programs between organizations. This coordination can lead to even more value chain efficiencies. Sell a product? Deduct it from your inventory. When inventory levels get too low, have your computer systems send a message to your supplier’s systems so that they can automatically build and ship replacement product to your firm. In many cases these messages are sent without any human interaction, reducing time and errors. And common database systems also facilitate the use of BI systems that provide critical operational and competitive knowledge and empower decision making. For more on CRM and BI systems, and the empowering role of data, see Chapter 13 "The Data Asset: Databases, Business Intelligence, Analytics, Big Data, and Competitive Advantage".

Figure 11.5

An organization’s database management system can be set up to work with several applications both within and outside the firm.

The Rewards and Risks of Packaged Enterprise Systems

When set up properly, enterprise systems can save millions of dollars and turbocharge organizations. For example, the CIO of office equipment maker Steelcase credited the firm’s ERP with an eighty-million-dollar reduction in operating expenses saved from eliminating redundant processes and making data more usable. The CIO of Colgate Palmolive also praised their ERP, saying, “The day we turned the switch on, we dropped two days out of our order-to-delivery cycle.” [2] Packaged enterprise systems can streamline processes, make data more usable, and ease the linking of systems with software across the firm and with key business partners. Plus, the software that makes up these systems is often debugged, tested, and documented with an industrial rigor that may be difficult to match with proprietary software developed in-house.

But for all the promise of packaged solutions for standard business functions, enterprise software installations have proven difficult. Standardizing business processes in software that others can buy means that those functions are easy for competitors to match, and the vision of a single monolithic system that delivers up wondrous efficiencies has been difficult for many to achieve. The average large company spends roughly $15 million on ERP software, with some installations running into the hundreds of millions of dollars. [3] And many of these efforts have failed disastrously.

FoxMeyer was once a six-billion-dollar drug distributor, but a failed ERP installation led to a series of losses that bankrupted the firm. The collapse was so rapid and so complete that just a year after launching the system, the carcass of what remained of the firm was sold to a rival for less than $80 million. Hershey Foods blamed a $466 million revenue shortfall on glitches in the firm’s ERP rollout. Among the problems, the botched implementation prevented the candy maker from getting product to stores during the critical period before Halloween. Nike’s first SCM and ERP implementation was labeled a “disaster”; their systems were blamed for over $100 million in lost sales. [4] Even tech firms aren’t immune to software implementation blunders. HP once blamed a $160 million loss on problems with its ERP systems. [5] Manager beware—there are no silver bullets. For insight on the causes of massive software failures, and methods to improve the likelihood of success, see Chapter 11, Section 6 "Understanding Technology beyond the Price Tag: Total Cost of Ownership (TCO) and the Cost of Tech Failure".

KEY TAKEAWAYS

Application software focuses on the work of a user or an organization.

Desktop applications are typically designed for a single user. Enterprise software supports multiple users in an organization or work group.

Popular categories of enterprise software include ERP (enterprise resource planning), SCM (supply chain management), CRM (customer relationship management), and BI (business intelligence) software, among many others.

These systems are used in conjunction with database management systems, programs that help firms organize, store, retrieve, and maintain data.

ERP and other packaged enterprise systems can be challenging and costly to implement, but can help firms create a standard set of procedures and data that can ultimately lower costs and streamline operations.

The more application software that is available for a platform, the more valuable that platform becomes.

The DBMS stores and retrieves the data used by the other enterprise applications. Different enterprise systems can be configured to share the same database system in order share common data.

Firms that don’t have common database systems with consistent formats across their enterprise often struggle to efficiently manage their value chain, and often lack the flexibility to introduce new ways of doing business. Firms with common database systems and standards often benefit from increased organizational insight and decision-making capabilities.

Enterprise systems can cost millions of dollars in software, hardware, development, and consulting fees, and many firms have failed when attempting large-scale enterprise system integration. Simply buying a system does not guarantee its effective deployment and use.

When set up properly, enterprise systems can save millions of dollars and turbocharge organizations by streamlining processes, making data more usable, and easing the linking of systems with software across the firm and with key business partners.

QUESTIONS AND EXERCISES

What is the difference between desktop and enterprise software?

Who are the two leading ERP vendors?

List the functions of a business that might be impacted by an ERP.

What do the acronyms ERP, CRM, SCM, and BI stand for? Briefly describe what each of these enterprise systems does.

Where in the “layer cake” analogy does the DBMS lie.

Name two companies that have realized multimillion-dollar benefits as result of installing enterprise systems.

Name two companies that have suffered multimillion-dollar disasters as result of failed enterprise system installations.

How much does the average large company spend annually on ERP software?

Annotate

Annotate

NextPrevious

[1] Adapted from G. Edmondson, “Silicon Valley on the Rhine,” BusinessWeek International, November 3, 1997.

[2] A. Robinson and D. Dilts, “OR and ERP,” ORMS Today, June 1999.

[3] C. Rettig, “The Trouble with Enterprise Software,” MIT Sloan Management Review 49, no. 1 (2007): 21–27.

[4] C. Koch, “Nike Rebounds: How (and Why) Nike Recovered from Its Supply Chain Disaster,” CIO, June 15, 2004.

[5] R. Charette, “Why Software Fails,” IEEE Spectrum, September 2005.

11.3 Application Software

LEARNING OBJECTIVES

Appreciate the difference between desktop and enterprise software.

List the categories of enterprise software.

Understand what an ERP (enterprise resource planning) software package is.

Recognize the relationship of the DBMS (database system) to the other enterprise software systems.

Recognize both the risks and rewards of installing packaged enterprise systems.

Operating systems are designed to create a platform so that programmers can write additional applications, allowing the computer to do even more useful things. While operating systems control the hardware, application software (sometimes referred to as software applications, applications, or even just apps) perform the work that users and firms are directly interested in accomplishing. Think of applications as the place where the users or organization’s real work gets done. As we learned in Chapter 7 "Understanding Network Effects: Strategies for Competing in a Platform-Centric, Winner-Take-All World", the more application software that is available for a platform (the more games for a video game console, the more apps for your phone), the more valuable it potentially becomes.

Desktop software refers to applications installed on a personal computer—your browser, your Office suite (e.g., word processor, spreadsheet, presentation software), photo editors, and computer games are all desktop software. Enterprise software refers to applications that address the needs of multiple, simultaneous users in an organization or work group. Most companies run various forms of enterprise software programs to keep track of their inventory, record sales, manage payments to suppliers, cut employee paychecks, and handle other functions. Another term you might hear is apps. While the definition of apps is somewhat fluid, most folks use the term app to refer to smaller pieces of software that are designed for a specific platform, such as the programs that are executed on a smartphone, tablet, television, or specialized platform like Google Glass or Oculus Rift.

Some firms write their own enterprise software from scratch, but this can be time consuming and costly. Since many firms have similar procedures for accounting, finance, inventory management, and human resource functions, it often makes sense to buy a software package (a software product offered commercially by a third party) to support some of these functions. So-called enterprise resource planning (ERP) software packages serve precisely this purpose. In the way that Microsoft can sell you a suite of desktop software programs that work together, many companies sell ERP software that coordinates and integrates many of the functions of a business. The leading ERP vendors include the firm’s SAP and Oracle, although there are many firms that sell ERP software. A company doesn’t have to install all of the modules of an ERP suite, but it might add functions over time—for example, to plug in an accounting program that is able to read data from the firm’s previously installed inventory management system. And although a bit more of a challenge to integrate, a firm can also mix and match components, linking software the firm has written with modules purchased from different enterprise software vendors.

Figure 11.4 ERP in Action [1]

An ERP system with multiple modules installed can touch many functions of the business:

Sales—A sales rep from Vermont-based SnowboardCo. takes an order for five thousand boards from a French sporting goods chain. The system can verify credit history, apply discounts, calculate price (in euros), and print the order in French.

Inventory—While the sales rep is on the phone with his French customer, the system immediately checks product availability, signaling that one thousand boards are ready to be shipped from the firm’s Burlington warehouse, the other four thousand need to be manufactured and can be delivered in two weeks from the firm’s manufacturing facility in Guangzhou.

Manufacturing—When the customer confirms the order, the system notifies the Guangzhou factory to ramp up production for the model ordered.

Human Resources—High demand across this week’s orders triggers a notice to the Guangzhou hiring manager, notifying her that the firm’s products are a hit and that the flood of orders coming in globally mean her factory will have to hire more workers to keep up.

Purchasing—The system keeps track of raw material inventories, too. New orders trigger an automatic order with SnowboardCo.’s suppliers, so that raw materials are on hand to meet demand.

Order Tracking—The French customer can log in to track her SnowboardCo. order. The system shows her other products that are available, using this as an opportunity to cross-sell additional products.

Decision Support—Management sees the firm’s European business is booming and plans a marketing blitz for the continent, targeting board models and styles that seem to sell better for the Alps crowd than in the U.S. market.

Other categories of enterprise software that managers are likely to encounter include the following:

customer relationship management (CRM) systems used to support customer-related sales and marketing activities

supply chain management (SCM) systems that can help a firm manage aspects of its value chain, from the flow of raw materials into the firm through delivery of finished products and services at the point-of-consumption

business intelligence (BI) systems, which use data created by other systems to provide reporting and analysis for organizational decision making

Major ERP vendors are now providing products that extend into these and other categories of enterprise application software, as well.

Most enterprise software works in conjunction with a database management system (DBMS), sometimes referred to as a “database system.” The database system stores and retrieves the data that an application creates and uses. Think of this as another additional layer in our cake analogy. Although the DBMS is itself considered an application, it’s often useful to think of a firm’s database systems as sitting above the operating system, but under the enterprise applications. Many ERP systems and enterprise software programs are configured to share the same database system so that an organization’s different programs can use a common, shared set of data. This system can be hugely valuable for a company’s efficiency. For example, this could allow a separate set of programs that manage an inventory and point-of-sale system to update a single set of data that tells how many products a firm has to sell and how many it has already sold—information that would also be used by the firm’s accounting and finance systems to create reports showing the firm’s sales and profits.

Firms that don’t have common database systems with consistent formats across their enterprise often struggle to efficiently manage their value chain. Common procedures and data formats created by packaged ERP systems and other categories of enterprise software also make it easier for firms to use software to coordinate programs between organizations. This coordination can lead to even more value chain efficiencies. Sell a product? Deduct it from your inventory. When inventory levels get too low, have your computer systems send a message to your supplier’s systems so that they can automatically build and ship replacement product to your firm. In many cases these messages are sent without any human interaction, reducing time and errors. And common database systems also facilitate the use of BI systems that provide critical operational and competitive knowledge and empower decision making. For more on CRM and BI systems, and the empowering role of data, see Chapter 13 "The Data Asset: Databases, Business Intelligence, Analytics, Big Data, and Competitive Advantage".

Figure 11.5

An organization’s database management system can be set up to work with several applications both within and outside the firm.

The Rewards and Risks of Packaged Enterprise Systems

When set up properly, enterprise systems can save millions of dollars and turbocharge organizations. For example, the CIO of office equipment maker Steelcase credited the firm’s ERP with an eighty-million-dollar reduction in operating expenses saved from eliminating redundant processes and making data more usable. The CIO of Colgate Palmolive also praised their ERP, saying, “The day we turned the switch on, we dropped two days out of our order-to-delivery cycle.” [2] Packaged enterprise systems can streamline processes, make data more usable, and ease the linking of systems with software across the firm and with key business partners. Plus, the software that makes up these systems is often debugged, tested, and documented with an industrial rigor that may be difficult to match with proprietary software developed in-house.

But for all the promise of packaged solutions for standard business functions, enterprise software installations have proven difficult. Standardizing business processes in software that others can buy means that those functions are easy for competitors to match, and the vision of a single monolithic system that delivers up wondrous efficiencies has been difficult for many to achieve. The average large company spends roughly $15 million on ERP software, with some installations running into the hundreds of millions of dollars. [3] And many of these efforts have failed disastrously.

FoxMeyer was once a six-billion-dollar drug distributor, but a failed ERP installation led to a series of losses that bankrupted the firm. The collapse was so rapid and so complete that just a year after launching the system, the carcass of what remained of the firm was sold to a rival for less than $80 million. Hershey Foods blamed a $466 million revenue shortfall on glitches in the firm’s ERP rollout. Among the problems, the botched implementation prevented the candy maker from getting product to stores during the critical period before Halloween. Nike’s first SCM and ERP implementation was labeled a “disaster”; their systems were blamed for over $100 million in lost sales. [4] Even tech firms aren’t immune to software implementation blunders. HP once blamed a $160 million loss on problems with its ERP systems. [5] Manager beware—there are no silver bullets. For insight on the causes of massive software failures, and methods to improve the likelihood of success, see Chapter 11, Section 6 "Understanding Technology beyond the Price Tag: Total Cost of Ownership (TCO) and the Cost of Tech Failure".

KEY TAKEAWAYS

Application software focuses on the work of a user or an organization.

Desktop applications are typically designed for a single user. Enterprise software supports multiple users in an organization or work group.

Popular categories of enterprise software include ERP (enterprise resource planning), SCM (supply chain management), CRM (customer relationship management), and BI (business intelligence) software, among many others.

These systems are used in conjunction with database management systems, programs that help firms organize, store, retrieve, and maintain data.

ERP and other packaged enterprise systems can be challenging and costly to implement, but can help firms create a standard set of procedures and data that can ultimately lower costs and streamline operations.

The more application software that is available for a platform, the more valuable that platform becomes.

The DBMS stores and retrieves the data used by the other enterprise applications. Different enterprise systems can be configured to share the same database system in order share common data.

Firms that don’t have common database systems with consistent formats across their enterprise often struggle to efficiently manage their value chain, and often lack the flexibility to introduce new ways of doing business. Firms with common database systems and standards often benefit from increased organizational insight and decision-making capabilities.

Enterprise systems can cost millions of dollars in software, hardware, development, and consulting fees, and many firms have failed when attempting large-scale enterprise system integration. Simply buying a system does not guarantee its effective deployment and use.

When set up properly, enterprise systems can save millions of dollars and turbocharge organizations by streamlining processes, making data more usable, and easing the linking of systems with software across the firm and with key business partners.

QUESTIONS AND EXERCISES

What is the difference between desktop and enterprise software?

Who are the two leading ERP vendors?

List the functions of a business that might be impacted by an ERP.

What do the acronyms ERP, CRM, SCM, and BI stand for? Briefly describe what each of these enterprise systems does.

Where in the “layer cake” analogy does the DBMS lie.

Name two companies that have realized multimillion-dollar benefits as result of installing enterprise systems.

Name two companies that have suffered multimillion-dollar disasters as result of failed enterprise system installations.

How much does the average large company spend annually on ERP software?

Annotate

Annotate

NextPrevious

[1] Adapted from G. Edmondson, “Silicon Valley on the Rhine,” BusinessWeek International, November 3, 1997.

[2] A. Robinson and D. Dilts, “OR and ERP,” ORMS Today, June 1999.

[3] C. Rettig, “The Trouble with Enterprise Software,” MIT Sloan Management Review 49, no. 1 (2007): 21–27.

[4] C. Koch, “Nike Rebounds: How (and Why) Nike Recovered from Its Supply Chain Disaster,” CIO, June 15, 2004.

[5] R. Charette, “Why Software Fails,” IEEE Spectrum, September 2005.

11.5 Writing Software

LEARNING OBJECTIVES

Understand, at a managerial level, what programming languages are and how software is developed.

Recognize that an operating system and microprocessor constrain the platform upon which most compiled application software will run.

Understand what Java is and why it is significant.

Know what scripting languages are.

So you’ve got a great idea that you want to express in software—how do you go about creating a program? Programmers write software in a programming language. While each language has its strengths and weaknesses, most commercial software is written in a variant of the C programming language such as C++ (pronounced “see plus plus”), C# (pronounced “see sharp”), or Objective C (popular for iOS app development). Visual Basic (from Microsoft) and Java (from Sun) are also among the more popular of the dozens of programming languages available. Web developers may favor specialty languages like Ruby and Python, SQL is a popular special-purpose language used in databases. And languages are constantly evolving. Apple has created Swift, a new programming language to offer the power of Objective-C but in a language that has the simplicity and error handling of learner, easier-to-use web programming languages.

Some programming languages are extended by frameworks. These are libraries, templates, and extensions that simplify and standardize common tasks, speeding software development, reducing errors, and prompting reuse. Programmers use frameworks to use a standardized set of code and techniques that others have developed and tested, rather than requiring every developer to create his or her own code for things many others have done before them (handle database interactions, manage cookies, etc.). Examples of popular frameworks used to develop Web sites include Rails (for Ruby), Django (for Python), and AngularJS (for JavaScript).

Most professional programmers use an integrated development environment (IDE) to write their code. The IDE includes a text editor, a debugger for sleuthing out errors, and other useful programming tools. The most popular IDE for Windows is Visual Studio, while Apple offers the Xcode IDE. Most IDEs can support several different programming languages. The IDE will also compile a programmer’s code, turning the higher-level lines of instructions that are readable by humans into lower-level instructions expressed as the patterns of ones and zeros that are readable by a computer’s microprocessor.

Figure 11.8

Microsoft’s Visual Studio IDE supports desktop, server, mobile, and cloud computing software development.

Look at the side of a box of commercial software, and you’re likely to see system requirements that specify the operating system and processor that the software is designed for (e.g., “this software works on computers with Windows 8 and Intel-compatible processors”). Wouldn’t it be great if software could be written once and run everywhere? That’s the idea behind Java—a programming language developed by Sun Microsystems.

Java programmers don’t write code with specific operating system commands (say for Windows, Mac OS X, or Linux), instead they use special Java commands to control their user interface or interact with the display and other hardware. Java programs can run on any computer that has a Java Virtual Machine (JVM), a software layer that interprets Java code so that it can be understood by the operating system and processor of a given computer. Java’s platform independence—the ability for developers to “write once, run everywhere”—is its biggest selling point. Many Web sites execute Java applets to run the animation you might see in advertisements or games. Java has also been deployed on over six billion mobile phones worldwide, and is popular among enterprise programmers who want to be sure their programs can scale from smaller hardware up to high-end supercomputers. As long as the machine receiving the Java code has a JVM, then the Java application should run. However, Java has not been popular for desktop applications. Since Java isn’t optimized to take advantage of interface elements specific to the Mac or Windows, most Java desktop applications look clunky and unnatural. Java code that runs through the JVM interpreter is also slower than code compiled for the native OS and processor that make up a platform. [1]

Scripting languages are the final category of programming tool that we’ll cover. Scripting languages typically execute within an application. Microsoft offers a scripting language called VB Script (a derivative of Visual Basic) to automate functions in Office. And most browsers and Web servers support JavaScript, a language that helps make the Web more interactive (despite its name, JavaScript is unrelated to Java). Scripting languages are interpreted within their applications, rather than compiled to run directly by a microprocessor. This distinction makes them slower than the kinds of development efforts found in most commercial software. But most scripting languages are usually easy to use, and are often used both by professional programmers and power users.

KEY TAKEAWAYS

Programs are often written in a tool called an IDE, an application that includes an editor (a sort of programmer’s word processor), debugger, and compiler, among other tools.

Compiling takes code from the high-level language that humans can understand and converts them into the sets of ones and zeros in patterns representing instructions that microprocessors understand.

Popular programming languages include C++, C#, Visual Basic, and Java.

Most software is written for a platform—a combination of an operating system and microprocessor.

Java is designed to be platform independent. Computers running Java have a separate layer called a Java Virtual Machine that translates (interprets) Java code so that it can be executed on an operating system/processor combination. In theory, Java is “write once, run everywhere,” as opposed to conventional applications that are written for an operating system and compiled for an OS/processor combination.

Java is popular on mobile phones, enterprise computing, and to make Web sites more interactive. Java has never been a successful replacement for desktop applications, largely because user interface differences among the various operating systems are too great to be easily standardized.

Scripting languages are interpreted languages, such as VB Script or Java Script. Many scripting languages execute within an application (like the Office programs, a Web browser, or to support the functions of a Web server). They are usually easier to program, but are less powerful and execute more slowly than compiled languages.

QUESTIONS AND EXERCISES

List popular programming languages.

What are programming frameworks, and why would you use one? Name some of the more popular programming frameworks used for web development, and name the programming languages they are used with.

What’s an IDE? Why do programmers use IDEs? Name IDEs popular for Windows and Mac users.

What is the difference between a compiled programming language and an interpreted programming language?

Name one advantage and one disadvantage of scripting languages.

In addition to computers, on what other technology has Java been deployed? Why do you suppose Java is particularly attractive for these kinds of applications?

What’s a JVM? Why do you need it?

What if a programmer wrote perfect Java code, but there was a bug on the JVM installed on a given computer? What might happen?

Why would developers choose to write applications in Java? Why might they skip Java and choose another programming language?

Why isn’t Java popular for desktop applications?

Go to http://www.java.com. Click on “Do I have Java?” Is Java running on your computer? Which version?

Annotate

Annotate

Annotate

NextPrevious

11.6 Understanding Technology beyond the Price Tag: Total Cost of Ownership (TCO) and the Cost of Tech Failure

LEARNING OBJECTIVES

List the different cost categories that comprise total cost of ownership.

Understand that once a system is implemented, the costs of maintaining and supporting the system continue.

List the reasons that technology development projects fail and the measures that can be taken to increase the probability of success.

Examine the failed launch and eventual fix associated with HealthCare.gov, understanding the factors associated with the system’s botched rollout and techniques used to recover the effort.

Managers should recognize that there are a whole host of costs that are associated with creating and supporting an organization’s information systems. Of course, there are programming costs for custom software as well as purchase, configuration, and licensing costs for packaged software, but there’s much, much more.

There are costs associated with design and documentation (both for programmers and for users). There are also testing costs. New programs should be tested thoroughly across the various types of hardware the firm uses, and in conjunction with existing software and systems, before being deployed throughout the organization. Any errors that aren’t caught can slow down a business or lead to costly mistakes that could ripple throughout an organization and its partners. Studies have shown that errors not caught before deployment could be one hundred times more costly to correct than if they were detected and corrected beforehand. [1]

Once a system is “turned on,” the work doesn’t end there. Firms need to constantly engage in a host of activities to support the system that may also include the following:

providing training and end user support

collecting and relaying comments for system improvements

auditing systems to ensure compliance (i.e., that the system operates within the firm’s legal constraints and industry obligations)

providing regular backup of critical data

planning for redundancy and disaster recovery in case of an outage

vigilantly managing the moving target of computer security issues

With so much to do, it’s no wonder that firms spend 70 to 80 percent of their information systems (IS) budgets just to keep their systems running. [2] The price tag and complexity of these tasks can push some managers to think of technology as being a cost sink rather than a strategic resource. These tasks are often collectively referred to as the total cost of ownership (TCO) of an information system. Understanding TCO is critical when making technology investment decisions. TCO is also a major driving force behind the massive tech industry changes discussed in Chapter 12 “Software in Flux: Open Source, Cloud, and Virtualized and App-driven Shifts”.

Why Do Technology Projects Fail?

Even though information systems represent the largest portion of capital spending at most firms, an astonishing one in three technology development projects fail to be successfully deployed. [3] Imagine if a firm lost its investment in one out of every three land purchases, or when building one in three factories. These statistics are dismal! Writing in IEEE Spectrum, risk consultant Robert Charette provides a sobering assessment of the cost of software failures, stating, “The yearly tab for failed and troubled software conservatively runs somewhere from $60 to $70 billion in the United States alone. For that money, you could launch the space shuttle one hundred times, build and deploy the entire 24-satellite Global Positioning System, and develop the Boeing 777 from scratch—and still have a few billion left over.” [4]

Why such a bad track record? Sometimes technology itself is to blame, other times it’s a failure to test systems adequately, and sometimes it’s a breakdown of process and procedures used to set specifications and manage projects. In one example, a multimillion-dollar loss on the NASA Mars Observer was traced back to a laughably simple oversight—Lockheed Martin contractors using English measurements, while the folks at NASA used the metric system. [5] Yes, a $125 million taxpayer investment was lost because a bunch of rocket scientists failed to pay attention to third grade math. When it comes to the success or failure of technical projects, the devil really is in the details.

Projects rarely fail for just one reason. Project post-mortems often point to a combination of technical, project management, and business decision blunders. The most common factors include the following: [6]

Unrealistic or unclear project goals

Poor project leadership and weak executive commitment

Inaccurate estimates of needed resources

Badly defined system requirements and allowing “feature creep” during development

Poor reporting of the project’s status

Poor communication among customers, developers, and users

Use of immature technology

Unmanaged risks

Inability to handle the project’s complexity

Sloppy development and testing practices

Poor project management

Stakeholder politics

Commercial pressures (e.g., leaving inadequate time or encouraging corner-cutting)

Managers need to understand the complexity involved in their technology investments, and that achieving success rarely lies with the strength of the technology alone.

But there is hope. Information systems organizations can work to implement procedures to improve the overall quality of their development practices. Mechanisms for quality improvement include capability maturity model integration (CMMI), which gauge an organization’s process maturity and capability in areas critical to developing and deploying technology projects, and provides a carefully chosen set of best practices and guidelines to assist quality and process improvement. [7]

Firms are also well served to leverage established project planning and software development methodologies that outline critical businesses processes and stages when executing large-scale software development projects. The idea behind these methodologies is straightforward—why reinvent the wheel when there is an opportunity to learn from and follow blueprints used by those who have executed successful efforts. When methodologies are applied to projects that are framed with clear business goals and business metrics, and that engage committed executive leadership, success rates can improve dramatically. [8]

While software development methodologies are the topic of more advanced technology courses, the savvy manager knows enough to inquire about the development methodologies and quality programs used to support large scale development projects, and can use these investigations as further input when evaluating whether those overseeing large scale efforts have what it takes to get the job done.

Lessons Learned from the Failure and Rescue of HealthCare.gov

To say the Affordable Care Act was controversial is an understatement. What many regard as the signature legislation of President Obama’s domestic agenda had barely passed the U.S. Senate, squeaking by with just one vote. The U.S. House of Representatives has voted at least fifty times to repeal or rollback parts of the law. [9] But politics aside, for the law to be successful, technology needed to work, and at rollout it didn’t.

The Affordable Care Act (a.k.a. Obamacare) called for a Web site, HealthCare.gov, that served as a national health care exchange where citizens could shop for, compare, and enroll in health care plans. The site would also offer subsidies for low-income enrollees and assist those eligible to sign up for Medicaid. Interest surged the first day the site went live. [10] Over 250,000 users were said to have visited HealthCare.gov on day one. What is the total enrollment after the first day? Eight. [11] That’s not a typo. The system implementing HealthCare.gov was full of bugs and design flaws that it had enrolled very few people, the number of which is enough to count using your two hands. And this is for a system where the government had agreed to pay the lead contractor $292 million. [12]

Figure 11.9

The HealthCare.gov Web site

The Problems

Problems with the Web site could have been predicted by anyone who read the previous section. The most critical issue was a lack of clear authority. Consultants brought in to fix the problem claimed they couldn’t figure out who was in charge of the HealthCare.gov launch. What was seen after the launch were “multiple contractors bickering with one another and no one taking ownership for anything.” [13] Technologists were also not involved in top-level planning. The president regularly ended meetings on the Affordable Care Act by saying, “I want to remind the team that this only works if the technology works.” However, no one in the meetings had any idea whether the technology worked. [14] In fact, in the months leading up to the site’s launch, the White House health-reform director kept the White House CTO (an executive who had previously launched two commercial health care firms), “off the invitation list for the planning meetings.”

Most large-scale systems will have clear stages: requirements definition, design, development, and testing phases, but consultants brought in to survey HealthCare.gov pointed out that these phases were started on top of one another, where design and development began before requirements definition was even complete. [15]

While so-called “agile software development” methodologies allow for iterative development, they also rely on regular testing of modules developed along the way, but there were no such precautions taken with HealthCare.gov. Predeployment testing was minimal or nonexistent, [16] and the system was implemented in a single big bang rollout. One of the executives brought in to help diagnose problems and consult on fixes was former Twitter CTO and current Kleiner Perkins partner Mike Abbott. Abbott knows how to fix Web sites in crisis. He’s credited with getting Twitter past incessant “fail whale” site down messages. Abbott said, “You never open a service like this to everyone at once. You open it in small concentric circles and expand”—such as one state first, then a few more—“so you can watch it, fix it and scale it.” [17] The lack of testing also led to no credible verification on project status. The administration was so clueless to potential problems that even thirty-six hours beforehand, White House Chief of Staff Denis McDonough told a friend that “when we turned it on we’re going to knock your socks off.” [18]

There were also several technical and design problems with the implementation of the site. It was immediately obvious that HealthCare.gov could not scale to handle national demands. At best, the site could tolerate 1,100 simultaneous users at launch, nowhere near the 50,000–60,000 that was expected, or the 250,000 that had been reported as visiting the first day. [19] The site also lacked common measurement and reporting systems. Most consumer Web sites report data to a dashboard used by their technical staff, a summary screen that provides a quick way for engineers to measure a Web site’s performance, showing things like access traffic and the number of times the page was loaded, and helping to pinpoint where system problems are occurring. HealthCare.gov lacked even the most basic performance dashboard. Common practices like caching frequently accessed data (storing high-demand items in memory so databases don’t need to be repeatedly accessed) also weren’t implemented. Also, from a design perspective, the user experience was horrible. For example, consumers were required to create an account before being able to compare plans, and the registration process created a bottleneck that further exacerbated issues, increasing wait times. Using the browser’s “Back” button frequently broke the site, and users who were kicked off mid-enrollment often had to restart efforts from scratch.

The Fix

Fixing HealthCare.gov in a few weeks’ time was a daunting challenge. No one knew the extent of problems or even if the system could be saved or needed to be scrapped entirely. Fixing the site required bringing in experienced management with clear leadership authority and responsibility. The White House tapped Jeff Zients, a highly regarded businessman, who at the time was deputy director of the Office of Management and Budget. Zients had experience running large bureaucratic programs (among them the “Cash for Clunkers” effort that spurred car sales following the 2008 U.S. recession). Zients was also scheduled to take over as director of the president’s National Economic Council.

A team of seasoned technologists was also brought in to lead the system triage and site fixes. Todd Park, the White House CTO, took a front-and-center role in helping assemble the team. In addition to on-site and remote consulting from Abbot, the team harnessed the expertise of Mikey Dickerson, Google’s Site Reliability engineer. Dickerson was an administration ally and had taken a leave from Google in 2012 to help Obama staffers develop big data systems deemed responsible for getting out the winning vote. [20] Also part of the effort was Gabriel Burt, CTO at Chicago-based Civis Analytics, the firm founded by many of the analytics specialists involved in the 2012 campaign. Both men showed up in October and stayed into December.

The team needed more than leadership, they needed developer commitment. Abbot said, “The first red flag you look for is whether there is a willingness by the people there to have outside help. If not, then I’d say it’s simpler to write it new than to understand the code base as it is, if the people who wrote it are not cooperating. But they were eager to cooperate.” [21]

At times, it seemed that bureaucracy was conspiring to halt goodwill. Government regulations don’t allow for volunteers to work on government projects for sustained periods of time. So new leadership actually had to be put on the payroll of contractor QSSI as hourly workers, earning Dickerson what he reported was “a fraction” of his Google pay. [22]

Clear priority setting, results reporting, and coordination was implemented through stand-up meetings, which is common among practitioners of agile development and popular inside the development groups of many leading tech firms and start-ups. In a stand-up meeting, technologists stand up (no sitting, be quick and to the point), identify a problem or a set of problems they’re facing, identify obstacles to gaining a solution, gain quick feedback from the group, then disperse to solve presented problems, reporting back at the end of the day at a recap stand-up. An open phone line would connect people working on the Web site at other locations. The stand-ups helped everyone feel progress toward common goals and offered coordination early project management lacked.

The Result

The nonpartisan Congressional Budget Office (CBO) originally projected 7 million enrollees, and revised that figure down to 6 million after persistent Web site glitches plagued HealthCare.gov. Despite what was likely the most disastrous and embarrassing rollout of a consumer-facing government technology initiative, HealthCare.gov had actually signed up over 8 million insurance users by mid-April (roughly two weeks after the original deadline, which was extended due to rollout problems).

While the system’s failure was large and public, it was by no means an anomaly. Research firm the Standish Group estimates that in the past ten years, some 94 percent of large federal information technology projects were unsuccessful: “More than half were delayed, over budget, or didn’t meet user expectations, and 41.4 percent failed completely.” The United States isn’t alone in government technology failures. United Kingdom’s National Health Service wasted almost $20 billion to computerize medical records before eventually abandoning the project. Wise managers will learn from the lessons of HealthCare.gov. [23]

KEY TAKEAWAYS

The care and feeding of information systems can be complex and expensive. The total cost of ownership of systems can include software development and documentation, or the purchase price and ongoing license and support fees, plus configuration, testing, deployment, maintenance, support, training, compliance auditing, security, backup, and provisions for disaster recovery. These costs are collectively referred to as TCO, or a system’s total cost of ownership.

Information systems development projects fail at a startlingly high rate. Failure reasons can stem from any combination of technical, process, and managerial decisions.

IS organizations can leverage software development methodologies to improve their systems development procedures, and firms can strive to improve the overall level of procedures used in the organization through models like CMMI. However, it’s also critical to engage committed executive leadership in projects, and to frame projects using business metrics and outcomes to improve the chance of success.

System errors that aren’t caught before deployment can slow down a business or lead to costly mistakes that could ripple throughout an organization. Studies have shown that errors not caught before deployment could be 100 times more costly to correct than if they were detected and corrected beforehand.

Firms spend 70 to 80 percent of their IS budgets just to keep their systems running.

IS organizations can employ project planning and software development methodologies to implement procedures to improve the overall quality of their development practices.

A combination of managerial and technical issues conspired to undermine the rollout of HealthCare.gov. While the Web site was effectively unusable at launch, a systematic effort of management authority, communication, coordination, and expertise rescued the effort, allowing the site to exceed enrollment projections.

QUESTIONS AND EXERCISES

List the types of total ownership costs associated with creating and supporting an organization’s information systems.

On average, what percent of firms’ IS budgets is spent to keep their systems running?

What are the possible effects of not detecting and fixing major system errors before deployment?

List some of the reasons for the failure of technology development projects.

What is the estimated yearly cost of failed technology development projects?

What was the reason attributed to the failure of the NASA Mars Observer project?

What is capability maturity model integration (CMMI) and how is it used to improve the overall quality of a firm’s development practices?

Perform an Internet search for “IBM Rational Portfolio Manager.” How might IBM’s Rational Portfolio Manager software help companies realize more benefit from their IT systems development project expenditures? What competing versions of this product offered by other organizations?

Why did HealthCare.gov fail? What could have been done early on to prevent this failure? How was the Web site eventually rescued? What lessons have you learned as a manager regarding the planning, development, and deployment of information systems based on examining this case?

Annotate

Annotate

Annotate

Annotate

NextPrevious

[1] R. Charette, “Why Software Fails,” IEEE Spectrum, September 2005.

[2] C. Rettig, “The Trouble with Enterprise Software,” MIT Sloan Management Review 49, no. 1 (2007): 21–27.

[3] L. Dignan, “Survey: One in 3 IT Projects Fail; Management OK with It,” ZDNet, December 11, 2007.