Top Banner
© Gabriele Piccoli Creating Information Systems What managers need to know about the process by which organizational information systems come to be
50
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ch11

© Gabriele Piccoli

Creating Information Systems

What managers need to know about the process by which organizational information systems come to be

Page 2: ch11

© Gabriele Piccoli

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

Page 3: ch11

© Gabriele Piccoli

Learning Objectives

1. Come to appreciate how complex it is to design and implement organizational information systems and the stable, robust, secure technology at their core

2. Articulate the advantages and disadvantages of custom software design and development versus acquisition of an off-the-shelf product

3. Describe and be able to use the main methodologies for custom software design and development. Specifically: the system development life cycle (SDLC) and the prototyping approach

4. Describe the systems selection methodology and be able to use it to choose a prepackaged software program for a specific organization

5. Describe why end-user development is increasingly prominent in modern organizations. Articulate its benefits and risks

Page 4: ch11

© Gabriele Piccoli

How Hard can IT be?

Page 5: ch11

© Gabriele Piccoli

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

Page 6: ch11

© Gabriele Piccoli

Three Approaches

1. Custom design and development• Implementing software that is expressly made

to fit the unique needs of the organization2. System selection and acquisition

• Implement an off-the-shelf application that is mass produced by a vendor

3. End-user development• Implement a software application that is

created by an end users, rather than the firms IS professionals

Page 7: ch11

© Gabriele Piccoli

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

Page 8: ch11

© Gabriele Piccoli

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

Page 9: ch11

© Gabriele Piccoli

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

Page 10: ch11

© Gabriele Piccoli

Design and Development Methodologies

Page 11: ch11

© Gabriele Piccoli

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

Page 12: ch11

© Gabriele Piccoli

Principal Phases of the SDLC

• Definition– Investigation– Feasibility Analysis– System Analysis

• Build– System Design– Programming– Testing

• Implementation– Installation– Operations– Maintenance

Page 13: ch11

© Gabriele Piccoli

SDLC: 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

• Systems Analysts:– Identify and articulate the system

requirements– Act as liaisons with the technical staff

Page 14: ch11

© Gabriele Piccoli

SDLC: Definition Phase

• Investigation– 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

Page 15: ch11

© Gabriele Piccoli

SDLC: Definition Phase

• Feasibility Analysis– 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.

Page 16: ch11

© Gabriele Piccoli

SDLC: Definition Phase

• Systems Analysis– 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

end-users 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

Page 17: ch11

© Gabriele Piccoli

Principal Phases of the SDLC

• Definition– Investigation– Feasibility Analysis– System Analysis

• Build– System Design– Programming– Testing

• Implementation– Installation– Operations– Maintenance

Page 18: ch11

© Gabriele Piccoli

SDLC: Build Phase

• Take system requirements document and produce a:– Robust– Secure– Efficient application

• Systems Design– 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

Page 19: ch11

© Gabriele Piccoli

System Design: Example

Page 20: ch11

© Gabriele Piccoli

SDLC: Build Phase

• Programming– 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– Upgrades

Page 21: ch11

© Gabriele Piccoli

SDLC: Build Phase

• 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

Page 22: ch11

© Gabriele Piccoli

Principal Phases of the SDLC

• Definition– Investigation– Feasibility Analysis– System Analysis

• Build– System Design– Programming– Testing

• Implementation– Installation– Operations– Maintenance

Page 23: ch11

© Gabriele Piccoli

SDLC: 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

Page 24: ch11

© Gabriele Piccoli

SDLC: Implementation Phase

• Installation– The software is loaded on the production

hardware and the databases are populated– Typically occurs during slow periods for the

organization– Four ,major approaches:

1. Parallel 3. Phased

2. Direct 4. Pilot

Page 25: ch11

© Gabriele Piccoli

SDLC: Implementation Phase

• 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

Page 26: ch11

© Gabriele Piccoli

SDLC: Implementation Phase

• 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

Page 27: ch11

© Gabriele Piccoli

SDLC: Implementation Phase

• 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 SystemOld System

Page 28: ch11

© Gabriele Piccoli

SDLC: Implementation Phase

• 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

Page 29: ch11

© Gabriele Piccoli

SDLC: 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

Page 30: ch11

© Gabriele Piccoli

SDLC: Implementation Phase

• Operations– 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

– The process of:• Compiling errors requests• Prioritizing them• Implementing fixes and improvements

– Functionality gaps may arise and can be closed by way of upgrades and additions

Page 31: ch11

© Gabriele Piccoli

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

Page 32: ch11

© Gabriele Piccoli

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

Page 33: ch11

© Gabriele Piccoli

Prototyping Life Cycle

• Can be used as an alternative to the SDLC to develop a complete system:

1. Requirement Definitions2. Initial Prototype3. Evaluation4. Revision5. Completion

Page 34: ch11

© Gabriele Piccoli

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

Page 35: ch11

© Gabriele Piccoli

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

Page 36: ch11

© Gabriele Piccoli

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

Page 37: ch11

© Gabriele Piccoli

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

Page 38: ch11

© Gabriele Piccoli

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

Page 39: ch11

© Gabriele Piccoli

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

Page 40: ch11

© Gabriele Piccoli

System Selection

• The process of:– Identifying – Purchasing – Implementingsuitable off-the-shelf software programs

• Typically spearheaded by management interest

Page 41: ch11

© Gabriele Piccoli

Definition Phase

• Investigation– Identify the business issues the system will be

designed to address– Formulate goals and the scope of design

• Feasibility Analysis– 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

Page 42: ch11

© Gabriele Piccoli

Definition Phase

• Systems Analysis– Focus on determining the specific

functionalities required of the proposed system

• Formulate Evaluation Criteria– Essential features:

• Capabilities the system must have– Value adding features:

• Capabilities that offer significant advantages for which the firm will pay a premium

Page 43: ch11

© Gabriele Piccoli

Definition Phase

• Compile Short List of Vendors– Identify potential vendors that meet the

Request For Proposal (RFP) requirements• Compile and Distribute the RFP

– RFP identifies critical system requirements and expectations

– Interested firms will respond to the RFP– An internal selection committee is formed

Page 44: ch11

© Gabriele Piccoli

Definition Phase

• Evaluate Alternatives– The firm assesses competing solutions using the

criteria developed earlier– Compile list of top vendors

• Negotiate Contract– Object is to draft and sign a contract that provides the

needed solution and insulates the firm from future risk– Common components

• Cost,• Eventual liabilities• Control of intellectual property

Page 45: ch11

© Gabriele Piccoli

Build Phase

• Configuration– The process of modifying through parameters– If necessary

• Customization– 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 for system performance

Page 46: ch11

© Gabriele Piccoli

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

Page 47: ch11

© Gabriele Piccoli

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)

Page 48: ch11

© Gabriele Piccoli

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

Page 49: ch11

© Gabriele Piccoli

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

Page 50: ch11

© Gabriele Piccoli

What we Learned

1. Come to appreciate how complex it is to design and implement organizational information systems and the stable, robust, secure technology at their core

2. Articulate the advantages and disadvantages of custom software design and development versus acquisition of an off-the-shelf product

3. Describe and be able to use the main methodologies for custom software design and development. Specifically: the system development life cycle (SDLC) and the prototyping approach

4. Describe the systems selection methodology and be able to use it to choose a prepackaged software program for a specific organization

5. Describe why end-user development is increasingly prominent in modern organizations. Articulate its benefits and risks