Information Systems Development and Acquisition J. S. Chou Assistant Professor 1 Developing Systems Systems Analysis and Design A traditional term used to describe the process of designing, building, and maintaining information systems performed by analysts and programmers Software Engineering A newer term given to acknowledge the movement of systems building from art to discipline by professionals using common methods, techniques, and tools for constructing information systems Problem Decomposition Systems building is a process of decomposing large complex problems to discover and design solutions to support the organization Problem Decomposition Options for Acquiring System Capabilities The Systems Development Life Cycle The System Development Life Cycle (SDLC) is a structured method complete with techniques developed to manage the life cycle of an information system System Identification, Selection, and Planning System Identification, Selection, and Planning System Identification A process used to identify opportunities for developing systems projects to solve problems. This process varies greatly from organization to organization Selection The process of applying evaluation criteria to possible projects to select those that are critical to enabling the organization’s mission, goals, and objectives Systems Planning Developing formal plans for creating the information systems project selected. Some organizations call their periodic process of identification, selection, and planning “Information Systems Planning (ISP)” System Identification, Selection, and Planning Criteria for evaluating and selecting a systems project Systems Analysis Systems Analysis Collecting System Requirements (Traditional) A combination of methods are used: • Interviews – discussions with stakeholders (i.e. users) • Questionnaires – surveys to assess use and attitudes • Observations – watch process and systems use • Document Analysis – reviewing current documents Collecting System Requirements (Alternative) A combination of traditional methods are used: • Critical Success Factors (CSF’s) – a process of interviewing, recoding, and analyzing, and merging factors defined as critical by personnel at all levels of an organization • Joint Application Design (JAD) - a method that brings together users and analysts in a room together to define requirements. This method greatly reduces time Systems Analysis - Critical Success Factors Systems Analysis - Joint Application Design • JAD is a special type of a group meeting in which all (most) users meet with an analyst at the same time • Users jointly define and agree upon system requirements or design dramatically reducing the design time System Analysis – Modeling Organizational Data The ERD Diagram A tool used to identify the relationships between entities to assist in developing applications and databases Requirements, Data, Data Flows, Processing Logic System Design System Design - Designing Forms and Reports Forms - a business document with predefined data and places to fill in information that is used for system input Reports – an output of a system that contains only predefined data usually in a tabular format (see below) System Design - Designing Interfaces and Dialogues An Example of a User Interface - Google System Design - Designing Databases and Files System Design – Designing Processing Logic Processing Logic The processing and logic operations of an information system are the steps and procedures that transform raw data inputs into new or modified information Processing Logic Example Describes the steps for calculating a GPA 1. Obtain the prior grade point average, credits hours earned, and list of prior courses 2. Obtain the list of each current course, final grade, and course credit hours 3. Combine the prior and current credit hours into aggregate sums 4. Calculate the new grade point average System Implementation System Implementation – Programming and Testing Software Programming – creating the instructions from the programming logic design using a variety of programming languages assisted many times by language editors Software Testing – a series of tests designed to identify errors and validate logic in parallel with programming. There are multiple types of testing (see below) System Implementation – System Conversion Conversion Approaches – the process of taking information from an old system to populate a new system. This is accomplished through manual and/or automated methods System Implementation – System Documentation System Documentation The collection of materials produced with an information system to support the ongoing operation and development Documentation Types • User and reference guides – step-by-step instructions for using the system features and functions • User training and tutorials – manuals and exercises designed to educate users and build competence in system use. These training manuals and tutorials can be supported by a database that utilizes realistic data • Installation procedures and trouble-shooting suggestions – manuals and procedures designed to support technical personal in installing and problem solving during system operation System Implementation – System Training Training Approaches – the processes used to educate users in new business processes and system features and functions with the goal of building competence to ensure operational success (see possible methods below) System Maintenance System Maintenance - Maintenance Types System Maintenance The process by which a system is kept in working order and minor enhancements are completed. Some types of system maintenance are shown below Alternative Development Methods - Prototyping Prototyping A systems development method that uses a “trial-and-error” approach for discovering how a system should operate. Steps include: • Collecting requirements • Develop/Refine Prototype • Review Prototype with Users (Repeat the previous steps until correct design is created) • Implement and Use System Alternative Development Methods – RAD Rapid Application Development (RAD) A rapid four-step iterative systems development method utilizing: prototyping, computer-based development tools, special management practices, and close user involvement RAD Phases The following phases are iterated until the requirements and design are completed and approved • Requirements Planning • User Design • Construction • Move to the New System Alternative Development Methods – ObjectOriented Object-Oriented Analysis and Design (OOAD) Similar to SDLA approaches except that it relies on the tight coupling between data and methods and between the conceptual design of a system and its actual implementation. OOAD Characteristics • The role of analyst and programmer are combined while thinking about data and the operations to define the relevant objects • The design and implementation of these objects happen quickly and simultaneously • It uses a more integrative prototyping process than the SDLC Alternative Development Methods – A Comparison Needs for Alternatives to Internal Systems Building Many times it is not feasible to consider building an information system internally. Below are four situations that discourage the idea of developing a system internally Limited IS Staff The IS organization does not have the capability to build the system itself Limited IS Skill Sets The IS organization does not have personnel with the correct skill sets to build the system IS Staff is Overworked Current IS organization staff demands and priorities make it impossible to build a system Problem IS Performance The IS organization does not have the appropriate performance level to build a system Alternatives to Internal Development External Acquisition The purchasing of an existing system (hardware, software, databases, network) from an outside vendor such as IBM, EDS, or Accenture Outsourcing Turning over some or all responsibility for an organization’s information systems development and operations to an outside firm End-user Development Capitalizing on the sophistication of current users, this technique allows the system users to develop their system functions using a variety of tools External Acquisition – Steps to Proceed Steps in External Acquisition • System identification, selection, and planning (same as internal method) • Systems analysis (same as internal method) • Development of a request for proposal (RFP) – a report that is used to tell vendors what the requirements are and how they might be able to meet those requirements (hardware and software) • Proposal evaluation – may include viewing system demonstrations, evaluating the performance of those systems, and examining criteria important to the organization and judging how the proposed systems respond to those criteria • Vendor selection – using a scoring system devised to evaluate the competing proposal and then selecting the proposal that best fits the organization’s needs External Acquisition – The RFP (Request for Proposal) External Acquisition - Proposal Evaluation Criteria Outsourcing – Why Consider? A firm might outsource some (or all) of its information system service for many reasons: • Cost and quality concerns – current cost and quality of information systems is unacceptable • Problems in IS performance – IS is having trouble meeting acceptable service standards • Supplier pressures – aggressive sales tactics • Simplifying, downsizing, and reengineering – having a need to focus on core processes • Financial factors – turning over IS systems can strengthen a balance sheet • Organizational culture – political or organizational problems that are difficult for IS to overcome • Internal Irritants – tension between the IS staff and users Outsourcing – Types of Arrangements Outsourcing Arrangements Not all outsourcing arrangements are the same, they can vary based on the need of the firm and the supplier Arrangement Types • Basic – A “cash and carry” relationship in which products and services are purchased on the basis of price and convenience • Preferred – relationships with a few suppliers where the buyer and supplier set preferences and prices based to the benefits of each other (e.g. volume pricing) • Strategic – a relationship where the firm and a vendor are each concerned with, and perhaps have a direct stake in, the success of each other Outsourcing – Relationship Management Managing the IS Relationship Ongoing management of the outsourcing alliance is the single most important aspect of the outsourcing project’s success. The following are recommendations for the best management: • A strong CEO and CIO should continually manage the legal and professional relationship with the outsourcer • Clear, realistic performance measurements of the systems and of the out sourcing arrangement (e.g. tangible and intangible costs) • The interface between the customer and outsourcer should have multiple levels (i.e. the links to deal with policy and relationship issues) End-User Development – Tools Tools Many tools can be used by end-users for business applications including some of the following: • Personal Computer Tools – tools common to PCs (e.g. speadsheets) that allow the creation of macros or automated routines by users • Query languages/report generators – tools that utilize SQL to extract information from databases and generate reports in user-specified formats • Graphics generators – tools that can extract relevant information from databases and create graphs, charts, etc. • Decision Support and Modeling Tools – tools that support complex decision making utilizing multidimensional models • Application Generators – tools that allow users to specify what is to be done and the application decides how it is to be done and generates the program code End-User Development – Benefits End-User Development Benefits Embracing end user development can help address some common issues with IS development including: • Cost of labor – IS managers can substitute hardware and the systems for users to develop systems for IS staff • Long development time – allowing users to develop, shortens development lead times • Slow modification – users can react to their own needs • Work overload – leveraging the talent of the end user staff, in effect, increases the size of the IS staff End-User Development – The Benefits End-User Development – Pitfalls Pitfalls End-user development is not a panacea, common issues arises as it use become for prevalent including: • Lack of Standards – if users do not adopt standards used by IS professionals (documentation, error checking, testing procedures), the IS staff can experience problems when supporting users, or troubleshooting data integrity and security problems when enterprise systems are involved • Lack of continuity – as users leave the organization or department, new employees may not understand existing programs and lose productivity learning or developing new applications or “reinventing the wheel” • Appropriate Use of Time – there is debate whether it is appropriate for skilled users and managers to be spending time on systems development