OE 5 Due in 24 hours

profileyk1993
Businessandbeyondbook_201-256.pdf

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