2/10/22, 4:48 PM
Build, Buy, or Outsource
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150628/View 1/8
Build, Buy, or Outsource
When an organization has determined that an IT solution is needed, there are a few questions it should
answer:
Is there a system we currently use that could be modified to address the requirements we have
identified? For example, if a new capability is needed, but it is closely related to a current system’s
function, then modifying that system would likely be the appropriate approach.
If modifying a current system seems appropriate, does the system we are using really need to be
upgraded (to a new operating system, etc.) or does it use old technology and need to be replaced as
we add the new functionality?
If there is no existing system or if a major upgrade is required, should we build a new system or
acquire one that is already built?
Build or Buy
Learning Resource
2/10/22, 4:48 PM Build, Buy, or Outsource
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150628/View 2/8
The decision to build or buy a system has been hotly discussed for many years. Now there are many
options available for building, buying, or a combination of the two.
This is a complex decision, and using a structured approach can help relieve the uncertainty and risk
involved. According to Leeden (n.d.) and others, the organization must consider the following:
The mission and core competencies of the organization.
Whether the process under consideration itself provides a competitive advantage, or whether it is a
standard business process or generally used by the industry. For example, an organization would
probably never consider developing its own word processing software. To take that a step further,
most organizations would not want to expend the resources needed to develop their own
accounting system, especially if accounting is not their core competency.
The technology currently in use at the organization.
The organization’s IT strategy and direction for the future. Is the organization planning to rely more
on outsourced IT solutions or does it prefer to rely on in-house development and maintenance
capabilities?
How much of the system (software, hardware, network, etc.) could or should be outsourced?
The availability and capabilities of off-the-shelf software and services.
The total cost of ownership—considering all the costs associated with building, implementing, and
maintaining the system over time.
Benefits and Risks of Building a System or Application
2/10/22, 4:48 PM Build, Buy, or Outsource
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150628/View 3/8
If an organization determines that it will build an application or an entire system, it can either do it with
in-house resources or it can outsource any or all of the components of the system: design,
development, implementation, operation, and maintenance—to include hardware, software and/or
communications.
Benefits of in-house development include:
The flexibility of designing it to do exactly what is required
The ability to make changes as and when they are needed
The ability to ensure interoperability with other applications or databases in use
The ability to ensure compliance with the organization’s enterprise IT architecture
Risks associated with in-house development include:
The time it takes to design, develop, and test an application or system may far exceed the time
when it is needed.
The costs of designing, developing, implementing, testing, and maintaining the system may
significantly exceed the costs of buying the system.
Because of the investment of time and cost, the organization incurs a long-term commitment to an
application or system.
As technology changes, the organization has to bear all the costs of upgrading hardware, software
and communications.
Benefits and Risks of Buying a System or Application
2/10/22, 4:48 PM Build, Buy, or Outsource
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150628/View 4/8
Acquiring a pre-built Commercial Off-the-Shelf (COTS) solution for an application or an entire system
can provide several benefits and risks to an organization.
Benefits of acquiring a COTS solution include:
The system is already built and can be tested to see if it functions as needed.
The system should have security built into it during its development; this is an area to be explored
during the evaluation and selection process.
It is ready to implement immediately. How quickly the system will be usable is determined by the
extent of any configuration or customization required.
The total cost of ownership (TCO) of the system is shared with other customers, so it could be
significantly less than the cost of building and maintaining a system in-house.
Risks associated with acquiring a COTS solution include:
The system may require changes to the business process that are unacceptable to the users.
Some requirements may not be met, in which case a determination must be made as to whether or
not the system will be implemented and what can/will be done to accommodate the unmet
requirements.
There may be an excessive number of capabilities in the system that are not needed by the
organization, but which add to the cost and complexity of the system.
The vendor may go out of business, requiring the organization to find another solution in a short
timeframe.
2/10/22, 4:48 PM Build, Buy, or Outsource
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150628/View 5/8
Each time an organization determines that a technology solution is needed to improve productivity,
efficiency, or their strategic advantage, a build or buy decision is made. Unless the organization has
previously determined that it will use only one approach (build or buy), a structured approach to making
the decision will need to be undertaken and can yield significant benefits.
Outsourcing IT
Outsourcing of IT refers to the use of external service providers to deliver IT services. There is a wide
spectrum of services available, from outsourcing the entire IT function to simply acquiring a system built
by a vendor. The most commonly outsourced IT functions are:
Software development—to include design, programming, testing and installation
System operation and maintenance—the hardware, system software, and network used by the
organization
System support—such functions as operating the in-house network or providing help desk
functions
Combinations of any or all of the above
Outsourcing some or all of the IT functions brings similar benefits and risks as identified above for
buying a system.
The major considerations whether to outsource and which IT functions to outsource include:
The organization’s IT strategy and direction;
The capabilities and availability of the organization’s IT staff;
2/10/22, 4:48 PM Build, Buy, or Outsource
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150628/View 6/8
The capability and availability of vendors;
The ability for a vendor to meet the organization’s requirements, especially if they are very unique;
The extent to which the organization would be “locked in” to the vendor or has the ability to move
the system in-house or to another vendor if necessary; and
The total cost of ownership (TCO) of the alternatives for the IT functions under consideration.
Benefits of outsourcing various IT functions include:
Organization’s focus on its core competencies;
Access to state-of-the-art technology;
Access to highly skilled IT specialists;
Cost savings;
Improved security—vendor has the ability to employ high levels of security, sharing the costs among
all its customers;
Flexibility—vendor staff may have a wider range of ability than internal staff; vendor staff can be
employed for a specific task and do not need to be retained afterward;
Competitiveness with larger, more sophisticated competitors (Landefeld, 2017); and
Freedom of internal IT staff to focus on key internal functions.
Risks of outsourcing IT functions include:
The cost of switching vendors may be high;
Loss of control over priorities and timing of fixes and enhancements;
2/10/22, 4:48 PM Build, Buy, or Outsource
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150628/View 7/8
Organizational data may be under vendor control;
Vendor may go out of business causing the organization to make rapid, unexpected
accommodations;
Morale problems among internal IT employees; and
Difficulty extracting organizational data from a vendor’s system at the end of the contract period.
You will note that some of the benefits also present risks, such as data security. The vendor may be able
to provide a higher level of system security, but the organization’s data is stored on the vendor’s system.
To determine whether any or all IT functions should be outsourced, the organization must consider its
objectives, and evaluate the benefits and risks using a structured approach. Whether it outsources
functions or not, the organization is ultimately responsible for the products and services it provides to
its customers.
References
Landefeld, C. (2017, July 12). Outsourcing IT vs. in-house IT: The pros and cons of each. Retrieved from
https://www.godaddy.com/garage/outsourcing-it-vs-in-house-it-the-pros-and-cons-of-each/
Leeden, K.S. (n.d.). Build v. buy: A decision paradigm for information technology applications. Retrieved
from www.nevo.com
© 2022 University of Maryland Global Campus
2/10/22, 4:48 PM Build, Buy, or Outsource
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150628/View 8/8
All links to external sites were verified at the time of publication. UMGC is not responsible for the validity or integrity of information located
at external sites.
2/10/22, 4:49 PM
The People in Information Systems
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150629/View 1/18
The People in Information Systems
Introduction
In previous readings, we focused on the technology behind information systems: data, hardware,
software, and networking. In Information Systems Development, we discussed business processes and
the key role they can play in the success of a business. this reading discusses the last component of an
information system: people.
People are involved in information systems in just about every way you can think of: People imagine
information systems, people develop information systems, people support information systems, and,
perhaps most important, people use information systems.
The Creators of Information Systems
Learning Resource
2/10/22, 4:49 PM The People in Information Systems
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150629/View 2/18
The first group of people we are going to look at play a role in designing, developing, and building
information systems. These people are generally very technical and have a background in programming
and mathematics. 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. We will be looking at the process of creating information systems in more detail in the
reading, Information Systems Development.
Systems Analyst
The role of the systems analyst is to straddle the divide between identifying business needs and
imagining a new or redesigned computer-based system to fulfill those needs. This individual will work
with a person, team, or department with business requirements and identify the specific details of a
system that needs to be built. Generally, this will require the analyst to have a good understanding of
the business itself, the business processes involved, and the ability to document the processes well. The
analyst will identify the different stakeholders in the system and work to involve the appropriate
individuals in the process.
Once the requirements are determined, the analyst will begin the process of translating these
requirements into an information-systems design. A good analyst will understand what different
technological solutions will work and provide several different alternatives, based on the company’s
budgetary constraints, 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.
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 programmer (or team of programmers) to do the actual creation of the system. In
2/10/22, 4:49 PM The People in Information Systems
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150629/View 3/18
some cases, however, a systems analyst may go ahead and create the system that he or she designed.
This person is sometimes referred to as a programmer-analyst.
In other cases, 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 who 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 and in systems design.
Many analysts first worked as programmers and/or had experience in the business before becoming
systems analysts.
Programmer
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. Many different styles of programming exist: A programmer may work alone for long
stretches of time or may work in a team with other programmers. A programmer needs to be able to
understand complex processes and also the intricacies of one or more programming languages.
Generally, a programmer is very proficient in mathematics, as mathematical concepts underlie most
programming code.
Computer Engineer
Computer engineers design the computing devices that we use 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 engineering jobs are as follows:
2/10/22, 4:49 PM The People in Information Systems
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150629/View 4/18
Hardware engineer. A hardware engineer designs hardware components, such as microprocessors.
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 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 do not actually design devices; instead, they create new
programming languages and operating systems, working at the lowest levels of the hardware to
develop new kinds of software to run on the hardware.
Systems engineer. A systems engineer takes the components designed by other engineers and
makes them all work together. For example, to build a computer, the motherboard, 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’s job is to understand the networking requirements of an
organization and then design a communications system to meet those needs, using the networking
hardware and software available.
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 behind it. 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
2/10/22, 4:49 PM The People in Information Systems
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150629/View 5/18
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.
Computer Operator
A computer operator is the person who keeps the large computers running. This person’s job is to
oversee 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, 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 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 IT 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 does not necessarily know how to answer all of the questions that come his or her way.
2/10/22, 4:49 PM The People in Information Systems
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150629/View 6/18
In these cases, help-desk analysts work with senior-level support analysts or have a computer
knowledge base 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 people and communications skills, as well as
at least junior-level IT Skills.
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 well and also have
a lot of patience!
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:
CIO
2/10/22, 4:49 PM The People in Information Systems
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150629/View 7/18
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. This
includes tasks such as 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 and
planning.
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 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 is 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 this reading of how information systems are organized.
ERP Management
Organizations using an ERP require one or more individuals to manage these systems. These people
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
2/10/22, 4:49 PM The People in Information Systems
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150629/View 8/18
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. A project manager does not
have authority over the project team; instead, the project manager coordinates schedules and resources
in order to maximize the project outcomes. A project manager 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 fade. 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 technologies is breeding demand for expertise in
those areas.
Career Paths in Information Systems
2/10/22, 4:49 PM The People in Information Systems
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150629/View 9/18
Information Systems Career
Paths
Technical and management track
examples
These job descriptions do not represent all possible jobs within an information-systems organization.
Larger organizations will have more specialized roles; smaller organizations may combine some of these
roles. Many of these roles may exist outside of a traditional information-systems organization, as we will
2/10/22, 4:49 PM The People in Information Systems
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150629/View 10/18
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), there are many different career paths available.
Many times, those in technical jobs who want career advancement find themselves in a dilemma: do
they want to continue doing technical work, where sometimes their advancement options are limited, or
do they want to 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, will 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.
2/10/22, 4:49 PM The People in Information Systems
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150629/View 11/18
Are Certifications Worth Pursuing?
As technology is becoming more and 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? These days, many organizations are including technical certifications
as a prerequisite for getting hired.
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 and, in fact, can run
into the thousands of dollars. Some examples of the certifications in highest demand include
Microsoft (software certifications), Cisco (networking), and SANS
For many working in IT (or thinking about an IT career), determining whether to pursue one or more
of these certifications is an important question. For many jobs, 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. There are other cases, however, when experience with a
certain technology will negate the need for certification. 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.
2/10/22, 4:49 PM The People in Information Systems
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150629/View 12/18
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 CFO and considered to be an administrative function of the company. In the 1980s and 1990s, when
companies began networking internally and then linking up to the internet, the information-systems
function was combined with the telecommunications functions and designated the information
technology (IT) department. As the role of information technology continued to increase, its place in the
organization also moved up the ladder. 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-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.
2/10/22, 4:49 PM The People in Information Systems
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150629/View 13/18
This decentralization also led to company data being stored in several places all over the company. In
some organizations, a “matrix” reporting structure has developed, in which IT personnel are placed
within a department and report to both the department management and the functional management
within IS. The advantages of dedicated IS personnel for each department are 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 the
discussion of ERP in Business Processes). Because an ERP system consolidates most corporate data back
into a single database, the implementation of an ERP system requires organizations to find “islands” 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
Many times, an organization needs a specific skill for a limited period of time. Instead of training an
existing employee or hiring someone new, 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 Organization
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.
2/10/22, 4:49 PM The People in Information Systems
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150629/View 14/18
Another organizational change enabled by information systems is the network-based organizational
structure. In a networked-based organizational structure, groups of employees can work somewhat
independently to accomplish a project. In a networked organization, 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: the users of information systems. This group represents a very
large percentage of the people involved. If the user is not able to successfully learn and use an
information system, the system is doomed to failure.
Technology adoption user types
2/10/22, 4:49 PM The People in Information Systems
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150629/View 15/18
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, Rogers studied how farmers adopted new
technologies, and he 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 has them adopting technologies that may ultimately fail. Financial
resources help absorb these failures (Rogers, 1962, p. 282).
Early adopters. The early adopters are those who adopt innovation 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 they can influence the opinions of the largest majority.
They are typically younger in age, have higher social status, more financial liquidity, more advanced
education, and are more socially aware than later adopters. These people 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 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.
2/10/22, 4:49 PM The People in Information Systems
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150629/View 16/18
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,” have the lowest social status and the lowest financial liquidity, be
older than all other adopters, and be in contact with only family and close friends.
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 an 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.
Summary
In this reading we have reviewed the many different categories of individuals who make up the people
component of information 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.
2/10/22, 4:49 PM The People in Information Systems
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150629/View 17/18
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?
References
Rogers, E. M. (1962). Diffusion of innovations (5th ed., pp. 282-283). New York, NY: Free Press
Licenses and Attributions
2/10/22, 4:49 PM The People in Information Systems
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150629/View 18/18
Chapter 9: The People in Information Systems
(https://www.saylor.org/site/textbooks/Information%20Systems%20for%20Business%20and%20Beyon
d ) from Information Systems for Business and Beyond by David T. Bourgeois is available under a
Creative Commons Attribution 3.0 Unported (https://creativecommons.org/licenses/by/3.0/) license.
© 2014, David T. Bourgeois. UMGC has modified this work and it is available under the original license.
© 2022 University of Maryland Global Campus
All links to external sites were verified at the time of publication. UMGC is not responsible for the validity or integrity of information located
at external sites.
https://www.saylor.org/site/textbooks/Information%20Systems%20for%20Business%20and%20Beyond
https://creativecommons.org/licenses/by/3.0/
2/10/22, 4:47 PM
Requirements
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150620/View 1/6
Requirements
What Are Requirements?
For purposes of this class, we will focus on what the end user needs or expects the system to do. These
needs and expectations are documented as requirements for the system. They fall into two general
categories: user requirements (sometimes referred to as functional requirements) and system
performance requirements (sometimes referred to non-functional requirements).
1. User Requirements describe the tasks the user needs the system to perform, such as:
What data the system is expected to collect.
What the system is expected to do with the data that is input.
What the system is expected to provide as output (reports, results, etc.).
Some example user requirements for an online shopping site might be:
The system must calculate the total of all items in the online or website shopping cart.
Learning Resource
2/10/22, 4:47 PM Requirements
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150620/View 2/6
The system must display to the user similar items that the online shopper may be interested in.
The system must require the user to provide a shipping address.
The system must automatically fill in the State portion of the shipping address based on the zip
code entered by the user.
The system must provide the user with a report of all purchases made via the website.
2. System Performance Requirements are sometimes referred to as system quality attributes, since they
define how the system is designed, how it will perform when used, and what the user experience will be
(Microsoft, 2009).
They describe how the system will perform, or its quality, in areas such as:
Usability—The ability for new users to quickly adapt to the software, including how easy the system
is to use and how help is provided for the users
Scalability—The ability of the system to accommodate additional users and/or additional
records/transactions
Availability—The amount or periods of time the system is to be operational and useable
Reliability—The ability of the system to create and maintain the data correctly
Maintainability—The ability of the system to be easily maintained, corrected and updated
Performance—The ability of the system to meet time or volume requirements (respond to user
inquiry, update a database, or handle the workload)
Portability—The ability of the system to run/operate on a variety of end-user devices or with
multiple operating systems
2/10/22, 4:47 PM Requirements
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150620/View 3/6
Interoperability—The ability of the system to interact with other existing or legacy systems
System performance requirements also describe security requirements for the system and data, such as:
Protection of the system from malicious or accidental actions
Protection of data as it is transmitted and when it is stored
User authentication; prevention of unauthorized access
Authorization of users to perform specific functions; prevention of unauthorized changes to data
Data backup and recovery
Some examples of system performance requirements are:
The system must encrypt the user’s payment information when it is transmitted.
The system must require a retinal scan for login purposes.
The system must be capable of handling 5,000,000 transactions per hour.
The system must operate using Motorola handheld scanners.
The system must be able to accept financial data directly from the company’s financial system.
To differentiate between user and system performance requirements, the business analyst determines
whether each requirement describes a task that the system must perform (user requirement) or
describes system quality or security (system performance requirement).
How Are the Requirements Used?
2/10/22, 4:47 PM Requirements
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150620/View 4/6
Requirements can be used to develop a system from scratch, in which case many detailed requirements
for every step of every process need to be clearly laid out. For example, if an accounting system is to be
developed, the developers will need to incorporate all the financial and legal aspects of the process.
They will need to know exactly how each accounting function is to be performed in order to program
the system to carry out the function.
However, if the intent is to acquire a commercial off-the-shelf (COTS) accounting system or to use a
software-as-a-service (SaaS) system, then the requirements may be stated at a much higher level, such
as: “the system must implement the Generally Accepted Accounting Principles (GAAP)” or “the system
must produce a monthly expense statement.” In these cases, the end user is not so concerned about
each step in performing those functions, as long as the system provides them.
Once the requirements are listed, they can be used to:
Develop a system and test it to be sure it meets the requirements
Identify one or more COTS or SaaS systems that appear to meet the requirements
Test the COTS or SaaS systems to determine which one meets the most requirements and select
one for use
Identify requirements that are not met that may need be added to the system or may require a
separate or additional system(s) or processes to be implemented
According to Mitre (2018) requirements “can be tested, verified, and/or validated, and are unique,
complete, unambiguous, consistent, and obtainable, and [can be traced] to original business and mission
needs.”
2/10/22, 4:47 PM Requirements
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150620/View 5/6
Documented requirements can be traced through an entire system development and implementation
process. For example:
They form the need for a system and define its scope (all the functions that are to be included).
They form the basis for estimating the time and cost of developing or acquiring the system.
They are used to develop the system.
They are used to negotiate any requirements changes that are proposed by helping to determine
how significant the change is.
They are used to develop test cases to test the system to see if it functions as needed.
They are used when modifications or enhancements are proposed to ensure that the new change
does not unintentionally replace previous functionality, and that the new requirement fits within
the scope of the system’s overall functionality.
They are used to test a modified system to ensure all previous functions, as well as the new
functions, perform as needed.
References
Microsoft. (2009). Microsoft application architecture guide, 2009. Retrieved
from https://docs.microsoft.com/en-us/previous-versions/msp-n-p/ee658094(v=pandp.10)
Mitre. (2018). Systems Engineering Guide—Analyzing and Defining Requirements. Retrieved from
https://www.mitre.org/publications/systems-engineering-guide/se-lifecycle-building-
blocks/requirements-engineering/analyzing-and-defining-requirements
2/10/22, 4:47 PM Requirements
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150620/View 6/6
© 2022 University of Maryland Global Campus
All links to external sites were verified at the time of publication. UMGC is not responsible for the validity or integrity of information located
at external sites.
2/10/22, 4:47 PM
Developing Requirements for an IT System
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150619/View 1/9
Developing Requirements for an IT System
Where Do the Requirements Come From?
Let’s assume that someone in the organization identifies one or more problems with the way a process is
working. Whether the current process is supported by an IT system or not, the analyst might ask people
with different roles in the process two questions:
What problems are you having in performing the task today?
How do you see an IT system helping to improve things?
These questions should elicit a variety of responses from multiple perspectives. The executives might
answer with how the organizational strategies and objectives could be better supported with an IT
system. Managers may answer the questions with how an IT system would help them manage the
people and processes better. Front-line employees will likely focus on their tasks and which steps could
Learning Resource
2/10/22, 4:47 PM Developing Requirements for an IT System
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150619/View 2/9
be done more easily and quickly if they had a system. The analyst will use information gathered during
the process analysis phase to help stakeholders identify and clarify what the system needs to do for
them.
If there is organizational agreement that a new system is probably needed, then a determination should
be made as to whether a system will need to be developed or if a pre-built commercial off-the-shelf
(COTS) solution might work. This would include answering the following types of questions:
For what major functions or tasks is the user seeking an IT solution?
Is there any part of that task that is likely to be unique to this organization?
Would it be possible to find a COTS solution, since those are already created, are ready to be used,
and are often much less costly to implement?
If the organization does not employ any significantly unique functions to accomplish a standard business
process, then it is likely that a COTS solution exists that could meet the needs. The determination of
whether a system is to be built or bought drives the level of detail needed in the requirements. Many
more requirements with much more detail are needed for building a system than for buying one.
Regardless of whether a system is to be built or bought, the next step is to identify the high level user
requirements (or “functional” requirements). This is done by interviewing the expected users of the
system. Users very often know some of what they need the system to do, but are unable to list all the
functions they need. One way the analyst elicits the requirements is by asking a variety of users at
different levels of the organization and with different responsibilities how the processes are currently
being done and what it is that the current system or process does or does not do efficiently. The
manager’s perspective and needs are quite different from the front-line employee trying to perform
specific tasks, and the executive’s perspectives and needs are unique to that level of the organization.
2/10/22, 4:47 PM Developing Requirements for an IT System
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150619/View 3/9
After a series of interviews, the analyst can categorize and document the requirements that are
emerging. Some of these will likely be at a very high level (e.g., “I need annual financial reports”) to very
low-level detailed items (e.g., “the zip code must include all 9 digits”). For an accounting system, the
high-level requirements might include “the system must implement the Generally Accepted Accounting
Principles (GAAP)” or “the system must produce a monthly expense statement,” along with many other
functions identified by the users. One of the biggest challenges for the analyst is to differentiate
between a “must have” (essential) requirement and a “nice to have” feature. When requirements are
collected and documented they are often put into these two categories. The analyst asks the end user to
determine whether each requirement is a “must have” or a “nice to have” item, and documents
accordingly.
Some users may identify requirements that they believe the system must perform, but that the analyst
does not believe should be part of the specification for the system in question. At this point in the
process, all of the requirements identified by any of the participants should be listed. Eventually, the full
list of requirements will be reviewed, modified as necessary and approved by the system “owner” and
major stakeholders. During that part of the process, final determinations will be made about which
requirements are essential, which are “nice to have,” and which should be eliminated. The list of essential
requirements will be used to identify whether there are COTS products available that should be
considered; “nice to have” requirements will be used to compare solutions that meet the essential
requirements. In a system development environment, the essential requirements will be used to
determine the scope of the project. It is often easier and less costly to include “nice to have” items in
systems being developed in-house, but the overall cost of developing and maintaining IT systems must
be considered in making that decision. In the systems development life cycle (SDLC) analysis phase, the
project sponsor signs off on the requirements document. In later SDLC phases, the requirements are
used to design, develop, and test the system.
2/10/22, 4:47 PM Developing Requirements for an IT System
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150619/View 4/9
A separate set of system performance (system quality and security) requirements comes from the
combination of end user needs as well as technical specifications developed by the IT department. The
answers, again, are elicited via interviews with expected system users and managers. Below are example
questions that the analyst might ask to develop system performance requirements in each of the system
quality and security categories:
Usability—Do you want the system user to have access to an online help manual? Do you want the
user to be able to access context-specific help while entering each data field on the screen?
Scalability—How many users and how many records/transactions do you need the system to be
able to accommodate? How much might those increase over time?
Availability—Are there any time blocks where access to the system is not needed (e.g., no one
would use the system between midnight to 4 a.m. daily)?
Reliability—Can you provide examples of tasks where the system needs to create and maintain
accurate/correct
data?
Maintainability—Are system security updates applied within 24 hours? (While end users are
affected by the maintainability of the system, it is usually up to the IT department to determine
whether the process used accommodates changes as needed and whether updates are made in a
timely manner.)
Portability—What devices do you want the users of the system to be able to use? Is it likely that
they would use a smartphone, tablet, etc., to either query or use the system?
Interoperability—Are there any systems with which the new system will need to directly exchange
data?
Security—This is another area where users are affected, but need assistance from technical
specialists to determine the requirements. The analyst might ask: How sensitive is the data? Are
2/10/22, 4:47 PM Developing Requirements for an IT System
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150619/View 5/9
there any regulations concerning protecting the type of data in this system (personally identifiable
information, health care or other data protected by law, etc.)? Do you want users to be restricted as
to what they can do with the system or what data they can access? Should this be based on their
role in the organization? How often does the data change? How long could you continue to operate
if the system were unavailable?
The User’s Role—Identifying Requirements
As discussed above, it is the responsibility of the system users to identify the need for a solution to a
problem or to identify processes that could be improved and performed more effectively or efficiently.
The user is familiar with the business process to be accomplished and with how it is currently
performed, and can identify any issues that exist. Previous work completed on process analysis is an
important precursor to defining requirements. It is not unusual for the business person to look around
and find potential IT solutions to their problems, and some want to jump immediately into acquiring a
specific solution. However, without a set of requirements that has been approved by the organization, a
solution that fits one set of problems may not fit the needs of other users of the system.
The Analyst’s Role—Documenting Requirements
One of the business analyst’s biggest challenges is to get the users to identify their requirements rather
than focus on a specific solution. The analyst conducts interviews and observes the process as it exists
and documents the process. Using the process analysis work done previously and by asking the types of
questions discussed above, the analyst gathers the requirements for the new or updated IT system and
begins to document them.
How Are Requirements Statements Written?
2/10/22, 4:47 PM Developing Requirements for an IT System
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150619/View 6/9
There are a number of “rules” for writing requirements statements. These rules help to ensure that the
requirements can be clearly understood and that it is possible to determine whether or not the new
system meets each of the requirements. Poorly written requirements lead to misunderstanding and
misinterpretation and can lead to a system that does not do what the users need it to do.
The analyst uses the list of requirements that the users identified and rewrites each requirement to meet
the criteria listed below.
Each requirement statement:
Either describes a task that the user needs the system to perform, or states a system
performance expectation.
Identifies only one requirement; avoids the words “and,” “also,” “with,” and “or.”
Is a complete sentence, with a subject (usually “the system”) and predicate (intended result, action
or condition).
Uses “must” (not “may” or “should” or “will” or “shall”); written as “The system must….”
Is generally stated in positive terms (i.e., “the system must xxxx” vs. “the system must not xxx”);
however, there are times when “must not” is the more appropriate way to express the requirement.
Is measurable; includes a measure or metric that can be used to determine whether the
requirement is met (e.g., time or quantity), where appropriate; avoids the use of terms that cannot
be defined and measured, such as “approximately,” “robust,” “user friendly,” etc.
Is achievable and realistic; avoids terms such as “100% uptime,” or “no failures.”
Is complete; it can stand alone and be understood.
2/10/22, 4:47 PM Developing Requirements for an IT System
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150619/View 7/9
Must be testable; that is, there must be some way to test the system to determine whether the
requirement is met.
Below are some examples of poorly written and well-written requirements, with explanations of what is
wrong with the poorly written requirements statements.
Poorly Written Requirement What Is Wrong Well-Written Requirement
Users must have access to their
personal data, which will be
transmitted in a secure manner.
Two requirements (in this case, one
user and one system performance)
are expressed; each statement
should express only one
requirement.
1. The system must provide a
user with access to their
personal data.
2. The system must transmit
personal data in a secure
manner.
The system must calculate the total
of all items in the online or website
shopping cart and display the total
to the user.
Two requirements are expressed;
each statement should express only
one requirement.
1. The system must calculate the
total of all items in the online
or website shopping cart.
2. The system must display the
total of all items in the online
or website shopping cart to
the user.
Report must be provided within 5
seconds of the user clicking on
“submit.”
Not a complete sentence; and
should be stated as “The system
must…”
The system must provide the report
within 5 seconds of the user clicking
on “submit.”
2/10/22, 4:47 PM Developing Requirements for an IT System
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150619/View 8/9
Poorly Written Requirement What Is Wrong Well-Written Requirement
The system should require the user
to
provide a shipping address.
Avoid the use of “should”; use
“must.”
The system must require the user to
provide a shipping address.
The system must be easy to use. “Easy to use” is not measurable or
testable.
The system must provide on-screen
prompts to guide the user through
the correct steps to place an order.
The Requirements Document
Once the requirements statements are written correctly, they should be grouped into categories. The
first categorization is whether a requirement is essential or nice to have. As stated above, this is done by
asking the individual who identified it as a requirement, rather than using the analyst’s judgment. Then,
the requirements are grouped by the function or process involved so that the user community can
understand them. Using the accounting system example, the requirements might be grouped under
headings like: accounts receivable, accounts payable, payroll processing, financial reports, etc. Arranging
the requirements in a sequence that follows the steps in a task is also helpful. For example, in
establishing a receivable account, there are specific steps taken; if the requirements are listed in the
order that is generally used, it allows the end user to ascertain whether the list of requirements is
complete and accurate. Each requirement statement will be assigned a unique identifier so that it can be
referred to with ease and clarity. A full requirements document or “requirements specification” may
contain many hundreds, or even thousands, of requirements. Again, more detailed requirements are
needed for systems being built in-house or under contract. In the case of selecting a COTS product, only
2/10/22, 4:47 PM Developing Requirements for an IT System
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150619/View 9/9
the higher level essential user requirements and the system performance requirements need to be
developed. Otherwise, if too many specifics are identified, it may be impossible to find a COTS
solution.
If all this documentation of requirements seems like it is very time-consuming, it is! Identifying and
documenting the requirements is the basis upon which all further system decisions will be made, so it is
a valuable investment of time and human resources. The later in the process that requirements changes
are introduced, the more costly they become to implement. In developing a system, it would require the
developers to go back and re-do portions of the system and re-test all the possible outcomes; and,
depending on the severity and impact of the change, it may prove to be extremely costly. For COTS
solutions, a significant change to one or more essential requirements may impact which systems should
even be considered. The upfront investment in defining the requirements helps prevent downstream
costs and delays.
© 2022 University of Maryland Global Campus
All links to external sites were verified at the time of publication. UMGC is not responsible for the validity or integrity of information located
at external sites.
2/10/22, 4:46 PM
Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 1/30
Information Systems Development
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
software to support it, how do they go about making it happen? In this reading, we will discuss the
different methods of taking those ideas and bringing them to reality, a process known as information
systems development.
Programming
As we learned in Software, it is created via programming. 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 syntax of a programming language is not in a form
that everyone can understand—it is in “code.”
Learning Resource
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 2/30
The process of developing good software is usually not as simple as sitting down and writing some code.
True, sometimes a programmer can quickly write a short program to solve a need. But most of the time,
the creation of software is a resource-intensive process that involves several different groups of people
in an organization. In the following sections, we are going to review several different methodologies for
software development.
Systems-Development Life Cycle
The development methodology, systems-development life cycle (SDLC), was first developed in the
1960s to manage the large software projects associated with corporate systems running on mainframes.
It is a very structured and risk-averse methodology designed to manage large projects that included
multiple programmers and systems that would have a large impact on the organization.
Various definitions of the SDLC methodology exist, but most contain the following phases.
1. Preliminary Analysis. In this phase, a review is done of the request. Is creating a solution possible?
What alternatives exist? What is currently being done about it? Is this project a good fit for our
organization? A key part of this step is a feasibility analysis, which includes an analysis of the
technical feasibility (Is it possible to create this?), the economic feasibility (Can we afford to do
this?), and the legal feasibility (Are we allowed to do this?). This step is important in determining if
the project should even get started.
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 are interviewed, and data requirements are
developed in order to get an overall picture of exactly what the system is supposed to do. The
result of this phase is a system-requirements document.
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 3/30
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 will
need to actually create the system.
4. Programming. The code finally gets written in the programming phase. Using the system-design
document as a guide, a programmer (or team of programmers) develop the program. The result of
this phase is an initial working program that meets the requirements laid out in the system-analysis
phase and the design developed in the system-design phase.
5. Testing. In the testing phase, the software program developed in the previous phase is put through
a series of structured tests. The first is a unit test, which tests individual parts of the code for errors
or bugs. Next is a system test, where 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 addressed and then tested again.
6. Implementation. Once the new system is developed and tested, it has to be implemented in the
organization. This phase includes training the users, providing documentation, and conversion from
any 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 this reading.
7. Maintenance. This final phase takes place once the implementation phase is complete. In this
phase, the system has a structured support process in place: reported bugs are fixed and requests
for new features are evaluated and implemented; system updates and backups are performed on a
regular basis.
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 4/30
SDLC Waterfall
Seven phases of the systems-
development life cycle
methodology
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 whether to move to the next step or not. This methodology has
been criticized for being quite rigid. 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 methodologies have been developed. Many of
these retain some of the underlying concepts of SDLC, but are not as rigid.
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 5/30
The RAD Methodology
Rapid
application
development
methodology
Public Domain
Rapid application development (RAD) is a software-development (or systems-development)
methodology that 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.
2. User Design. In this phase, representatives of the users work with the system analysts, designers,
and programmers to interactively create the design of the system. One technique for working with
all of these various stakeholders is the so-called JAD session. JAD is an acronym for joint
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 6/30
application development. A JAD session gets all of the stakeholders together to have a structured
discussion about the design of the system. Application developers also sit in on this meeting 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. This is an interactive process, and changes can be made as
developers are working on the program. This step is executed in parallel with the User Design step
in an iterative fashion, until an acceptable version of the product is developed.
4. Cutover. In this step, which is similar to the implementation step of the SDLC, the system goes live.
All steps required to move from the previous state to the use of the new system are completed
here.
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, they share some of the same principles: iterative development, user interaction,
and ability to change. The agile methodologies are based on the “Agile Manifesto,” first released in 2001.
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 7/30
The characteristics of agile methods 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
at the end of each iteration, a working project is completed to demonstrate to the stakeholders.
The goal of the agile methodologies is to provide the flexibility of an iterative approach while ensuring a
quality product.
Lean Methodology
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 8/30
The Lean Methodology
Focused on developing a minimal viable
product (MVP)
The last methodology is a relatively new concept taken from the business bestseller, The Lean Startup,
by Eric Reis. In this methodology, the focus is 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, it is given to potential users for
review. Feedback on the MVP is generated in two forms: (1) direct observation and discussion with the
users, and (2) usage statistics gathered from the software itself. Using these two forms of feedback, the
team determines whether to 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.
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 9/30
The biggest difference between the lean methodology and the other methodologies is that the full set of
requirements for the system are not known when the project is launched. As each iteration of the
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 its idea for a software application is worth developing.
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 10/30
The Quality Triangle
The Quality Triangle
Three conditions of product
development
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 what does it mean that you can only address two of the three? It means that you cannot
complete a low-cost, high-quality project in a small amount of time. However, if you are willing or
able to spend a lot of money, then a project can be completed quickly with high-quality results
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 11/30
(through hiring more good programmers). If a project’s completion date is not a priority, then it can
be completed at a lower cost with higher-quality results. Of course, these are just generalizations,
and different projects may not fit this model perfectly. But overall, this model helps us understand
the tradeoffs that we must make when we are developing new products and services.
Programming Languages
As noted earlier, software developers create software using one of several programming languages. A
programming language is an artificial language that provides a way for a programmer to create
structured 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 many
different needs. One way to characterize programming languages is by their “generation.”
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 fact, even today there are
differences at the lower level, though they are now obscured by higher-level programming languages). In
these early languages, very specific instructions had to be entered line by line – a tedious process.
First-generation languages are called machine code. In machine code, programming is 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:
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 12/30
10111001 00000000
11010010 10100001
00000100 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. Assembly language gives english-like phrases to
the 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 an example program that adds 1234
and 4321 using assembly language:
MOV CX, 1234
MOV DS: [0], CX
MOV CX, 4321
MOV AX, DS: [0]
MOV BX, DS: [2]
ADD AX, BX
MOV DS: [4], AX
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 13/30
Third-generation languages are not specific to the type of hardware on which they run and are much
more like spoken languages. Most third-generation languages must be compiled, a process that converts
them into machine code. Well-known third-generation languages include BASIC, C, Pascal, 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, FoxPro, 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 stick-shift automobiles instead of automatic
transmission: control and efficiency. Lower-level languages, such as assembly language, are much more
efficient and execute much more quickly. You have finer control over the hardware as well. Sometimes, a
combination of higher- and lower-level languages are mixed together to get the best of both worlds: the
programmer will create the overall structure and interface using a higher-level language, but will use
lower-level languages for the parts of the program that are used many times or require more precision.
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 14/30
The Programming Language Spectrum
Generations of program language
Compiled vs. Interpreted
Besides classifying a program language based on its generation, it can also be classified by whether it is
compiled or interpreted. As we have learned, 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.
An interpreted language is one that requires a runtime program to be installed in order to execute. This
runtime program then interprets the program code line by line and runs it. Interpreted languages are
generally easier to work with, but are slower and require more system resources. Examples of popular
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 15/30
interpreted languages include BASIC, PHP, PERL, and Python. The web languages of HTML and
Javascript would also be 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 that must be
installed, which is what allows Java programs 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 define the flow of the program. The object-oriented programming language
is set up 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; an
object-oriented program focuses on the different items being manipulated.
For example, in a human-resources system, an “EMPLOYEE” object would be needed (see table below). 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. In the example below, an employee object has the
properties “Name,” “Employee number,” “Birthdate,” and “Date of hire.” An object also has “methods”,
which can take actions related to the object. In the example, there are two methods. The first is
“ComputePay()”, which will return the current amount owed the employee. The second is
“ListEmployees()”, which will retrieve a list of employees who report to this employee.
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 16/30
Object: EMPLOYEE
Name
Employee number
Birthdate
Date of hire
ComputePay()
ListEmployees()
What is COBOL?
If you have been around business programming very long, you may have heard about the COBOL
programming language. COBOL is a procedural, compiled language that at one time was the
primary programming language for business applications. Invented in 1959 for use on large
mainframe computers, COBOL is an abbreviation of common business-oriented language. With the
advent of more efficient programming languages, COBOL is now rarely seen outside of old, legacy
application
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 17/30
Programming Tools
To write a program, a programmer needs little more than a text editor and a good idea. However, to be
productive, he or she 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.
Integrated Development Environment
For most programming languages, an IDE can be used. An IDE provides a variety of tools for the
programmer, and usually includes:
an editor for writing the program that will color-code or highlight keywords from the programming
language;
a help system that gives detailed documentation regarding the programming language;
a compiler/interpreter, which will allow the programmer to run the program;
a debugging tool, which will provide the programmer details about the execution of the program in
order to resolve problems in the code; and
a check-in/check-out mechanism, which allows for a team of programmers to work together on a
project and not write over each other’s code changes.
Probably the most popular IDE software package right now is Microsoft’s Visual Studio. Visual Studio is
the IDE for all of Microsoft’s programming languages, including Visual Basic, Visual C++, and Visual C#.
CASE Tools
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 18/30
While an IDE provides several tools to assist the programmer in writing the program, the code still must
be written. 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, but their goal is to
generate quality code based on input created by the designer.
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 19/30
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. HTML, at its simplest, 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, which consist of text between 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. In
the example below, some text is being defined as a heading while other text is being emphasized.
Simple Hypertext Markup Language
(HTML)
HTML tags
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 20/30
Simple HTML Output
Formatted text
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, if the designer wanted all first-level headings
(h1) to be blue and centered, he or she could set the “h1″ style to match. The following example
shows how this might look.
HTML with Cascading Style Sheets
(CSS)
Tags for first-level heading centered and in blue
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 21/30
HTML with CSS output
H1 heading formatted
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 is HTML 5,
which 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.
Build vs. Buy
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 22/30
When an organization decides that a new software 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 a software package than to build it. Second, when a software package is
purchased, it is available much more quickly than if the package is built in-house. Software applications
can take months or years to build; a purchased package can be up and running within a month. 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 that is in
that 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 a software
package 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 many of the same
analyses that they would do if they were going to build it themselves. This is an important decision that
could have a long-term strategic impact on the organization.
Web Services
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 23/30
As we saw in the Software section, the move to cloud computing has allowed software to be looked at
as a service. One option companies have these days is to license functions provided by other companies
instead of writing the code themselves. These are called web services, and they can greatly simplify the
addition of functionality to a website.
For example, 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, they can build a Google Map right
into their application. Or a shoe company could make it easier for its retailers to sell shoes online by
providing a shoe-size 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 a software
application themselves, but then purchase functionality from vendors to supplement their system.
End-User Computing
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 are not necessarily trained in
programming or application development, but they tend to be adept with computers. A person, for
example, who is skilled in a particular software package, such as a spreadsheet or database package, may
be called upon to build smaller applications for use by his or her 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 to those who will use them. Because IT departments are sometimes quite
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.
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 24/30
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 because it is a duplication of effort. Sometimes, these different
versions of the same application end up providing different results and bringing confusion when
departments interact. These 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, but it should be managed. The IT department
should set guidelines and provide tools for the departments who want to create their own solutions.
Communication between departments will go a long way toward successful use of end-user computing.
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 25/30
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 interface, working with users—all of these steps still need to be carried out.
So what’s different about building an application for a mobile device? In some ways,
mobile applications are more limited. An application running on a mobile device must be designed
to be functional on a smaller screen. Mobile applications should be designed to use fingers as the
primary pointing device. Mobile devices generally have less available memory, storage space, and
processing power.
Mobile applications also have many advantages over applications built for traditional
computers. Mobile applications have access to the functionality of the mobile device, which usually
includes features such as geolocation data, messaging, the camera, and even a gyroscope.
One of the most important questions regarding development for mobile devices is this: Do we want
to develop an app at all? A mobile app is an expensive proposition and some will only run on one
type of mobile device at a time. For example, if you create an iPhone app, users with Android
phones are out of luck. Each app takes several thousand dollars to create, so this may not be the
best use of your funds.
Many organizations are moving away from developing a specific app for a mobile device and
are instead making their websites more functional on mobile devices. Using a web-design
framework called responsive design, a website can be made highly functional no matter what type
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 26/30
of device is browsing it. With a responsive website, images resize themselves based on the size of
the device’s screen, and text flows and sizes itself properly for optimal viewing.
Implementation Methodologies
Once a new system is developed (or purchased), the organization must determine the best method for
implementing it. Convincing a group of people to learn and use a new system can be a very difficult
process. Using new software, and the business processes it gives rise to, 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 that the old system is not going to be used anymore. On that date, the users begin
using the new system, and the old system is unavailable. The advantages to using this methodology
are that it is very fast and the least expensive. However, this method is the riskiest as well. 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 (called a pilot group) starts
using the new system before the rest of the organization. This has a smaller impact on the company
and allows the support team to focus on a smaller group of individuals.
Parallel operation. With parallel operation, the old and new systems are used simultaneously for a
limited period of time. This method is the least risky because the old system is still being used while
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 27/30
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. In phased implementation, different functions of the new application are
used as functions from the old system are turned off. This approach allows an organization to
slowly move from one system to another.
Which of these implementation methodologies to use depends on the complexity and importance of the
old and new systems.
Change Management
As new systems are bought 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.
Maintenance
Once a new system has been introduced, it enters the maintenance phase. In this 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
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 28/30
Software development is about so much more than programming. 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 applications 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.
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 29/30
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?
Licenses and Attributions
Chapter 10: Information Systems Development
(https://www.saylor.org/site/textbooks/Information%20Systems%20for%20Business%20and%20Beyon
d ) from Information Systems for Business and Beyond by David T. Bourgeois is available under a
https://www.saylor.org/site/textbooks/Information%20Systems%20for%20Business%20and%20Beyond
2/10/22, 4:46 PM Information Systems Development
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150610/View 30/30
Creative Commons Attribution 3.0 Unported (https://creativecommons.org/licenses/by/3.0/) license.
© 2014, David T. Bourgeois. UMGC has modified this work and it is available under the original license.
© 2022 University of Maryland Global Campus
All links to external sites were verified at the time of publication. UMGC is not responsible for the validity or integrity of information located
at external sites.
https://creativecommons.org/licenses/by/3.0/
Analyze organizational processes to identify functional requirements
Before responding to this discussion, read both
Requirements and Developing Requirements for an IT System assigned for Week 5.
For your Stage 3 assignment, you will analyze the hiring process at Maryland Technology Consultants (MTC) to identify the functional requirements for the hiring system. For this discussion, you will practice analyzing processes to identify functional requirements for a system to improve a process.
Some students may still have difficulty identifying processes; be sure to refer to the Week 3 readings that describe various processes and review the Week 3 discussion. Keep in mind that a process is a set of specified steps to accomplish a task.
This week’s discussion topic focuses on functional requirements that need to be clearly written so that the people who are developing the system or evaluating a system for use can discern whether the functional requirements are met or not.
The functional requirements statement:
· Is a complete sentence, with a subject (system) and predicate (intended result, action or condition)
· Identifies only one requirement; does not include the words “and,” “also,” “with,” and “or.”
· For functional requirements, states what tasks the system will support or perform
· Includes a measure or metric that can be used to determine whether the functional requirement is met (time or quantity), where appropriate
· Is stated in positive terms and uses “must” (not “may” or “should”); e.g., “the system must xxxx” not “the system must not xxx”
· Avoids the use of terms that cannot be defined and measured, such as “approximately,” “robust,” “user friendly,” etc.
· Must be testable; that is, there must be some way to test the system to determine whether the requirement is met
Group 1:
1. Drawing from your own experience, select a process used at your place of work or in your interaction with an organization that you would like to see improved. Explain why you picked that process.
2. Imagine that a system is to be implemented (or an existing system improved) to make that process better and write five (5) functional requirements for the system to perform. Each requirement is one sentence in length and addresses one thing the system must do. Here we are interested in functional requirements – the activities the system must perform to support the identified process. Use the information above to create your functional requirements statements.
Groups 2, 3, and 4: Reply to three different main postings. You are to critically evaluate all of the following as you reply:
1. Should the process identified actually be considered a “process”? That is, does it meet the definition of “a set of specified steps to accomplish a task”? Why or why not?
2. Do the functional requirements listed support the selected process?
3. Are the functional requirements clearly stated such that system testers will be able to ascertain whether or not the requirement has been implemented?
4. Provide an example of a rewritten functional requirement that improves one of the existing user requirements in the information provided above.
Remember – the Group 1 initial posting is due by Friday midnight; it should be about two short paragraphs in length, supported by external research, and it should be posted by clicking on “Start a New Thread”. These postings need to thoroughly respond to the questions and incorporate relevant research correctly. Please look at what has been posted by your classmates before choosing your examples, and then select something that has not yet been discussed, if possible. Let’s try to spread the discussion across as many examples as possible.
RESPOND TO THE POST AND INCLUDE CITATION
KISHA
I work at the State Department, and oftentimes our Front Office Principals need up-to-date travel metrics to report to the Secretary or to include in papers. I chose this process because pulling data metrics has become tedious and I would like to see an improvement in both the quality and the time it takes to produce these travel reports. These requests often come with a short deadline, and it takes a lot of coordination and input from the travel team to manually produce these reports. We could benefit from implementing a travel database that can automate these steps with input from users, instead of using four different systems to pull data.
The current process is as follows:
· Run report from travel system – report is not filterable and difficult to manipulate. Also, this report only captures govt employee travel, not contractors.
· Access budget cuff records to see actual post voucher trip amounts.
· Pull Contractor travel data from invoice system.
· Manually count the number of trips based on the report.
· Determine whether trip falls in TDY or deployment category, based on the duration of trip (90 days or less represents a TDY)
· Utilize PowerPoint to create graphs/charts as needed. Must manually enter data.
Detailed, clearly defined requirements help mitigate financial risks and keep projects on schedule. Business requirements must be specific and include objectives. The objectives for this new process are as follows.
· To acquire a system that will consolidate the data in one place vice pulling data from multiple sources.
· Save time and resources by reducing the number of steps in the process.
· Improve accuracy of data by providing more efficient reporting with fewer errors.
Below, I’ve outlined the functional requirements for the system and have indicated beside them whether they are user requirements or system performance requirements, per our week 5 reading (Requirements).
· Must calculate travel data entered in the system (number of travelers, trips, countries visited, trip dates, trip cost, etc.) (user requirement)
· Must autogenerate reports for user with graphs and charts comparing annual travel statistics by office. (user requirement)
· Must automatically track the duration of trip to indicate whether it falls in TDY category or deployment category and calculate the numbers in each category. (user requirement)
· System must format dollar amounts for consistency (user requirement)
· Data backup and recovery (system performance requirement)
Reference
s
:
UMGC. (n.d.). Requirements. Retrieved from
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150620/View
Altexsoft. (2021). Functional and Nonfunctional Requirements. Retrieved from
https://www.altexsoft.com/blog/business/functional-and-non-functional-requirements-specification-and-types/
RESPOND TO THE POST AND INCLUDE CITATION
TAYLOR
Part 1. The process that I would like to see improved for my current work center is how to perform a Key Task Listing (KTL) Inspection. I chose this process because it contains a lot of steps that become tedious, and it involves traveling back and forth from our office to the location of the Aircraft. Depending on the KTL required, this inspection can take most of the shift to complete. The current process is as follows:
1. Maintenance personnel perform a specific repair action that qualifies as a KTL.
2. Production notifies MOC that a KTL inspection is required
3. MOC notifies my office (Quality Assurance – QA) that the KTL is ready for inspection.
4. QA prints a KTL guide that shows inspectable procedures related to the task.
5. QA performs an Aircraft Forms inspection for the KTL.
6. QA notes all findings related to forms inspection.
7. QA performs an inspection on the maintenance actions of the KTL.
8. QA notes all findings related to maintenance actions of the KTL.
9. QA briefs production on all findings/overall rating of inspection (Pass or Fail).
10. QA signs off inspection as complied with.
11. QA inputs findings into LEAP (inspection system).
Part 2. If the current process were to be improved the following functional requirements would need to be implemented into the system. I discussed this process and the following improvements with the other inspectors on my shift to determine what we considered to be functional requirements for this hypothetical system (UMGC, Developing Requirements for an IT System, 2022).
1. The system must notify QA that a KTL is ready for inspection.
2. The system must have all the tasks loaded for the required KTL for QA to access.
3. The system must have a database for QA to input findings for the inspection.
4. The system must notify production of all findings for the inspection once completed.
5. The system must be able to access LEAP and input the final report.
References
UMGC. (2022). Developing Requirements for an IT System. Retrieved February 11, 2022, from UMGC: https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150619/View
RESPOND TO THE POST AND INCLUDE CITATION
Jeff
The process I have selected is one I have spoken of before Digital Training Management System (DTMS). DTMS “is a web-based training enabler designed to link existing systems to create a single point of entry for units to schedule unit training, manage training resources, and create schedules and master calendars for training”(Schwennesen,2019).
1. Check the Current Modification Table of Organizational Equipment (MTOE) for changes.
2. Identify Training Requirements for the new Fiscal Year (FY).
3. Build a Short Term Training Calendar divided into each Quarter.
4. Build a Long Term Calendar summing up the Short Term Calendar.
5. Input all the information from the calendars into DTMS
6. Create Sign-In Rosters
7. Create DA Form 5165-R for each Quarter of Training
8. Create DA Form 5164-R for each Soldier and Individual Task
9. After each event is complete, all paperwork has to be uploaded into DTMS
10. Paperwork remains on hand for inspection purposes.
I chose this system because of all the systems I use in the Army; this one has the most steps that could use some improvement. The process mentioned above is just one of the functions of the website. While the site is not bad, it is a one-stop-shop for tracking training, aside from being extremely slow and not user-friendly. With the Army doing its best to go green and reduce the amount of paper we use, the improvements listed below could help to eliminate some of the usages. Because some of the forms are not loaded in DTMS, they are generated locally and uploaded. It can seem like one is inputting the same information; that seems it could be auto-populated or connected to similar cells to eliminate double work. If the Army would use an approach such as the continuous process improvement, which is the process of an “organizations document and measure their current processes, make incremental changes, and measure the results of the changed processes”(UMGC, n.d.), at the user level more suggestions would come in like these and help improve the system across the Army.
1. The system must autoload the new FY MTOE for each new training calendar.
2. Information input into the Short/Long term calendars will populate into monthly training calendars.
3. Each task must populate a DA Form 5165/5164-R for each individual assigned to the event.
4. The software will have a submit button to upload all generated paperwork upon completion.
5. The system must have backup cloud storage to eliminate the need for documentation to be physically kept on file.
Reference
Schwennesen, S. (2019, June 18). DTMS managers and DTMS operators courses offered at FT Leavenworth. www.army.mil. https://www.army.mil/article/223301/dtms_managers_and_dtms_operators_courses_offered_at_ft_leavenworth
University of Maryland Global Campus. (n.d.). Optimizing Business Processes. Document posted in UMGC IFSM 300 6384 online classroom, archived at
https://learn.umgc.edu/d2l/le/content/622997/viewContent/25150607/View