Transcript Chapter 11

Chapter 11
Chapter 11
Creating Information Systems
What managers need to know about the process by which
organizational information systems come to be
1
Course Roadmap
•
•
•
•
Part I: Foundations
Part II: Competing in the Internet Age
Part III: The Strategic use of Information Systems
Part IV: Getting IT Done
–
–
–
–
Chapter 10: Funding Information Systems
Chapter 11: Creating Information Systems
Chapter 12: Information System Trends
Chapter 13: Security, Privacy and Ethics
2
Learning Objectives
1. To appreciate how complex it is to design and implement information systems and
the stable, robust, secure technology at their core.
2. To articulate the advantages and disadvantages of custom software design and
development versus acquisition of an off-the-shelf product.
3. To describe and be able to use the main methodologies for custom software
design and development. Specifically, you will be able to identify the major phases
of the system development life cycle (SDLC) and discuss its advantages and
disadvantages. You will also become familiar with the prototyping approach and
will be able to identify its principal advantages and disadvantages.
4. To describe the systems selection methodology and be able to use it to choose a
pre-packaged software program for a specific organization.
5. To describe the reasons for the increasing prominence of end-user development in
modern organizations and to articulate the benefits and risks of this approach to
software development.
3
Introduction
• Whether the information systems rely on custom-developed technology or
off-the-shelf software, it is critical that you as a general or functional
manager understand how information systems come to be.
• While general and functional managers need not be concerned with
hardware decisions, they must take part in the software design,
acquisition, and implementation processes.
• Involvement in information systems funding and design is essential
because never before has a firm’s success depended so much on the use
of the right software applications.
• Deciding what the characteristics of the “right” applications are is a
business decision that is based more on the business case and the
understanding of the business processes the software will enable (or
constrain!) than on any technical consideration
4
Risks & Rewards
5
How Hard Can IT Be?
• Challenge: The U.S. subsidiary of one of the major food
producers in the world inked a deal to implement SAP
(the leading enterprise system application), in an effort
to centralize and rationalize operations across its nine
divisions. The project required streamlining processes,
standardizing software applications, and implementing
the same organizational structure across the units
• Question: How much time and how much money
would you budget for this project?
• Answer: six years and over $200 million
6
How Hard Can IT Be?
• Challenge: A large hospitality company with over 2,000
branded hotels developed a customer information
system to enable its customer relationship
management (CRM) strategy. The custom-developed
functionalities of the software application at the heart
of the information system included a propertymanagement system, the loyalty and CRM applications,
and the reporting modules.
• Question: How much time and how much money
would you budget for this project?
• Answer: Two years and about $120 million.
7
Information Systems Development
• Technology Development
– The process of creating the core IT
– IT can be acquired and integrated into existing
infrastructure
– IT can be custom-built by (or for) the
organization
• Information System Development
– Successfully integrating the technology with the
other components to achieve a working system
8
Three Approaches
•
Custom design and development
•
•
System selection and acquisition
•
•
Implementing software that is expressly made to
fit the unique needs of the organization
Implement an off-the-shelf application that is
mass produced by a vendor
End-user development
•
Implement a software application that is created
by an end users, rather than the firms IS
professionals
9
Advantages of Custom
Development
• Unique Tailoring
– Molded to fit the unique features, characteristics,
and needs of the firm that commissions them.
– Off-the-shelf software may require adjustment
(customization) to fit the organization
• Flexibility and Control
– Building from scratch allows the software to be
molded into any form and modified at a later time
10
Advantages of Purchasing
• Faster Roll-Out
– Purchased software dramatically reduce the time it takes
to obtain the software and to begin the implementation
process
• Knowledge Infusion
– Software developers proactively seek out best practices in
order to code their applications
• Economically Attractive
– The firm can capitalize on economies of scale created by
the vendor
• Software Quality
– Mature off-the-shelf products have been heavily tested
11
Make and Buy
• Modern firms are blending the custom
development and selection approaches
– First firms acquire off-the-shelf systems, then they
modify them extensively
– Few firms modify off-the-shelf applications slightly
or not at all
– Off-the-shelf applications are becoming larger and
more complex, and require some modification to
fit the purchasing firm
12
Design and Development
Methodologies
13
Systems Development Life Cycle
• The SDLC approach is predicated on the
notion that detailed justification and planning
will reduce risk and uncertainty in systems
development
– Critical: Involvement from end-users and
functional managers
– Requires considerable time analyzing
requirements up front
– Requires that changes after the project has
started be kept to a minimum
14
Principal Phases of the SDLC
• Definition
– Investigation
– Feasibility Analysis
– System Analysis
• Build
– System Design
– Programming
– Testing
• Implementation
– Installation
– Operations
– Maintenance
15
Principal Phases of the SDLC
• Definition
– Investigation
– Feasibility Analysis
– System Analysis
• Build
– System Design
– Programming
– Testing
• Implementation
– Installation
– Operations
– Maintenance
16
The Definition Phase
• Concerned with clearly identifying the
features of the proposed information system
• Critical is the involvement of end-users and
functional managers at this time
• Resources (systems analysts) during this phase
will identify and articulate the system
requirements
17
The Definition Phase
• Investigation Stage
– Identify the business issues the system will pertain
to
– Formulate:
• Main goals of the system
• Scope of the design
• Value proposition of the new system
– Typically a very informal stage
18
The Definition Phase
• Feasibility Analysis Stage
– Used to ensure that organizational resources are put to the
best use
– Technical Feasibility: Evaluate whether the proposed
system is viable from a technology standpoint
– Operational Feasibility: Evaluate whether the Information
System as planned will work in the organization
– Economic Feasibility: Evaluation of the financial viability of
the system
• Perform a cost/benefit analysis in order to ensure the money
spent will meet the firm’s financial hurdles.
19
The Definition Phase
• Systems Analysis Stage
– The process of identifying and articulating the system
requirements
– Systems analysts play a major role at this stage
– Systems analysts must seek out and value the input of endusers and other stakeholders
– The systems requirements document
•
•
•
•
Details the inputs the systems will accept
Details the outputs the system will produce
Once approved (client sign-off), the requirements are “frozen”
In a strict waterfall approach no further changes are allowed
20
The Build Phase
• Definition
– Investigation
– Feasibility Analysis
– System Analysis
• Build
– System Design
– Programming
– Testing
• Implementation
– Installation
– Operations
– Maintenance
21
The Build Phase
• The most technical phase
• The one by which people picture when they
imagine how software is designed and
developed
• Key resources involved includes systems
architects and programmers
• The objective is to take the system
requirements document and produce a
robust, secure, and efficient application.
22
The Build Phase
•
Systems Design Stage
– Using the results from the definition phase, systems architects create the overall structure of
the system
– The output of this stage is a precise set of documents that programmers will employ to write
code
• Programming Stage
– The process of translating the abstract software design into a set of
instructions that can be executed by the hardware
– Thorough and clear documentation is essential for support, maintenance, and
upgrades
• Testing
– Programmers are constantly engaged in testing as they develop the system
– Formalized testing of the completed application is an essential stage of the
SDLC
– The objective it to release the application when it is good enough, not when it
is flawless
23
System Design: Example
24
The Implementation Phase
• Definition
– Investigation
– Feasibility Analysis
– System Analysis
• Build
– System Design
– Programming
– Testing
• Implementation
– Installation
– Operations
– Maintenance
25
The Implementation Phase
• The process of ensuring that the technology is
properly integrated with the other
components of the information system
• Extremely delicate time
• Success at this stage requires:
– Project management skills
– Executive involvement
26
The Implementation Phase
•
Installation Stage
–
–
–
The software is loaded
on the production
hardware and the
databases are
populated
Typically occurs during
slow periods for the
organization
Four major
implementation
approaches
27
Installation Approaches
• Parallel Installation
– Old and new systems are run for a time together,
in parallel
• Offers insurance against failure of new application
• Most costly as it requires redundancy of efforts
Old System
New System
28
Installation Approaches
• Direct (Cutover) Installation
– The old system is discontinued and the firm cuts
over to the new one.
– Most radical approach
– Unavoidable in some cases (e.g., Y2K)
Old System
New System
29
Installation Approaches
• Phased Installation
– The new system progressively replaces the
functionalities of the old one
– Best suited for componentized or modular
applications that can be rolled out in stages
New System
Old System
30
Installation Approaches
• Pilot Implementation
– Allows the firm to run the new system in one
business unit or one of the firm’s departments
before rolling it out completely
– Well suited for multi-unit operations
Old System
New System
31
The Implementation Phase
• End-user training
– Occurs during the installation phase
– Typically occurs in formal settings, such as
classrooms or make-shift computer labs
• Change Management
– Process of smoothing the transition from the old
system to the new work practices
– User resistance and inertia are the biggest dangers
32
The Implementation Phase
• Operations Stage
– At this stage the system is up and running and the firm
begins to use it
– The system becomes a permanent asset of the
organization
• Maintenance Stage
– Compiling errors requests
– Prioritizing them
– Implementing fixes and improvements
• Functionality gaps may arise and can be closed by way
of upgrades and additions
33
Advantages of SLDC Approach
• Provides a systematic approach to software
development
• Identifies roles and expectations of team
members
• Best-suited for large-scale projects
• Designed for cost control
• Enforces a means of communication between
the project team and the project stakeholders
34
Prototyping
• Rooted in the notion that it is impossible to
clearly estimate and plan complex information
systems projects
• Allows for flexibility and iteration in the design
process
• Enabled by tools that speed up the
development process
• Can be used internally within the SDLC as a
way to seek input user input
35
Prototyping Life Cycle
• Requirements Definitions
– Process of determining basic requirements
– Degree of precision is less than with SDLC because
requirements are not frozen
• Initial Prototype
– The first iteration of the software
– At this point, the software can take many forms
and can evolve in many directions
36
Prototyping Life Cycle
• Evaluation
– Stakeholders review the prototype and provide
feedback on the current design
– Offer requests for enhancements and new
functionality
• Revision
– Design and coding of the requested changes
– New prototype is developed and is submitted for
review
37
Prototyping Life Cycle
• Completion
– Occurs after multiple iterations
– The iterative evaluation and revision cycle stops
– The development team finalizes the system
– Documentation and testing occur prior to the
formal release of the software
38
Advantages of the Prototyping
Approach
• Speed
• Closer to the users expectations:
– The process require more user involvement
– Multiple iterations structure user feedback
• Enables the firm to experiment with new
technologies
• Best suited to smaller-scale projects
39
Limitations to the Prototyping
Approach
• The software is more likely to be lacking from a:
– Security
– Robustness
– Reliability
• Often less thoroughly tested and documented
• May lead to unreasonable expectations
• May lead to scope creep
40
Agile Development
• A new breed of software
development approaches has taken The State of Use for Agile Methodologies
hold recently, in part due to the
increasing popularity of
prototyping.
• The software development
approaches are collectively labeled
as agile software development
methodologies
– Individuals and interactions over
processes and tools
– Working software over
comprehensive documentation
– Customer collaboration over contract
negotiation
– Responding to change over following
a plan
41
CMM
• Capability Maturity Model (CMM)
ranks software development
organizations according to their
ability to produce quality
software by evaluating a set of
standard processes thought to
determine software quality.
• The CMM is based on the core
notion that reliable and
consistent implementation of a
specific set of processes
represents a higher level of
software development maturity
and, as a consequence, ensures
higher quality software products
42
Outsourced Development
• Custom-designed software programs are
increasingly outsourced
• Virtual Development Teams
– Teams that work together but are not physically
located together
• Superior cost/quality ratio
– Superior quality products at a fraction of the cost
of internal development
43
Purchasing Off-the-Shelf SW
•
The process of:
– Identifying
– Purchasing
– Implementing
•
suitable off-the-shelf
software programs
Typically spearheaded by
management interest
44
The Definition Phase
• Investigation Stage
– Identify the business issues the system will be designed to
address
– Formulate goals and the scope of design
• Feasibility Analysis Stage
– Technical Feasibility: Evaluate whether the proposed
system is viable from a technology standpoint
– Operational Feasibility: Evaluate whether the Information
System as planned will work in the organization
– Economic Feasibility: Evaluation of the financial viability of
the system
45
The Definition Phase
• Systems Analysis Stage
– Focus on determining the specific functionalities
required of the proposed system
• Formulate Evaluation Criteria Stage
– Determine essential features & capabilities the
system must have
– Value adding features:
• Capabilities that offer significant advantages for which
the firm will pay a premium
46
The Definition Phase
• Compile Short List of Vendors Stage
– Identify potential vendors that meet the Request
For Proposal (RFP) requirements
• Compile and Distribute the RFP Stage
– RFP identifies critical system requirements and
expectations
– Interested firms will respond to the RFP
– An internal selection committee is formed
47
The Definition Phase
• Evaluate Alternatives Stage
– Determine a list of top vendors based upon the criteria
developed earlier
• Negotiate Contract Stage
– Object is to draft and sign a contract that provides the
needed solution and insulates the firm from future risk
– Focus on cost, eventual liabilities, and control of
intellectual property
48
The Build Phase
• System Design (Configuration) Stage
– The process of modifying through parameters, if necessary
• Programming (Customization) Stage
– The process of modifying the application by designing new
functionality
– Follows the system design and development approach
– Necessary to accommodate specific needs of the organization
• Testing Stage
– Concerned with system performance rather than with the
identification and correction of bugs
49
The Implementation Phase
• Similar to SDLC implementation phase
• Process change requirements are typically
greater for off-the-shelf applications than
custom software
• Users are trained to operate the software
• Change management may be substantial
• The organization should plan to invest
considerable resources
50
End-User Development
• An umbrella term capturing the many ways in
which knowledge workers, not IT
professionals, create software
• Examples:
– Spreadsheet models (written in MS Excel)
– Personal databases (MS Access)
– Software programs built with user-friendly
computer languages (Visual Basic for Application)
51
The Benefits of End-User Development
• Increased Speed of Development
– Projects can be completed independently by the
end-user
• End-user Satisfaction
– When a user creates their own applications, they
are more likely to be satisfied with the result
• Reduced Pressure on the IS Function
52
The Risks of End-user Development
• Unreliable Quality Standards
– Because of the limited skill set and knowledge of most end
users, the quality of their work varies dramatically
• High Incidence of Errors
– The focus on outcomes and rapid development increase
the likelihood of errors
• Continuity Risks
– Often difficult for anyone but the individual who wrote the
program to understand it, enhance it, or support it
53
The Recap
• Introducing an organizational information system is a twostep process requiring technology development and the
implementation process.
• Modern firms introduce new information systems using
one of the following approaches: custom design and
development, system selection and acquisition, or end-user
development.
– In the first approach, IT professionals within the organization or
who are contracted develop uniquely tailored software for the
firm’s needs.
– In the second approach, the selection committee chooses an
off-the-shelf application.
– In the third approach, it is the firm’s end users, rather than the
IT professionals, who create the software
54
The Recap
• The main methodology for custom system development is the
system development life cycle (SDLC).
– The SDLC is articulated over three main phases—definition, build, and
implementation—and nine stages. The primary limitation of the SDLC
is the creation of substantial overhead and rigidity that limit the
project team’s ability to address the inevitable changes.
• The prototyping methodology has emerged as a viable alternative
to the SDLC.
– Prototyping is rooted in the notion that it impossible to clearly
estimate and plan in detail such complex endeavors as information
systems design and development projects.
– Instead the team is better served by staying nimble and iterating
quickly through multiple designs to zero in on the optimal one.
55
What we Learned
1. To appreciate how complex it is to design and implement information systems and
the stable, robust, secure technology at their core.
2. To articulate the advantages and disadvantages of custom software design and
development versus acquisition of an off-the-shelf product.
3. To describe and be able to use the main methodologies for custom software
design and development. Specifically, you will be able to identify the major phases
of the system development life cycle (SDLC) and discuss its advantages and
disadvantages. You will also become familiar with the prototyping approach and
will be able to identify its principal advantages and disadvantages.
4. To describe the systems selection methodology and be able to use it to choose a
pre-packaged software program for a specific organization.
5. To describe the reasons for the increasing prominence of end-user development in
modern organizations and to articulate the benefits and risks of this approach to
software development.
56