OE 5 Due in 24 hours
Chapter 9: The People in Information Systems
Learning Objectives
Upon successful completion of this chapter, you will be
able to:
• describe each of the different roles that people play
in the design, development, and use of information
systems;
• understand the different career paths available to
those who work with information systems;
• explain the importance of where the information-
systems function is placed in an organization; and
• describe the different types of users of information
systems.
Introduction
The opening chapters of this text focused on the technology behind
information systems, namely hardware, software, data, and
networking. The last chapter covered business processes and the
Chapter 9: The People in Information Systems | 189
U. S. Bureau of Labor Statistics – 2020 Projections
key role they can play in the success of a business. This chapter
discusses people, the last component of an information system.
People are involved in information systems in just about every
way. People imagine information systems, people develop
information systems, people support information systems, and,
perhaps most importantly, people use information systems.
The Creators of Information Systems
The first group of people to be considered play a role in designing,
developing, and building information systems. These people are
generally technical and have a background in programming,
analysis, information security, or database design. Just about
everyone who works in the creation of information systems has a
minimum of a bachelor’s degree in computer science or information
systems, though that is not necessarily a requirement. The process
of creating information systems will be covered in more detail in
Chapter 10.
The following chart shows the U. S. Bureau of Labor Statistics
projections for computing career employment in 2020.
190 | Information Systems for Business and Beyond (2019)
Systems Analyst
The systems analyst straddles the divide between identifying
business needs and imagining a new or redesigned system to fulfill
those needs. This individual works with a team or department
seeking to identify business requirements and analyze the specific
details of an existing system or a system that needs to be built.
Generally, the analyst is required to have a good understanding
of the business itself, the purpose of the business, the business
processes involved, and the ability to document them well. The
analyst identifies the different stakeholders in the system and works
to involve the appropriate individuals in the analysis process.
Prior to analyzing the problem or the system of concern, the
analyst needs to a) clearly identify the problem, b) gain approval for
the project, c) identify the stakeholders, and d) develop a plan to
monitor the project. The analysis phase of the project can be broken
down into five steps.
1. Seek out and identify the details
2. Specify requirements
3. Decide which requirements are most important
4. Create a dialog showing how the user interacts with the
existing system
5. Ask users to critique the list of requirements that have been
developed
The analysis phase involves both the systems analyst and the
users. It is important to realize the role the users take in the analysis
of the system. Users can have significant insights into how well the
current system functions as well as suggest improvements.
Once the requirements are determined, the analyst begins the
process of translating these requirements into an information
systems design. It is important to understand which different
technological solutions will work and provide several alternatives
to the client, based on the company’s budgetary constraints,
Chapter 9: The People in Information Systems | 191
technology constraints, and culture. Once the solution is selected,
the analyst will create a detailed document describing the new
system. This new document will require that the analyst understand
how to speak in the technical language of systems developers.
The design phase results in the components of the new system
being identified, including how they relate to one another. The
designer needs to communicate clearly with software developers as
well database administrators by using terminology that is consistent
with both of these specialties. The design phase of the project can
be broken down into six steps.
1. Design the hardware environment
2. Design the software
3. Design how the new system will interface with the users
4. Design hardware interfaces
5. Design database tables
6. Design system security
A systems analyst generally is not the one who does the actual
development of the information system. The design document
created by the systems analyst provides the detail needed to create
the system and is handed off to a developer to actually write the
software and to the database administrator to build the database
and tables that will be in the database.
Sometimes the system may be assembled from off-the-shelf
components by a person called a systems integrator. This is a
specific type of systems analyst that understands how to get
different software packages to work with each other.
To become a systems analyst, you should have a background both
in the business analysis and in systems design. Many analysts first
work as developers and have business experience before becoming
system analysts. It is vital for analysts to clearly understand the
purpose of the business of interest, realizing that all businesses are
unique.
192 | Information Systems for Business and Beyond (2019)
Programmer/Developer
Programmers spend their time writing computer code in a
programming language. In the case of systems development,
programmers generally attempt to fulfill the design specifications
given to them by a systems analyst/designer. Many different styles
of software development exist A programmer may work alone for
long stretches of time or work as part of a team with other
developers. A programmer needs to be able to understand complex
processes and also the intricacies of one or more programming
languages.
Computer Engineer
Computer engineers design the computing devices that are used
every day. There are many types of computer engineers who work
on a variety of different types of devices and systems. Some of the
more prominent computer engineering jobs are as follows:
• Hardware engineer. A hardware engineer designs hardware and test components such as microprocessors, memory
devices, routers, and networks. Many times, a hardware
engineer is at the cutting edge of computing technology,
creating something brand new. Other times, the hardware
engineer’s job is to re-engineer an existing component to work
faster or use less power. Many times a hardware engineer’s job
is to write code to create a program that will be implemented
directly on a computer chip.
• Software engineer. Software engineers tend to focus on a specific area of software such as operating systems, networks,
applications, or databases. Software engineers use three
primary skill areas: computer science, engineering, and
mathematics.
Chapter 9: The People in Information Systems | 193
• Systems engineer. A systems engineer takes the components designed by other engineers and makes them all work
together, focusing on the integration of hardware and
software. For example, to build a computer the mother board,
processor, memory, and hard disk all have to work together. A
systems engineer has experience with many different types of
hardware and software and knows how to integrate them to
create new functionality.
• Network engineer. A network engineer understands the networking requirements of an organization and then designs
a communications system to meet those needs, using the
networking hardware and software, sometimes referred to as a
network operating system. Network engineers design both
local area networks as well as wide area networks.
There are many different types of computer engineers, and often
the job descriptions overlap. While many may call themselves
engineers based on a company job title, there is also a professional
designation of “professional engineer” which has specific
requirements. In the United States each state has its own set of
requirements for the use of this title, as do different countries
around the world. Most often, it involves a professional licensing
exam.
Information Systems Operations and Administration
Another group of information systems professionals are involved in
the day-to-day operations and administration of IT. These people
must keep the systems running and up-to-date so that the rest
of the organization can make the most effective use of these
resources.
194 | Information Systems for Business and Beyond (2019)
Computer Operator
A computer operator is the person who oversees the mainframe
computers and data centers in organizations. Some of their duties
include keeping the operating systems up to date, ensuring available
memory and disk storage, providing for redundancy (think
electricity, connectivity to the Internet, and database backups), and
overseeing the physical environment of the computer. Since
mainframe computers increasingly have been replaced with servers,
storage management systems, and other platforms, computer
operators’ jobs have grown broader and include working with these
specialized systems.
Database Administrator
A Database Administrator (DBA) is the person who designs and
manages the databases for an organization. This person creates and
maintains databases that are used as part of applications or the
data warehouse. The DBA also consults with systems analysts and
programmers on projects that require access to or the creation of
databases.
Help Desk/Support Analyst
Most mid-size to large organizations have their own information
technology help desk. The help desk is the first line of support for
computer users in the company. Computer users who are having
problems or need information can contact the help desk for
assistance. Many times a help desk worker is a junior level employee
who is able to answer basic issues that users need assistance with.
Help desk analysts work with senior level support analysts or have a
Chapter 9: The People in Information Systems | 195
computer knowledgebase at their disposal to help them investigate
the problem at hand. The help desk is a great place to break into
working in IT because it exposes you to all of the different
technologies within the company. A successful help desk analyst
should have good communications skills and a sincere interest in
helping users.
Trainer
A computer trainer conducts classes to teach people specific
computer skills. For example, if a new ERP system is being installed
in an organization, one part of the implementation process is to
teach all of the users how to use the new system. A trainer may work
for a software company and be contracted to come in to conduct
classes when needed; a trainer may work for a company that offers
regular training sessions. Or a trainer may be employed full time for
an organization to handle all of their computer instruction needs.
To be successful as a trainer you need to be able to communicate
technical concepts clearly and demonstrate patience with learners.
Managing Information Systems
The management of information-systems functions is critical to
the success of information systems within the organization. Here
are some of the jobs associated with the management of
information systems.
196 | Information Systems for Business and Beyond (2019)
CIO
The Chief Information Officer (CIO) is the head of the information-
systems function. This person aligns the plans and operations of the
information systems with the strategic goals of the organization.
Tasks include budgeting, strategic planning, and personnel
decisions for the information systems function. The CIO must also
be the face of the IT department within the organization. This
involves working with senior leaders in all parts of the organization
to ensure good communication, planning, and budgeting.
Interestingly, the CIO position does not necessarily require a lot
of technical expertise. While helpful, it is more important for this
person to have good management skills and understand the
business. Many organizations do not have someone with the title
of CIO. Instead, the head of the information systems function is
called the Vice President of Information Systems or Director of
Information Systems.
Functional Manager
As an information systems organization becomes larger, many of
the different functions are grouped together and led by a manager.
These functional managers report to the CIO and manage the
employees specific to their function. For example, in a large
organization there are a group of systems analysts who report to
a manager of the systems analysis function. For more insight into
how this might look, see the discussion later in the chapter of how
information systems are organized.
Chapter 9: The People in Information Systems | 197
Gantt Chart for managing projects
ERP Management
Organizations using an ERP require one or more individuals to
manage these systems. EPR managers make sure that the ERP
system is completely up to date, work to implement any changes to
the ERP that are needed, and consult with various user departments
on needed reports or data extracts.
Project Managers
Information systems projects are notorious for going over budget
and being delivered late. In many cases a failed IT project can spell
doom for a company. A project manager is responsible for keeping
projects on time and on budget. This person works with the
stakeholders of the project to keep the team organized and
communicates the status of the project to management. Gantt
charts, shown above, are used to graphically illustrate a project’s
schedule, tasks, and resources.
A project manager does not have authority over the project team.
198 | Information Systems for Business and Beyond (2019)
Instead, the project manager coordinates schedules and resources
in order to maximize the project outcomes. This leader must be a
good communicator and an extremely organized person. A project
manager should also have good people skills. Many organizations
require each of their project managers to become certified as a
Project Management Professional (PMP).
Information Security Officer
An information security officer is in charge of setting information
security policies for an organization and then overseeing the
implementation of those policies. This person may have one or more
people reporting to them as part of the information security team.
As information has become a critical asset, this position has become
highly valued. The information security officer must ensure that the
organization’s information remains secure from both internal and
external threats.
Emerging Roles
As technology evolves many new roles are becoming more common
as other roles diminish. For example, as we enter the age of “big
data,” we are seeing the need for more data analysts and business
intelligence specialists. Many companies are now hiring social
media experts and mobile technology specialists. The increased use
of cloud computing and Virtual Machine (VM) technologies also is
increasing demand for expertise in those areas.
Chapter 9: The People in Information Systems | 199
Career Paths in Information Systems (click to enlarge)
Career Paths in Information Systems
These job descriptions do not
represent all possible jobs
within an information systems
organization. Larger
organizations will have more
specialized roles, while smaller
organizations may combine
some of these roles. Many of
these roles may exist outside of
a traditional information-
systems organization, as we will
discuss below.
Working with information
systems can be a rewarding
career choice. Whether you
want to be involved in very
technical jobs (programmer,
database administrator), or you
want to be involved in working
with people (systems analyst, trainer, project manager), there are
many different career paths available.
Many times those in technical jobs who want career advancement
find themselves in a dilemma. A person can continue doing
technical work, where sometimes their advancement options are
limited, or become a manager of other employees and put
themselves on a management career track. In many cases those
proficient in technical skills are not gifted with managerial skills.
Some organizations, especially those that highly value their
technically skilled employees, create a technical track that exists in
parallel to the management track so that they can retain employees
who are contributing to the organization with their technical skills.
200 | Information Systems for Business and Beyond (2019)
CISCO certification badge
Sidebar: Are Certifications Worth Pursuing?
As technology becomes more important to businesses, hiring
employees with technical skills is becoming critical. But how can
an organization ensure that the person they are hiring has the
necessary skills? Many organizations are including technical
certifications as a prerequisite for getting hired.
Cisco Certified Internetwork Expert.
Certifications are
designations given by a
certifying body that someone
has a specific level of
knowledge in a specific
technology. This certifying
body is often the vendor of the
product itself, though
independent certifying
organizations, such as
CompTIA, also exist. Many of these organizations offer certification
tracks, allowing a beginning certificate as a prerequisite to getting
more advanced certificates. To get a certificate, you generally
attend one or more training classes and then take one or more
certification exams. Passing the exams with a certain score will
qualify you for a certificate. In most cases, these classes and
certificates are not free. In fact a highly technical certification can
cost thousands dollars. Some examples of the certifications in
highest demand include Microsoft (software certifications), Cisco
(networking), and SANS (security).
For many working in IT, determining whether to pursue one or
more of these certifications is an important question. For many jobs,
Chapter 9: The People in Information Systems | 201
such as those involving networking or security, a certificate will be
required by the employer as a way to determine which potential
employees have a basic level of skill. For those who are already in
an IT career, a more advanced certificate may lead to a promotion.
For those wondering about the importance of certification, the best
solution is to talk to potential employers and those already working
in the field to determine the best choice.
Organizing the Information Systems Function
In the early years of computing, the information-systems function
(generally called “data processing”) was placed in the finance or
accounting department of the organization. As computing became
more important, a separate information-systems function was
formed, but it still was generally placed under the Chief Financial
Officer and considered to be an administrative function of the
company. By the 1980s and 1990s, when companies began
networking internally and then connecting to the Internet, the
information systems function was combined with the
telecommunications functions and designated as the Information
Technology (IT) department. As the role of information technology
continued to increase, its place in the organization became more
important. In many organizations today, the head of IT (the CIO)
reports directly to the CEO.
Where in the Organization Should IS Be?
Before the advent of the personal computer, the information
202 | Information Systems for Business and Beyond (2019)
systems function was centralized within organizations in order to
maximize control over computing resources. When the PC began
proliferating, many departments within organizations saw it as a
chance to gain some computing resources for themselves. Some
departments created an internal information systems group,
complete with systems analysts, programmers, and even database
administrators. These departmental IS groups were dedicated to
the information needs of their own departments, providing quicker
turnaround and higher levels of service than a centralized IT
department. However, having several IS groups within an
organization led to a lot of inefficiencies. There were now several
people performing the same jobs in different departments. This
decentralization also led to company data being stored in several
places all over the company.
In some organizations a matrix reporting structure developed in
which IT personnel were placed within a department and reported
to both the department management and the functional
management within IS. The advantages of dedicated IS personnel
for each department must be weighed against the need for more
control over the strategic information resources of the company.
For many companies, these questions are resolved by the
implementation of the ERP system (see discussion of ERP in Chapter
8). Because an ERP system consolidates most corporate data back
into a single database, the implementation of an ERP system
requires organizations to find “silos” of data so that they can
integrate them back into the corporate system. The ERP allows
organizations to regain control of their information and influences
organizational decisions throughout the company.
Outsourcing
Frequently an organization needs a specific skill for a limited period
of time. Instead of training existing employees or hiring new staff,
Chapter 9: The People in Information Systems | 203
it may make more sense to outsource the job. Outsourcing can be
used in many different situations within the information systems
function, such as the design and creation of a new website or the
upgrade of an ERP system. Some organizations see outsourcing as a
cost-cutting move, contracting out a whole group or department.
New Models of Organizations
The integration of information technology has influenced the
structure of organizations. The increased ability to communicate
and share information has led to a “flattening” of the organizational
structure due to the removal of one or more layers of management.
The network-based organizational structure is another changed
enabled by information systems. In a network-based organizational
structure, groups of employees can work somewhat independently
to accomplish a project. People with the right skills are brought
together for a project and then released to work on other projects
when that project is over. These groups are somewhat informal and
allow for all members of the group to maximize their effectiveness.
Information Systems Users – Types of Users
Besides the people who work to create, administer, and manage
information systems, there is one more extremely important group
of people, namely, the users of information systems. This group
represents a very large percentage of an organization’s employees.
If the user is not able to successfully learn and use an information
system, the system is doomed to failure.
Technology adoption user types
204 | Information Systems for Business and Beyond (2019)
Diffusion of Innovation (click to enlarge)
One tool that can be used to
understand how users will
adopt a new technology comes
from a 1962 study by Everett
Rogers. In his book, Diffusion of
Innovation,[1]Rogers studied
how farmers adopted new
technologies and noticed that
the adoption rate started slowly
and then dramatically
increased once adoption hit a
certain point. He identified five specific types of technology
adopters:
• Innovators. Innovators are the first individuals to adopt a new technology. Innovators are willing to take risks, are the
youngest in age, have the highest social class, have great
financial liquidity, are very social, and have the closest contact
with scientific sources and interaction with other innovators.
Risk tolerance is high so there is a willingness to adopt
technologies thast may ultimately fail. Financial resources help
absorb these failures (Rogers, 1962, p. 282).
• Early adopters. The early adopters are those who adopt innovation soon after a technology has been introduced and
proven. These individuals have the highest degree of opinion
leadership among the other adopter categories, which means
that these adopters can influence the opinions of the largest
majority. Characteristics include being younger in age, having a
higher social status, possessing more financial liquidity, having
advanced education, and being more socially aware than later
adopters. These adopters are more discrete in adoption
choices than innovators, and realize judicious choice of
adoption will help them maintain a central communication
position (Rogers, 1962, p. 283).
• Early majority. Individuals in this category adopt an innovation
Chapter 9: The People in Information Systems | 205
after a varying degree of time. This time of adoption is
significantly longer than the innovators and early adopters.
This group tends to be slower in the adoption process, has
above average social status, has contact with early adopters,
and seldom holds positions of opinion leadership in a system
(Rogers, 1962, p. 283).
• Late majority. The late majority will adopt an innovation after the average member of the society. These individuals approach
an innovation with a high degree of skepticism, have below
average social status, very little financial liquidity, are in
contact with others in the late majority and the early majority,
and show very little opinion leadership.
• Laggards. Individuals in this category are the last to adopt an innovation. Unlike those in the previous categories, individuals
in this category show no opinion leadership. These individuals
typically have an aversion to change agents and tend to be
advanced in age. Laggards typically tend to be focused on
“traditions,” are likely to have the lowest social status and the
lowest financial liquidity, be oldest of all other adopters, and be
in contact with only family and close friends.[2]
These five types of users can be translated into information
technology adopters as well, and provide additional insight into how
to implement new information systems within the organization. For
example, when rolling out a new system, IT may want to identify
the innovators and early adopters within the organization and work
with them first, then leverage their adoption to drive the rest of the
implementation to the other users.
Summary
In this chapter we have reviewed the many different categories
of individuals who make up the people component of information
206 | Information Systems for Business and Beyond (2019)
systems. The world of information technology is changing so fast
that new roles are being created all the time and roles that existed
for decades are being phased out. This chapter this chapter should
have given you a good idea and appreciation for the importance of
the people component of information systems.
Study Questions
1. Describe the role of a systems analyst.
2. What are some of the different roles for a computer engineer?
3. What are the duties of a computer operator?
4. What does the CIO do?
5. Describe the job of a project manager.
6. Explain the point of having two different career paths in
information systems.
7. What are the advantages and disadvantages of centralizing the
IT function?
8. What impact has information technology had on the way
companies are organized?
9. What are the five types of information-systems users?
10. Why would an organization outsource?
Exercises
1. Which IT job would you like to have? Do some original
research and write a two-page paper describing the duties of
the job you are interested in.
2. Spend a few minutes on Dice or Monster to find IT jobs in your
area. What IT jobs are currently available? Write up a two-page
Chapter 9: The People in Information Systems | 207
paper describing three jobs, their starting salary (if listed), and
the skills and education needed for the job.
3. How is the IT function organized in your school or place of
employment? Create an organization chart showing how the IT
organization fits into your overall organization. Comment on
how centralized or decentralized the IT function is.
4. What type of IT user are you? Take a look at the five types of
technology adopters and then write a one-page summary of
where you think you fit in this model.
Lab
1. Define each job in the list, then ask 10 friends to identify which
jobs they have heard about or know something about. Tabulate
your results.
2. Chief marketing technologist
3. Developer evangelist
4. Ethical hacker
5. Business intelligence analyst
6. Digital marketing manager
7. Growth hacker
8. UX designer
9. Cloud architect
10. Data detective
11. Master of edge computing
12. Digital prophet
13. NOC specialist
14. SEO/SEM specialist
1. Rogers, E. M. (1962). Diffusion of innovations. New York: Free
Press↵
208 | Information Systems for Business and Beyond (2019)
2. Rogers, E. M. (1962). Diffusion of innovations. New York: Free
Press↵
Chapter 9: The People in Information Systems | 209
Chapter 10: Information Systems Development
Learning Objectives
Upon successful completion of this chapter, you will be
able to:
• Explain the overall process of developing new
software;
• Explain the differences between software
development methodologies;
• Understand the different types of programming
languages used to develop software;
• Understand some of the issues surrounding the
development of websites and mobile applications; and
• Identify the four primary implementation policies.
Introduction
When someone has an idea for a new function to be performed by
a computer, how does that idea become reality? If a company wants
to implement a new business process and needs new hardware or
210 | Chapter 10: Information Systems Development
Software development methodologie s
software to support it, how do they go about making it happen?
This chapter covers the different methods of taking those ideas and
bringing them to reality, a process known as information systems
development.
Programming
Software is created via programming, as discussed in Chapter 2.
Programming is the process of creating a set of logical instructions
for a digital device to follow using a programming language. The
process of programming is sometimes called “coding” because the
developer takes the design and encodes it into a programming
language which then runs on the computer.
The process of developing good software is usually not as simple
as sitting down and writing some code. Sometimes a programmer
can quickly write a short program to solve a need, but in most
instances the creation of software is a resource-intensive process
that involves several different groups of people in an organization.
In order to do this effectively, the groups agree to follow a specific
software development methodology. The following sections review
several different methodologies for software development, as
summarized in the table below and more fully described in the
following sections.
Chapter 10: Information Systems Development | 211
Systems Development Life Cycle
The Systems Development Life Cycle (SDLC) was first developed in
the 1960s to manage the large software projects associated with
corporate systems running on mainframes. This approach to
software development is very structured and risk averse, designed
to manage large projects that include multiple programmers and
systems that have a large impact on the organization. It requires
a clear, upfront understanding of what the software is supposed
to do and is not amenable to design changes. This approach is
roughly similar to an assembly line process, where it is clear to
all stakeholders what the end product should do and that major
changes are difficult and costly to implement.
Various definitions of the SDLC methodology exist, but most
contain the following phases.
1. Preliminary Analysis. A request for a replacement or new
system is first reviewed. The review includes questions such
as: What is the problem-to-be-solved? Is creating a solution
possible? What alternatives exist? What is currently being
done about it? Is this project a good fit for our organization?
After addressing these question, a feasibility study is launched.
The feasibility study includes an analysis of the technical
feasibility, the economic feasibility or affordability, and the
legal feasibility. This step is important in determining if the
project should be initiated and may be done by someone with a
title of Requirements Analyst or Business Analyst
2. System Analysis. In this phase one or more system analysts
work with different stakeholder groups to determine the
specific requirements for the new system. No programming is
done in this step. Instead, procedures are documented, key
players/users are interviewed, and data requirements are
developed in order to get an overall impression of exactly what
the system is supposed to do. The result of this phase is a
212 | Information Systems for Business and Beyond (2019)
system requirements document and may be done by someone
with a title of Systems Analyst
3. System Design. In this phase, a designer takes the system
requirements document created in the previous phase and
develops the specific technical details required for the system.
It is in this phase that the business requirements are translated
into specific technical requirements. The design for the user
interface, database, data inputs and outputs, and reporting are
developed here. The result of this phase is a system design
document. This document will have everything a programmer
needs to actually create the system and may be done by
someone with a title of Systems Analyst, Developer, or Systems
Architect, based on the scale of the project.
4. Programming. The code finally gets written in the
programming phase. Using the system design document as a
guide, programmers develop the software. The result of this
phase is an initial working program that meets the
requirements specified in the system analysis phase and the
design developed in the system design phase. These tasks are
done by persons with titles such as Developer, Software
Engineer, Programmer, or Coder.
5. Testing. In the testing phase the software program developed
in the programming phase is put through a series of structured
tests. The first is a unit test, which evaluates individual parts of
the code for errors or bugs. This is followed by a system test in
which the different components of the system are tested to
ensure that they work together properly. Finally, the user
acceptance test allows those that will be using the software to
test the system to ensure that it meets their standards. Any
bugs, errors, or problems found during testing are resolved
and then the software is tested again. These tasks are done by
persons with titles such as Tester, Testing Analyst, or Quality
Assurance.
6. Implementation. Once the new system is developed and tested,
it has to be implemented in the organization. This phase
Chapter 10: Information Systems Development | 213
The SDLC method (click to enlarge)
includes training the users, providing documentation, and data
conversion from the previous system to the new system.
Implementation can take many forms, depending on the type
of system, the number and type of users, and how urgent it is
that the system become operational. These different forms of
implementation are covered later in the chapter.
7. Maintenance. This final phase takes place once the
implementation phase is complete. In the maintenance phase
the system has a structured support process in place. Reported
bugs are fixed and requests for new features are evaluated and
implemented. Also, system updates and backups of the
software are made for each new version of the program. Since
maintenance is normally an Operating Expense (OPEX) while
much of development is a Capital Expense (CAPEX), funds
normally come out of different budgets or cost centers.
The SDLC methodology is
sometimes referred to as the
waterfall methodology to
represent how each step is a
separate part of the process.
Only when one step is
completed can another step
begin. After each step an
organization must decide when
to move to the next step. This methodology has been criticized for
being quite rigid, allowing movement in only one direction, namely,
forward in the cycle. For example, changes to the requirements are
not allowed once the process has begun. No software is available
until after the programming phase.
Again, SDLC was developed for large, structured projects. Projects
using SDLC can sometimes take months or years to complete.
Because of its inflexibility and the availability of new programming
techniques and tools, many other software development
214 | Information Systems for Business and Beyond (2019)
methodologies have been developed. Many of these retain some of
the underlying concepts of SDLC, but are not as rigid.
Rapid Application Development
RAD Methodology (click to enlarge)
Rapid Application Development (RAD) focuses on quickly building
a working model of the software, getting feedback from users, and
then using that feedback to update the working model. After several
iterations of development, a final version is developed and
implemented.
The RAD methodology consists of four phases.
1. Requirements Planning. This phase is similar to the preliminary
analysis, system analysis, and design phases of the SDLC. In
this phase the overall requirements for the system are defined,
a team is identified, and feasibility is determined.
Chapter 10: Information Systems Development | 215
2. User Design. In the user design phase representatives of the
users work with the system analysts, designers, and
programmers to interactively create the design of the system.
Sometimes a Joint Application Development (JAD) session is
used to facilitate working with all of these various
stakeholders. A JAD session brings all of the stakeholders for a
structured discussion about the design of the system.
Application developers also participate and observe, trying to
understand the essence of the requirements.
3. Construction. In the construction phase the application
developers, working with the users, build the next version of
the system through an interactive process. Changes can be
made as developers work on the program. This step is
executed in parallel with the User Design step in an iterative
fashion, making modifications until an acceptable version of
the product is developed.
4. Cutover. Cutover involves switching from the old system to the
new software. Timing of the cutover phase is crucial and is
usually done when there is low activity. For example, IT
systems in higher education undergo many changes and
upgrades during the summer or between fall semester and
spring semester. Approaches to the migration from the old to
the new system vary between organizations. Some prefer to
simply start the new software and terminate use of the old
software. Others choose to use an incremental cutover,
bringing one part online at a time. A cutover to a new
accounting system may be done one module at a time such as
general ledger first, then payroll, followed by accounts
receivable, etc. until all modules have been implemented. A
third approach is to run both the old and new systems in
parallel, comparing results daily to confirm the new system is
accurate and dependable. A more thorough discussion of
implementation strategies appears near the end of this
chapter.
216 | Information Systems for Business and Beyond (2019)
As you can see, the RAD methodology is much more compressed
than SDLC. Many of the SDLC steps are combined and the focus
is on user participation and iteration. This methodology is much
better suited for smaller projects than SDLC and has the added
advantage of giving users the ability to provide feedback throughout
the process. SDLC requires more documentation and attention to
detail and is well suited to large, resource-intensive projects. RAD
makes more sense for smaller projects that are less resource
intensive and need to be developed quickly.
Agile Methodologies
Agile methodologies are a group of methodologies that utilize
incremental changes with a focus on quality and attention to detail.
Each increment is released in a specified period of time (called a
time box), creating a regular release schedule with very specific
objectives. While considered a separate methodology from RAD,
the two methodologies share some of the same principles such as
iterative development, user interaction, and flexibility to change.
The agile methodologies are based on the “Agile Manifesto,” first
released in 2001.
Chapter 10: Information Systems Development | 217
Agile Methodology
Agile and Iterative Development
The diagram above emphasizes iterations in the center of agile
development. You should notice how the building blocks of the
developing system move from left to right, a block at a time, not the
entire project. Blocks that are not acceptable are returned through
feedback and the developers make the needed modifications.
Finally, notice the Daily Review at the top of the diagram. Agile
Development means constant evaluation by both developers and
customers (notice the term “Collaboration”) of each day’s work.
The characteristics of agile methodology include:
• Small cross-functional teams that include development team
members and users;
• Daily status meetings to discuss the current state of the
project;
• Short time-frame increments (from days to one or two weeks)
for each change to be completed; and
218 | Information Systems for Business and Beyond (2019)
Lean Methodology (click to enlarge)
• Working project at the end of each iteration which
demonstrates progress to the stakeholders.
The goal of agile methodologies is to provide the flexibility of an
iterative approach while ensuring a quality product.
Lean Methodology
One last methodology to
discuss is a relatively new
concept taken from the
business bestseller The Lean
Startup by Eric Reis. Lean
focuses on taking an initial idea
and developing a Minimum
Viable Product (MVP). The MVP
is a working software
application with just enough
functionality to demonstrate
the idea behind the project.
Once the MVP is developed, the development team gives it to
potential users for review. Feedback on the MVP is generated in two
forms. First, direct observation and discussion with the users and
second, usage statistics gathered from the software itself. Using
these two forms of feedback, the team determines whether they
should continue in the same direction or rethink the core idea
behind the project, change the functions, and create a new MVP.
This change in strategy is called a pivot. Several iterations of the
MVP are developed, with new functions added each time based on
the feedback, until a final product is completed.
The biggest difference between the iterative and non-iterative
methodologies is that the full set of requirements for the system are
not known when the project is launched. As each iteration of the
Chapter 10: Information Systems Development | 219
The quality triangle (click to enlarge)
project is released, the statistics and feedback gathered are used to
determine the requirements. The lean methodology works best in
an entrepreneurial environment where a company is interested in
determining if their idea for a program is worth developing.
Sidebar: The Quality Triangle
When developing software or
any sort of product or service,
there exists a tension between
the developers and the
different stakeholder groups
such as management, users,
and investors. This tension
relates to how quickly the
software can be developed
(time), how much money will be spent (cost), and how well it will be
built (quality). The quality triangle is a simple concept. It states that
for any product or service being developed, you can only address
two of the following: time, cost, and quality.
So why can only two of the three factors in the triangle be
considered? Because each of these three components are in
competition with each other! If you are willing and able to spend
a lot of money, then a project can be completed quickly with high
quality results because you can provide more resources towards
its development. If a project’s completion date is not a priority,
then it can be completed at a lower cost with higher quality results
using a smaller team with fewer resources. Of course, these are
just generalizations, and different projects may not fit this model
perfectly. But overall, this model is designed to help you understand
220 | Information Systems for Business and Beyond (2019)
the trade-offs that must be made when you are developing new
products and services.
There are other, fundamental reasons why low-cost, high-quality
projects done quickly are so difficult to achieve.
1. The human mind is analog and the machines the software run
on are digital. These are completely different natures that
depend upon context and nuance versus being a 1 or a 0.
Things that seem obvious to the human mind are not so
obvious when forced into a 1 or 0 binary choice.
2. Human beings leave their imprints on the applications or
systems they design. This is best summed up by Conway’s Law
(1968) – “Organizations that design information systems are
constrained to do so in a way that mirrors their internal
communication processes.” Organizations with poor
communication processes will find it very difficult to
communicate requirements and priorities, especially for
projects at the enterprise level (i.e., that affect the whole
organization.
Programming Languages
As noted earlier, developers create programs using one of several
programming languages. A programming language is an artificial
language that provides a way for a developer to create programming
code to communicate logic in a format that can be executed by
the computer hardware. Over the past few decades, many different
types of programming languages have evolved to meet a variety of
needs. One way to characterize programming languages is by their
“generation.”
Chapter 10: Information Systems Development | 221
Generations of Programming Languages
Early languages were specific to the type of hardware that had to be
programmed. Each type of computer hardware had a different low
level programming language. In those early languages very specific
instructions had to be entered line by line – a tedious process.
First generation languages were called machine code because programming was done in the format the machine/computer could
read. So programming was done by directly setting actual ones
and zeroes (the bits) in the program using binary code. Here is an
example program that adds 1234 and 4321 using machine language:
10111001 00000000 11010010 10100001 00000100 00000000 10001001 00000000 00001110 10001011 00000000 00011110 00000000 00011110 00000000 00000010 10111001 00000000 11100001 00000011 00010000 11000011 10001001 10100011 00001110 00000100 00000010 00000000
Assembly language is the second generation language and uses English-like phrases rather than machine-code instructions,
making it easier to program. An assembly language program must
be run through an assembler, which converts it into machine code.
Here is a sample program that adds 1234 and 4321 using assembly
language.
MOV CX,1234
222 | Information Systems for Business and Beyond (2019)
MOV DS:[0],CX MOV CX,4321 MOV AX,DS:[0] MOV BX,DS:[2] ADD AX,BX MOV DS:[4],AX
Third-generation languages are not specific to the type of hardware on which they run and are similar to spoken languages.
Most third generation languages must be compiled. The developer
writes the program in a form known generically as source code,
then the compiler converts the source code into machine code,
producing an executable file. Well-known third generation
languages include BASIC, C, Python, and Java. Here is an example
using BASIC:
A=1234 B=4321 C=A+B END
Fourth generation languages are a class of programming tools that enable fast application development using intuitive interfaces and
environments. Many times a fourth generation language has a very
specific purpose, such as database interaction or report-writing.
These tools can be used by those with very little formal training in
programming and allow for the quick development of applications
and/or functionality. Examples of fourth-generation languages
include: Clipper, FOCUS, SQL, and SPSS.
Why would anyone want to program in a lower level language
when they require so much more work? The answer is similar to
why some prefer to drive manual transmission vehicles instead of
automatic transmission, namely, control and efficiency. Lower level
languages, such as assembly language, are much more efficient and
execute much more quickly. The developer has finer control over
the hardware as well. Sometimes a combination of higher and lower
Chapter 10: Information Systems Development | 223
level languages is mixed together to get the best of both worlds. The
programmer can create the overall structure and interface using a
higher level language but use lower level languages for the parts of
the program that are used many times, require more precision, or
need greater speed.
The programming language spectrum (click to enlarge).
Compiled vs. Interpreted
Besides identifying a programming language based on its
generation, we can also classify it through the distinction of
whether it is compiled or interpreted. A computer language is
written in a human-readable form. In a compiled language the
program code is translated into a machine-readable form called
an executable that can be run on the hardware. Some well-known
compiled languages include C, C++, and COBOL.
Interpreted languages require a runtime program to be installed
in order to execute. Each time the user wants to run the software
the runtime program must interpret the program code line by line,
then run it. Interpreted languages are generally easier to work with
but also are slower and require more system resources. Examples
224 | Information Systems for Business and Beyond (2019)
of popular interpreted languages include BASIC, PHP, PERL, and
Python. The web languages of HTML and JavaScript are also
considered interpreted because they require a browser in order to
run.
The Java programming language is an interesting exception to
this classification, as it is actually a hybrid of the two. A program
written in Java is partially compiled to create a program that can
be understood by the Java Virtual Machine (JVM). Each type of
operating system has its own JVM which must be installed before
any program can be executed. The JVM approach allows a single
Java program to run on many different types of operating systems.
Procedural vs. Object-Oriented
A procedural programming language is designed to allow a
programmer to define a specific starting point for the program and
then execute sequentially. All early programming languages worked
this way. As user interfaces became more interactive and graphical,
it made sense for programming languages to evolve to allow the
user to have greater control over the flow of the program. An object-
oriented programming language is designed so that the programmer
defines “objects” that can take certain actions based on input from
the user. In other words, a procedural program focuses on the
sequence of activities to be performed while an object oriented
program focuses on the different items being manipulated.
Chapter 10: Information Systems Development | 225
Employee object
Consider a human resources
system where an “EMPLOYEE”
object would be needed. If the
program needed to retrieve or
set data regarding an employee,
it would first create an
employee object in the program
and then set or retrieve the
values needed. Every object has
properties, which are
descriptive fields associated with the object. Also known as a
Schema, it is the logical view of the object (i.e., each row of
properties represents a column in the actual table, which is known
as the physical view). The employee object has the properties
“EMPLOYEEID”, “FIRSTNAME”, “LASTNAME”, “BIRTHDATE” and
“HIREDATE”. An object also has methods which can take actions
related to the object. There are two methods in the example. The
first is “ADDEMPLOYEE()”, which will create another employee
record. The second is “EDITEMPLOYEE()” which will modify an
employee’s data.
Programming Tools
To write a program, you need little more than a text editor and a
good idea. However, to be productive you must be able to check
the syntax of the code, and, in some cases, compile the code. To
be more efficient at programming, additional tools, such as an
Integrated Development Environment (IDE) or computer-aided
software-engineering (CASE) tools can be used.
226 | Information Systems for Business and Beyond (2019)
Screen shot of Oracle Eclipse
Integrated Development Environment
For most programming languages an Integrated Development
Environment (IDE) can be used to develop the program. An IDE
provides a variety of tools for the programmer, and usually includes:
• Editor. An editor is used for writing the program. Commands are automatically color coded by the IDE to identify command
types. For example, a programming comment might appear in
green and a programming statement might appear in black.
• Help system. A help system gives detailed documentation regarding the programming language.
• Compiler/Interpreter. The compiler/interpreter converts the programmer’s source code into machine language so it can be
executed/run on the computer.
• Debugging tool. Debugging assists the developer in locating errors and finding solutions.
• Check-in/check-out mechanism. This tool allows teams of programmers to work simultaneously on a program without
overwriting another programmer’s code.
Examples of IDEs include Microsoft’s Visual Studio and Oracle’s
Eclipse. Visual Studio is the IDE for all of Microsoft’s programming
Chapter 10: Information Systems Development | 227
languages, including Visual Basic, Visual C++, and Visual C#. Eclipse
can be used for Java, C, C++, Perl, Python, R, and many other
languages.
CASE Tools
While an IDE provides several tools to assist the programmer in
writing the program, the code still must be written. Computer-
Aided Software Engineering (CASE) tools allow a designer to develop
software with little or no programming. Instead, the CASE tool
writes the code for the designer. CASE tools come in many varieties.
Their goal is to generate quality code based on input created by the
designer.
Sidebar: Building a Website
In the early days of the World Wide Web, the creation of a website
required knowing how to use HyperText Markup Language (HTML).
Today most websites are built with a variety of tools, but the final
product that is transmitted to a browser is still HTML. At its simplest
HTML is a text language that allows you to define the different
components of a web page. These definitions are handled through
the use of HTML tags with text between the tags or brackets. For
example, an HTML tag can tell the browser to show a word in italics,
to link to another web page, or to insert an image. The HTML code
below selects two different types of headings (h1 and h2) with text
below each heading. Some of the text has been italicized. The output
as it would appear in a browser is shown after the HTML code.
<h1>This is a first-level heading</h1>
228 | Information Systems for Business and Beyond (2019)
HTML output
Here is some text. <em>Here is some emphasized text.</em> <h2>Here is a second-level heading</h2) Here is some more text.
HTML code
While HTML is used to define the components of a web page,
Cascading Style Sheets (CSS) are used to define the styles of the
components on a page. The use of CSS allows the style of a website
to be set and stay consistent throughout. For example, a designer
who wanted all first-level headings (h1) to be blue and centered
could set the “h1″ style to match. The following example shows how
this might look.
<style> h1 { color:blue; text-align:center; } </style> <h1>This is a first-level heading</h1> Here is some text. <em>Here is some emphasized text.</em> <h2>Here is a second-level heading</h2) Here is some more text.
Chapter 10: Information Systems Development | 229
HTML with CSS output
HTML code with CSS added
The combination of HTML and CSS can be used to create a wide
variety of formats and designs and has been widely adopted by
the web design community. The standards for HTML are set by
a governing body called the World Wide Web Consortium. The
current version of HTML 5 includes new standards for video, audio,
and drawing.
When developers create a website, they do not write it out
manually in a text editor. Instead, they use web design tools that
generate the HTML and CSS for them. Tools such as Adobe
Dreamweaver allow the designer to create a web page that includes
images and interactive elements without writing a single line of
code. However, professional web designers still need to learn HTML
and CSS in order to have full control over the web pages they are
developing.
Sidebar: Building a Mobile App
In many ways building an application for a mobile device is exactly
the same as building an application for a traditional computer.
Understanding the requirements for the application, designing the
230 | Information Systems for Business and Beyond (2019)
interface, and working with users are all steps that still need to be
carried out.
Mobile Apps
So what’s different about building an application for a mobile
device? There are five primary differences:
1. Breakthroughs in component technologies. Mobile devices require multiple components that are not only smaller but
more energy-efficient than those in full-size computers
(laptops or desktops). For example, low-power CPUs combined
with longer-life batteries, touchscreens, and Wi-Fi enable very
efficient computing on a phone, which needs to do much less
actual processing than their full-size counterparts.
2. Sensors have unlocked the notion of context. The combination of sensors like GPS, gyroscopes, and cameras
enables devices to be aware of things like time, location,
velocity, direction, altitude, attitude, and temperature.
Location in particular provides a host of benefits.
3. Simple, purpose-built, task-oriented apps are easy to use. Mobile apps are much narrower in scope than enterprise software and therefore easier to use. Likewise, they need to be
intuitive and not require any training.
4. Immediate access to data extends the value proposition. In addition to the app providing a simpler interface on the front
end, cloud-based data services provide access to data in near
real-time, from virtually anywhere (e.g., banking, travel, driving
directions, and investing). Having access to the cloud is needed
to keep mobile device size and power use down.
5. App stores have simplified acquisition. Developing, acquiring, and managing apps has been revolutionized by app stores such
as Apple’s App Store and Google Play. Standardized
Chapter 10: Information Systems Development | 231
development processes and app requirements allow
developers outside Apple and Google to create new apps with
a built-in distribution channel. Average low app prices
(including many of which that are free) has fueled demand.
In sum, the differences between building a mobile app and other
types of software development look like this:
Mobile app differences
Building a mobile app for both iOS and Android operating systems is
known as cross platform development. There are a number of third-
party toolkits available for creating your app. Many will convert
existing code such as HTML5, JavaScript, Ruby, C++, etc. However,
if your app requires sophisticated programming, a cross platform
developer kit may not meet your needs.
Responsive Web Design (RWD) focuses on making web pages
render well on every device: desktop, laptop, tablet, smartphone.
Through the concept of fluid layout RWD automatically adjusts the
content to the device on which it is being viewed. You can find out
more about responsive design here.
232 | Information Systems for Business and Beyond (2019)
Build vs. Buy
When an organization decides that a new program needs to be
developed, they must determine if it makes more sense to build it
themselves or to purchase it from an outside company. This is the
“build vs. buy” decision.
There are many advantages to purchasing software from an
outside company. First, it is generally less expensive to purchase
software than to build it. Second, when software is purchased, it is
available much more quickly than if the package is built in-house.
Software can take months or years to build. A purchased package
can be up and running within a few days. Third, a purchased
package has already been tested and many of the bugs have already
been worked out. It is the role of a systems integrator to make
various purchased systems and the existing systems at the
organization work together.
There are also disadvantages to purchasing software. First, the
same software you are using can be used by your competitors. If a
company is trying to differentiate itself based on a business process
incorporated into purchased software, it will have a hard time doing
so if its competitors use the same software. Another disadvantage
to purchasing software is the process of customization. If you
purchase software from a vendor and then customize it, you will
have to manage those customizations every time the vendor
provides an upgrade. This can become an administrative headache,
to say the least.
Even if an organization determines to buy software, it still makes
sense to go through the same analysis as if it was going to be
developed. This is an important decision that could have a long-
term strategic impact on the organization.
Chapter 10: Information Systems Development | 233
Web Services
Chapter 3 discussed how the move to cloud computing has allowed
software to be viewed as a service. One option, known as web
services, allows companies to license functions provided by other
companies instead of writing the code themselves. Web services can
greatly simplify the addition of functionality to a website.
Suppose a company wishes to provide a map showing the location
of someone who has called their support line. By utilizing Google
Maps API web services, the company can build a Google Map
directly into their application. Or a shoe company could make it
easier for its retailers to sell shoes online by providing a shoe sizing
web service that the retailers could embed right into their website.
Web services can blur the lines between “build vs. buy.”
Companies can choose to build an application themselves but then
purchase functionality from vendors to supplement their system.
End-User Computing (EUC)
In many organizations application development is not limited to
the programmers and analysts in the information technology
department. Especially in larger organizations, other departments
develop their own department-specific applications. The people
who build these applications are not necessarily trained in
programming or application development, but they tend to be adept
with computers. A person who is skilled in a particular program,
such as a spreadsheet or database package, may be called upon to
build smaller applications for use by their own department. This
phenomenon is referred to as end-user development, or end-user
computing.
End-user computing can have many advantages for an
organization. First, it brings the development of applications closer
234 | Information Systems for Business and Beyond (2019)
to those who will use them. Because IT departments are sometimes
backlogged, it also provides a means to have software created more
quickly. Many organizations encourage end-user computing to
reduce the strain on the IT department.
End-user computing does have its disadvantages as well. If
departments within an organization are developing their own
applications, the organization may end up with several applications
that perform similar functions, which is inefficient, since it is a
duplication of effort. Sometimes these different versions of the
same application end up providing different results, bringing
confusion when departments interact. End-user applications are
often developed by someone with little or no formal training in
programming. In these cases, the software developed can have
problems that then have to be resolved by the IT department.
End-user computing can be beneficial to an organization
provided it is managed. The IT department should set guidelines
and provide tools for the departments who want to create their own
solutions. Communication between departments can go a long way
towards successful use of end-user computing.
Sidebar: Risks of EUC’s as “Shadow IT”
The Federal Home Loan Mortgage Company, better known as
Freddie Mac, was fined over $100 million in 2003 in part for
understating its earnings. This triggered a large-scale project to
restate its financials, which involved automating financial reporting
to comply with the Sarbanes-Oxley Act of 2002. Part of the
restatement project found that EUCs (such as spreadsheets and
databases on individual laptops) were feeding into the General
Ledger. While EUCs were not the cause of Freddie Mac’s problems
(they were a symptom of insufficient oversight) to have such poor
Chapter 10: Information Systems Development | 235
IT governance in such a large company was a serious issue. It turns
these EUCs were done in part to streamline the time it took to
make changes to their business processes (a common complaint of
IT departments in large corporations is that it takes too long to get
things done). As such, these EUCs served as a form of “shadow IT”
that had not been through a normal rigorous testing process.
Implementation Methodologies
Once a new system is developed or purchased, the organization
must determine the best method for implementation. Convincing
a group of people to learn and use a new system can be a very
difficult process. Asking employees to use new software as well as
follow a new business process can have far reaching effects within
the organization.
There are several different methodologies an organization can
adopt to implement a new system. Four of the most popular are
listed below.
• Direct cutover. In the direct cutover implementation methodology, the organization selects a particular date to
terminate the use of the old system. On that date users begin
using the new system and the old system is unavailable. Direct
cutover has the advantage of being very fast and the least
expensive implementation method. However, this method has
the most risk. If the new system has an operational problem or
if the users are not properly prepared, it could prove
disastrous for the organization.
• Pilot implementation. In this methodology a subset of the organization known as a pilot group starts using the new
system before the rest of the organization. This has a smaller
236 | Information Systems for Business and Beyond (2019)
impact on the company and allows the support team to focus
on a smaller group of individuals. Also, problems with the new
software can be contained within the group and then resolved.
• Parallel operation. Parallel operations allow both the old and new systems to be used simultaneously for a limited period of
time. This method is the least risky because the old system is
still being used while the new system is essentially being
tested. However, this is by far the most expensive methodology
since work is duplicated and support is needed for both
systems in full.
• Phased implementation. Phased implementation provides for different functions of the new application to be gradually
implemented with the corresponding functions being turned
off in the old system. This approach is more conservative as it
allows an organization to slowly move from one system to
another.
Your choice of an implementation methodology depends on the
complexity of both the old and new systems. It also depends on the
degree of risk you are willing to take.
Change Management
As new systems are brought online and old systems are phased out,
it becomes important to manage the way change is implemented in
the organization. Change should never be introduced in a vacuum.
The organization should be sure to communicate proposed changes
before they happen and plan to minimize the impact of the change
that will occur after implementation. Change management is a
critical component of IT oversight.
Chapter 10: Information Systems Development | 237
Sidebar: Mismanaging Change
Target Corporation, which operates more than 1,500 discount
stores throughout the United States, opened 133 similar stores in
Canada between 2013 and 2015. The company decided to implement
a new Enterprise Resources Planning (ERP) system that would
integrate data from vendors, customers, and do currency
calculations (US Dollars and Canadian Dollars). This implementation
was coincident with Target Canada’s aggressive expansion plan and
stiff competition from Wal-Mart. A two-year timeline – aggressive
by any standard for an implementation of this size – did not account
for data errors from multiple sources that resulted in erroneous
inventory counts and financial calculations. Their supply chain
became chaotic and stores were plagued by not having sufficient
stock of common items, which prevented the key advantage of
“one-stop shopping” for customers. In early 2015, Target Canada
announced it was closing all 133 stores. In sum, “This
implementation broke nearly all of the cardinal sins of ERP projects.
Target set unrealistic goals, didn’t leave time for testing, and
neglected to train employees properly.” 1
1. Taken from ACC Software Solutions. "THE MANY FACES
OF FAILED ERP IMPLEMENTATIONS (AND HOW TO
AVOID THEM)" https://4acc.com/article/failed-erp-
implementations/
238 | Information Systems for Business and Beyond (2019)
Maintenance
After a new system has been introduced, it enters the maintenance
phase. The system is in production and is being used by the
organization. While the system is no longer actively being
developed, changes need to be made when bugs are found or new
features are requested. During the maintenance phase, IT
management must ensure that the system continues to stay aligned
with business priorities and continues to run well.
Summary
Software development is about so much more than programming. It
is fundamentally about solving business problems. Developing new
software applications requires several steps, from the formal SDLC
process to more informal processes such as agile programming
or lean methodologies. Programming languages have evolved from
very low-level machine-specific languages to higher-level
languages that allow a programmer to write software for a wide
variety of machines. Most programmers work with software
development tools that provide them with integrated components
to make the software development process more efficient. For some
organizations, building their own software does not make the most
sense. Instead, they choose to purchase software built by a third
party to save development costs and speed implementation. In end-
user computing, software development happens outside the
information technology department. When implementing new
software applications, there are several different types of
implementation methodologies that must be considered.
Chapter 10: Information Systems Development | 239
Study Questions
1. What are the steps in the SDLC methodology?
2. What is RAD software development?
3. What makes the lean methodology unique?
4. What are three differences between second-generation and
third-generation languages?
5. Why would an organization consider building its own software
application if it is cheaper to buy one?
6. What is responsive design?
7. What is the relationship between HTML and CSS in website
design?
8. What is the difference between the pilot implementation
methodology and the parallel implementation methodology?
9. What is change management?
10. What are the four different implementation methodologies?
Exercises
1. Which software-development methodology would be best if an
organization needed to develop a software tool for a small
group of users in the marketing department? Why? Which
implementation methodology should they use? Why?
2. Doing your own research, find three programming languages
and categorize them in these areas: generation, compiled vs.
interpreted, procedural vs. object-oriented.
3. Some argue that HTML is not a programming language. Doing
your own research, find three arguments for why it is not a
programming language and three arguments for why it is.
4. Read more about responsive design using the link given in the
text. Provide the links to three websites that use responsive
design and explain how they demonstrate responsive-design
240 | Information Systems for Business and Beyond (2019)
behavior.
Labs
1. Here’s a Python program for you to analyze. The code below
deals with a person’s weight and height. See if you can guess what
will be printed and then try running the code in a Python interpreter
such as https://www.onlinegdb.com/online_python_interpreter.
measurements = (8, 20) print("Original measurements:")
for measurement in measurements: print(measurement)
measurements = (170, 72) print("\nModified measurements:")
for measurement in measurements: print(measurement)
2. Here’s a broken Java program for you to analyze. The code
below deals with calculating tuition, multiplying the tuition rate and
the number of credits taken. The number of credits is entered by
the user of the program. The code below is broken and gives the
incorrect answer. Review the problem below and determine what it
would output if the user entered “6” for the number of credits. How
would you fix the program so that it would give the correct output?
package calcTuition;
//import Scanner import java.util.Scanner;
Chapter 10: Information Systems Development | 241
public class CalcTuition {
public static void main(String[] args) {
//Declare variables int credits; final double TUITION_RATE = 100; double tuitionTotal;
//Get user input Scanner inputDevice = new Scanner(System.in); System.out.println("Enter the number of credits: "); credits = inputDevice.nextInt();
//Calculate tuition tuitionTotal = credits + TUITION_RATE;
//Display tuition total System.out.println("You total tuition is: " + tuitionTotal);
} }
242 | Information Systems for Business and Beyond (2019)
PART III: INFORMATION SYSTEMS BEYOND THE ORGANIZATION
Part III: Information Systems Beyond the Organization | 243
- Information Systems for Business and Beyond (2019)
- Information Systems for Business and Beyond (2019)
- Title Page
- Copyright
- Book Contributors
- Changes from Previous Edition
- How you can help
- Introduction
- Part I: What is an information system?
- Chapter 1: What Is an Information System?
- Chapter 2: Hardware
- Chapter 3: Software
- Chapter 4: Data and Databases
- Chapter 5: Networking and Communication
- Chapter 6: Information Systems Security
- Part II: Information Systems for Strategic Advantage
- Chapter 7: Does IT Matter?
- Chapter 8: Business Processes
- Chapter 9: The People in Information Systems
- Chapter 10: Information Systems Development
- Part III: Information Systems Beyond the Organization
- Chapter 11: Globalization and the Digital Divide
- Chapter 12: The Ethical and Legal Implications of Information Systems
- Chapter 13: Trends in Information Systems
- Index