Vous êtes sur la page 1sur 50

Creating Information Systems

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

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

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 Articulate the advantages and disadvantages of custom software design and development versus acquisition of an off-the-shelf product

2.

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
Describe the systems selection methodology and be able to use it to choose a prepackaged software program for a specific organization Describe why end-user development is increasingly prominent in modern organizations. Articulate its benefits and risks

4. 5.

Gabriele Piccoli

How Hard can IT be?

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
Gabriele Piccoli

Three Approaches
1. Custom design and development
Implementing software that is expressly made to fit the unique needs of the organization

2. System selection and acquisition


Implement an off-the-shelf application that is mass produced by a vendor Implement a software application that is created by an end users, rather than the firms IS professionals

3. End-user development

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


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

Gabriele Piccoli

Design and Development Methodologies

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
Gabriele Piccoli

Principal Phases of the SDLC


Definition
Investigation Feasibility Analysis System Analysis

Build
System Design Programming Testing

Implementation
Installation Operations Maintenance

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

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 firms financial hurdles.

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

Gabriele Piccoli

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

Principal Phases of the SDLC


Definition
Investigation Feasibility Analysis System Analysis

Build
System Design Programming Testing

Implementation
Installation Operations Maintenance

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
Gabriele Piccoli

System Design: Example

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

Gabriele Piccoli

Principal Phases of the SDLC


Definition
Investigation Feasibility Analysis System Analysis

Build
System Design Programming Testing

Implementation
Installation Operations Maintenance

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

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

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

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 System
Old System

Gabriele Piccoli

SDLC: Implementation Phase


Pilot Implementation
Allows the firm to run the new system in one business unit or one of the firms departments before rolling it out completely Well suited for multi-unit operations

Old System

New System

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

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
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
Gabriele Piccoli

Prototyping Life Cycle


Can be used as an alternative to the SDLC to develop a complete system:
1. 2. 3. 4. 5. Requirement Definitions Initial Prototype Evaluation Revision Completion

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

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

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

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

Gabriele Piccoli

System Selection
The process of:
Identifying Purchasing Implementing

suitable off-the-shelf software programs Typically spearheaded by management interest

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

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


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
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)
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


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
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 Articulate the advantages and disadvantages of custom software design and development versus acquisition of an off-the-shelf product

2.

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
Describe the systems selection methodology and be able to use it to choose a prepackaged software program for a specific organization Describe why end-user development is increasingly prominent in modern organizations. Articulate its benefits and risks

4. 5.

Gabriele Piccoli

Vous aimerez peut-être aussi