CH13 PowerPoint - Understanding Software
CH13 PowerPoint - Understanding Software
©2018 BY FLATWORLD. ALL RIGHTS RESERVED. YOUR USE OF THIS WORK IS SUBJECT TO THE LICENSE
AGREEMENT AVAILABLE.
USED, MODIFIED, OR REPRODUCED IN ANY FORM BY ANY MEANS EXCEPT AS EXPRESSLY PERMITTED
UNDER THE LICENSING AGREEMENT.
©FlatWorld 2018
CHAPTER 13
Understanding Software: A Primer
for Managers
©FlatWorld 2018
Learning Objectives
1. Recognize the importance of software and its implications for the firm
and strategic decision-making.
2. Understand that software is everywhere; not just in computers, but
also cell phones, cars, cameras, and many other technologies.
3. Know what software is and be able to differentiate it from hardware.
4. List the major classifications of software and give examples of each.
©FlatWorld 2018
Introduction
©FlatWorld 2018
What is Software?
©FlatWorld 2018
The Hardware/Software Layer Cake
©FlatWorld 2018
Learning Objectives
©FlatWorld 2018
Operating Systems
©FlatWorld 2018
Firmware and Embedded Systems
©FlatWorld 2018
Learning Objectives
©FlatWorld 2018
Application Software: Apps, Desktop Products, and
Enterprise Systems
• platform: Products and services that allow for the development and
integration of software products and other complementary goods.
• Application software performs the work that users and firms are
directly interested in accomplishing.
• desktop software: Applications installed on a personal computer,
typically supporting tasks performed by a single user
©FlatWorld 2018
Application Software: Apps, Desktop Products, and
Enterprise Systems (cont’d)
©FlatWorld 2018
Application Software: Apps, Desktop Products, and
Enterprise Systems (cont’d)
• Managers are likely to encounter the following three categories of
enterprise software:
• 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 through delivery of finished products and services at the
point of consumption.
• business intelligence (BI) systems: Systems that use data created by other
systems to provide reporting and analysis for organizational decision-making.
©FlatWorld 2018
Data Management System
©FlatWorld 2018
Database Management System
An organization’s database management system can be set up to work with several applications both within and outside the firm.
©FlatWorld 2018
Packaged Enterprise System
©FlatWorld 2018
Learning Objectives
©FlatWorld 2018
Distributed Computing, Web Services, and APIs:
The Platform Builders
• distributed computing: A form of computing where systems in
different locations communicate and collaborate to complete a task.
• server: Program that fulfills the requests of a client.
• Hardware context—computer that has been configured to support
requests from other computers.
• Software context—program that fulfills requests.
• client: Software program that makes requests of a server program.
©FlatWorld 2018
Application Software: Apps, Desktop Products,
and Enterprise Systems
• application server: Software that houses business logic for use by
multiple applications. Used by more advanced distributed
environments.
• web services: Small pieces of code that are accessed via the
application server that permit interoperable machine-to-machine
interaction over a network.
• application programming interface (API): Programming hooks, or
guidelines, published by firms that tell other programs how to get a
service to perform a task such as send or receive data.
• service-oriented architecture (SOA): Set of Web services built
around an organization’s processes and procedures.
©FlatWorld 2018
Multitiered Distributed System
©FlatWorld 2018
Application Software: Apps, Desktop Products, and
Enterprise Systems
• Chunks of code that are accessed via the application server are
sometimes referred to as Web services. API (or Application
Programming Interface) used to describe the same concept.
• For managerial purposes you can think of Web services and APIs as
doing pretty much the same thing—pieces of code that can be
summoned by other programs to perform a task.
• For example:
• Firms other than Google using Google Maps.
• Spotify’s API allowed Uber to modify its app to play a rider’s playlist through the
driver’s smartphone-connected car speakers.
• Uber’s API allowed United Airlines to build an app that can summon an Uber driver.
©FlatWorld 2018
Expedia Affiliate Network
©FlatWorld 2018
Formats to Facilitate Data Sharing
©FlatWorld 2018
JSON and XML Examples
These examples
both show an
“employees” object
with three employee
records. The first is
represented in
JSON format, the
second in XML.
©FlatWorld 2018
Writing Software
©FlatWorld 2018
Apple’s Xcode IDE
©FlatWorld 2018
Learning Objectives
©FlatWorld 2018
A Brief Introduction to Popular Approaches to
Developing Software
• software developmental methodologies: Methods to divide tasks
related to software creation and deployment up into tasks targeted at
building better products with stronger product management guidelines
and techniques.
• waterfall: Relatively linear sequential approach to software development.
Benefits include surfacing requirements up front and creating a blueprint to
follow throughout a project.
• The classic, but increasingly out-of-favor approach.
• Can prevent “feature creep”: Expansion of the scope of a project.
• Very rigid, can take a long time to implement, and requires precise forethought on all
requirements needed at the end of the project.
©FlatWorld 2018
A Brief Introduction to Popular Approaches to
Developing Software (cont’d)
• agile development: Developing work continually and iteratively, with a goal of
more frequent product rollouts and constant improvement across smaller
components of the larger project.
• Has become the dominant software development methodology.
• This approach is popular due to its speed and flexibility.
• Some criticize that this approach might force products to develop too quickly and with
less quality.
• scrum: Approach to organizing and managing agile projects that breaks
deliverables into “sprints” delivered in one to six week increments by teams of
less than ten. Defines functions as roles, artifacts, and ceremonies.
• Roles—product owner, scrum master, and team
• Artifacts—product vision, product backlog, sprint backlog, task board and/burndown
chart
• Ceremonies—sprint planning, daily scrum, sprint demo and review and retrospective
©FlatWorld 2018
Learning Objectives
1. List the different cost categories that comprise total cost of ownership.
2. Understand that once a system is implemented, the costs of
maintaining and supporting the system continue.
3. List the reasons that technology development projects fail and the
measures that can be taken to increase the probability of success.
4. 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.
©FlatWorld 2018
Beyond the Price Tag: Total Cost of Ownership
and the Cost of Tech Failure
• Total cost of ownership (TCO): All of the costs associated with the
ALL OF
design, THE COSTS
development, ASSOCIATED
testing, WITH
implementation, ANY FORM
documentation,
OF CAPITAL,
training, INCLUDING
and maintenance A SOFTWARE
of a software system. SYSTEM
• Costs in the case of a software system:
• Design
• Development
• Testing
• Implementation
• Documentation
• Training
• Maintenance
©FlatWorld 2018
Why Do Technology Projects Fail?
©FlatWorld 2018
Why Do Technology Projects Fail? (cont’d)
• Unmanaged risks
• Inability to handle the project’s complexity
• Sloppy development and testing practices
• Poor project management
• Stakeholder politics
• Commercial pressures
©FlatWorld 2018
Why Do Technology Projects Fail?
©FlatWorld 2018
Lessons Learned From the Failure and Rescue
of Healthcare.gov
• HealthCare.gov served as a national healthcare exchange where
people could shop for, compare, and enroll in healthcare plans.
• Subsidies offered for low-income enrollees.
• Assist those eligible to sign up for Medicaid.
• System riddled with problems:
• Bug-ridden and flawed design prevented sign-ups
• Extremely high cost
• Lack of clear authority over website functioning
• Could not handle national demands
• Lacked common measurement and reporting systems
©FlatWorld 2018
Lessons Learned From the Failure and Rescue
of Healthcare.gov (cont’d)
©FlatWorld 2018