Chapter 8 Information Systems Development & Acquisition Chapter 8 Objectives • Understand the process of IS management • Understand the system development life cycle (SDLC) • Understand alternative approaches to system development • Understand in-house system development • Understand external acquisition, outsourcing, and end-user development The Need for Structured Systems Development • Systems analysis and design – the process of designing, building, and maintaining information systems – The individual who performs this task is called Systems analyst – Organization wants to hire System analyst because they have both technical and managerial expertise. The Need for Structured Systems Development • Evolution of IS development – From “art” to a “discipline”: In the early days of computing it was considered an art that a very few people could master – Standardized development methods: The techniques used to build an IS varies greatly from individual to individual. It was very difficult to integrate and maintain. To address this problem, info. Sys. professionals decided to use a disciplined approach of introducing common methods, techniques, and tools for building information systems – Software engineering: This evolution led to the use of the term software engineering to define what system analyst & programmer do. The Need for Structured Systems Development Options for Obtaining Information Systems 1. 2. 3. 4. Build your own Buy a prepackaged system from a software development company or consulting firm. Example: Payroll system. Outsource development to a 3rd party: outside organization custom build a system to an organization’s specifications. Good option when an organization does not have adequate resources or expertise. End user development: Individual users and departments build their own custom systems to support their individuals. Example MS. Excel. The Need for Structured Systems Development The Need for Structured Systems Development System Construction Process 1. Identify a large IT problem to solve 2. Break the large problem into several smaller, more manageable pieces 3. Translate each “piece” (small problem) into computer programs 4. Piece together each program into an overall comprehensive IS that solves the problem The Need for Structured Systems Development • The Role of Users in the Systems Development Process – It is important for all members of the organization to understand what is meant by system development and what activities occur. – Effective partnership: A close and mutually respectful working relationship between analysts and users is a key to project success. Steps in the Systems Development Process Steps in the Systems Development Process Systems Development Life Cycle (SDLC) - describes the life of an information system from conception to retirement. 1. System identification, selection, and planning 2. System analysis 3. System design 4. System implementation 5. System maintenance Steps in the Systems Development Process • Phase 1: System Identification, Selection, and Planning – Undertake only those projects critical to mission, goals, and objectives – Select a development project from all possible projects that could be performed – Different evaluation criteria used to rank potential projects Steps in the Systems Development Process • Phase 1: System Identification, Selection, and Planning – Evaluation criteria • Strategic alignment: The extent to which the project is viewed as helping the organization achieve its strategic objectives an d longterm goal. • Potential benefits: The extent to which the project is viewed as improving profits, customer service, and the duration of the benefits • Potential costs and resource availability: The number and types of resources the project requires and their availability • Project size / duration: The number of individuals and the length of time needed to complete the project • Technical difficulty / risks: The level of technical difficulty involved to complete the project within a given time and resources Steps in the Systems Development Process • Phase 2: System Analysis – Collecting System Requirements: Requirement collection is process of gathering and organizing information from users, managers, business processes, an documents to understand how a proposed system should work • System analysts use a variety of techniques to collect system requirements – – – – Interviews: analysts interview people Questionnaires: analysts design and administer surveys. Observations: analysts observe workers at selected times Document analysis: analysts study business documents • Critical Success Factors (CSF): analysts ask each person to define her own personal CSFs. • Joint Application Design (JAD): Special type of a group meeting where all users and analysts meet at the same time Steps in the Systems Development Process • Phase 2: System Analysis – Modeling Organizational Data: To construct an information system, systems analysts must understand what data the information system needs in order to accomplish the intended tasks. To do this they use data modeling tools to collect and describe data to users. • Entity Relationship Diagram (ERD) – Modeling Organizational Processes and Logic • Data flows • Processing logic A sample ERD for students Steps in the Systems Development Process • Phase 3: System Design – – – – Designing forms and reports Designing interfaces and dialogues Designing databases and files Designing processing and logic Steps in the Systems Development Process • Phase 4: System Implementation – Software programming – Software testing • Developmental: Programmers test the correctness of individual modules and the integration of multiple modules • Alpha: Software tester tests whether it meets design specifications • Beta: Actual system users test the capability of the system in the user environment with actual data Steps in the Systems Development Process • Phase 4: System Implementation – System conversion • • • • Parallel Direct Phased Pilot – System documentation, training, and support • User and reference guides • Training and tutorials • Installation procedures and troubleshooting guides Steps in the Systems Development Process • Phase 5: System Maintenance – Maintenance process steps: 1. Obtain maintenance request 2. Transform requests into changes 3. Design changes 4. Implement changes Steps in the Systems Development Process • Phase 5: System Maintenance – Maintenance types: 1. Corrective maintenance 2. Adaptive maintenance 3. Perfective maintenance 4. Preventive maintenance Other Approaches to Designing and Building Systems • • • Prototyping Rapid Application Development (RAD) Object-Oriented Analysis & Design (OOA&D) Prototyping Need for Alternatives to Building Systems Yourself 1. 2. 3. 4. Limited IS staff IS staff has limited skill set IS staff is overworked Problems with performance of IS staff Common Alternatives to In-house Systems Development • External acquisition 1. 2. 3. 4. 5. System identification, selection and planning Systems analysis Development of a request for proposal (RFP) Proposal evaluation Vendor selection Common Alternatives to In-house Systems Development • Outsourcing – the practice of turning over responsibility of some to all of an organization’s information systems development and operations to an outside firm Common Alternatives to In-house Systems Development Why Outsource? • – – – – – – – Cost and quality concerns Problems in IS performance Supplier pressures Simplifying, downsizing, and reengineering Financial factors Organizational culture Internal irritants Common Alternatives to In-house Systems Development Managing the IS outsourcing relationship • – – – Strong CIO oversight Measurement of milestones, costs, and benefits Customer relationship management Not all outsourcing relationships are the same • – – – Basic relationship Preferred relationship Strategic relationship Common Alternatives to In-house Systems Development End-user development • – – – Benefits of end-user development Encouraging end-user development End-user development pitfalls