Chapter 3 - Information Systems Development 1

Similar documents
Systems analysis is the dissection of a system into its component pieces to study how those component pieces interact and work.

Objectives. Chapter 12. System Design. Model-Driven Approaches. System Design Approaches Systems Design

System Design Approaches. System Design. Model-Driven Approaches Modern Structured Design. Model-Driven Approaches

Introduction to Systems Analysis and Design

Foundations for Systems Development

Software Development Life Cycle (SDLC)

MCQ on Management Information System. Answer Key

Fundamentals of Information Systems, Fifth Edition. Chapter 8 Systems Development

Basic Unified Process: A Process for Small and Agile Projects

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

LECTURE 1. SYSTEMS DEVELOPMENT

Phase 2 Systems Analysis. Dr. Feng-Jen Yang

IT2404 Systems Analysis and Design (Compulsory)

Classical Software Life Cycle Models

A Capability Maturity Model (CMM)

CS4507 Advanced Software Engineering

NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0

Program Lifecycle Methodology Version 1.7

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

US Department of Education Federal Student Aid Integration Leadership Support Contractor January 25, 2007

CHAPTER 9. DEVELOPING IT SY STEM S Bringing IT System s to Life

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

How To Write An Slcm Project Plan

The role of integrated requirements management in software delivery.

Chap 1. Introduction to Software Architecture

A Comparison of SOA Methodologies Analysis & Design Phases

JOURNAL OF OBJECT TECHNOLOGY

System/Data Requirements Definition Analysis and Design

Development Methodologies Compared

Managing Small Software Projects - An Integrated Guide Based on PMBOK, RUP, and CMMI

COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS

California Enterprise Architecture Framework

Software Engineering Reference Framework

ERP. Key Initiative Overview

Surveying and evaluating tools for managing processes for software intensive systems

Practice Overview. REQUIREMENTS DEFINITION Issue Date: <mm/dd/yyyy> Revision Date: <mm/dd/yyyy>

Standards for Developing and Implementing Administrative Systems at UC Davis

(Refer Slide Time: 01:52)

Project Management Topics

CHAPTER 13. Acquiring Information Systems and Applications

Chapter 3 The Integrated Requirements Management Framework (IREQM)

Alternative Development Methodologies

Develop Project Charter. Develop Project Management Plan

SYSTEMS ANALYSIS DESIGN

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

System Development and Life-Cycle Management (SDLCM) Methodology. Approval CISSCO Program Director

White Paper IT Methodology Overview & Context

LEAN AGILE POCKET GUIDE

Netstar Strategic Solutions Practice Development Methodology

Requirements Definition and Management Processes

Advancing Your Business Analysis Career Intermediate and Senior Role Descriptions

RUP for Software Development Projects

EMC PERSPECTIVE. Adopting an Agile Approach to OSS/BSS Development

Plan-Driven Methodologies

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring

IV. Software Lifecycles

Chapter 13 BUILDING INFORMATION SYSTEMS. How does building new systems produce organizational change?

Increasing Development Knowledge with EPFC

PHASE 1: INITIATION PHASE

Requirements Management Practice Description

Software Development Processes. Software Life-Cycle Models

SAULTCOLLEGE OF APPLIED ARTS AND TECHNOLOGY SAULT STE. MARIE, ONTARIO COURSE OUTLINE

ITIL v3 Process Cheat Sheets

Partnering for Project Success: Project Manager and Business Analyst Collaboration

Software Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti

Sistemi ICT per il Business Networking

Gartner, Inc. DIR-SDD-2042

Workflow Automation Solutions that Work

CHAPTER 3 : AGILE METHODOLOGIES. 3.3 Various Agile Software development methodologies. 3.4 Advantage and Disadvantage of Agile Methodology

11 Tips to make the requirements definition process more effective and results more usable

Description of Program Management Processes (Initiating, Planning) 2011 PROGstudy.com. All rights reserved

Business Architecture with ArchiMate symbols and TOGAF Artefacts

CHAPTER 1: INTRODUCTION TO RAPID APPLICATION DEVELOPMENT (RAD)

Redesigned Framework and Approach for IT Project Management

Managing Successful Software Development Projects Mike Thibado 12/28/05

Agile Projects 7. Agile Project Management 21

CHAPTER 13. Acquiring Information Systems and Applications

Software Development Process

Development, Acquisition, Implementation, and Maintenance of Application Systems

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

Chapter 1 System Development Environment

How To Understand And Understand The Software Development Process In Korea

RUP Design. Purpose of Analysis & Design. Analysis & Design Workflow. Define Candidate Architecture. Create Initial Architecture Sketch

CSE 435 Software Engineering. Sept 16, 2015

Application Overhaul. Key Initiative Overview

Introduction to OpenUP (Open Unified Process)

DATABASE DEVELOPMENT LIFE CYCLE

Fundamentals of Measurements

Chapter 10 Practical Database Design Methodology and Use of UML Diagrams

Skatteudvalget (2. samling) SAU Alm.del Bilag 48 Offentligt. Programme, Project & Service Management Analysis

Background: Business Value of Enterprise Architecture TOGAF Architectures and the Business Services Architecture

The Role of Business Capabilities in Strategic Planning. Sneaking up on Quality Using Business Architecture in a learning corporation

Enterprise Architecture Program. Key Initiative Overview

Overview of the System Engineering Process. Prepared by

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

Software Development Life Cycle

Transcription:

Chapter Three Information System Development C H A P T E R 3 INFORMATION SYSTEMS DEVELOPMENT Describe the motivation for a system development process in terms of the Capability Maturity Model (CMM) for quality management. Differentiate between the system life cycle and a system development methodology. Describe 10 basic principles of system development. Define problems, opportunities, and directives the triggers for systems development projects. Describe the PIECES framework for categorizing problems, opportunities, and directives. Describe the essential phases of system development. For each phase, describe its purpose, inputs, and outputs. Describe cross life cycle activities that overlap multiple system development phases. Describe typical alternative routes through the basic phases of system development. Describe how routes may be combined or customized for different projects. Describe various automated tools for system development. 3-1 3-2 Chapter Map Process of System Development System development process a set of activities, methods, best practices, deliverables, and automated tools that stakeholders (Chapter 1) use to develop and continuously improve information systems and software (Chapters 1 and 2). Many variations Using a consistent process for system development: Create efficiencies that allow management to shift resources between projects Produces consistent documentation that reduces lifetime costs to maintain the systems Promotes quality 3-3 3-4 The CMM Process Management Model Capability Maturity Model (CMM) Capability Maturity Model (CMM) a standardized framework for assessing the maturity level of an organization s information system development and management processes and products. It consists of five levels of maturity: Level 1 Initial: System development projects follow no prescribed process. Level 2 Repeatable: Project management processes and practices are established to track project costs, schedules, and functionality. Level 3 Defined: A standard system development process (sometimes called a methodology ) is purchased or developed. All projects use a version of this process to develop and maintain information systems and software. Level 4 Managed: Measurable goals for quality and productivity are established. Level 5 Optimizing: The standardized system development process is continuously monitored and improved based on measures and data analysis established in Level 4. 3-5 3-6 Chapter 3 - Information Systems Development 1

Impact of System Development Process on Quality Life Cycle versus Methodology CMM Project Statistics for a Project Resulting in 200,000 Lines of Code Organization s CMM Level 1 2 3 Project Duration (months) 30 18.5 15 Project Person- Months 600 143 80 Number of Defects Shipped 61 12 7 Median Cost ($ millions) 5.5 1.3.728 Lowest Cost ($ millions) 1.8.96.518 Highest Cost ($ millions) 100+ 1.7.933 System life cycle the factoring of the lifetime of an information system into two stages, (1) systems development and (2) systems operation and maintenance. System development methodology a standardized development process that defines (as in CMM Level 3) a set of activities, methods, best practices, deliverables, and automated tools that system developers and project managers are to use to develop and continuously improve information systems and software. 3-7 3-8 A System Life Cycle Representative System Development Methodologies Architected Rapid Application Development (Architected RAD) Dynamic Systems Development Methodology (DSDM) Joint Application Development (JAD) Information Engineering (IE) Rapid Application Development (RAD) Rational Unified Process (RUP) Structured Analysis and Design extreme Programming (XP) 3-9 3-10 Principles of System Development Use a Problem-Solving Approach Get the system users involved. Use a problem-solving approach. Establish phases and activities. Document through development. Establish standards. Manage the process and projects Justify systems as capital investments. Don t be afraid to cancel or revise scope. Divide and conquer. Design systems for growth and change. Classical Problem-solving approach 1. Study and understand the problem, its context, and its impact. 2. Define the requirements that must be met by any solution. 3. Identify candidate solutions that fulfill the requirements, and select the best solution. 4. Design and/or implement the chosen solution. 5. Observe and evaluate the solution s impact, and refine the solution accordingly. 3-11 3-12 Chapter 3 - Information Systems Development 2

Establish Phases and Activities Manage the Process and Projects Overlap of System Development Phases Process management an ongoing activity that documents, manages, oversees the use of, and improves an organization s chosen methodology (the process ) for system development. Process management is concerned with phases, activities, deliverables, and quality standards should be consistently applied to all projects. Project management is the process of scoping, planning, staffing, organizing, directing, and controlling a project to develop an information system at a minimum cost, within a specified time frame, and with acceptable quality. 3-13 3-14 Justify Information Systems as Capital Investments Don t Be Afraid to Cancel or Revise Scope Cost-effectiveness The result obtained by striking a balance between the lifetime costs of developing, maintaining, and operating an information system and the benefits derived from that system. Costeffectiveness is measured by a cost-benefit analysis. Strategic information systems plan a formal strategic plan (3-5 years) for building and improving an information technology infrastructure and the information system applications that use that infrastructure. Strategic enterprise plan a formal strategic plan (3-5 years) for an entire business that defines its mission, vision, goals, strategies, benchmarks, and measures of progress and achievement. Usually, the strategic enterprise plan is complemented by strategic business unit plans that define how each business unit will contribute to the enterprise plan. The information systems plan is one of those unit-level plans. Creeping commitment a strategy in which feasibility and risks are continuously reevaluated throughout a project. Project budgets and deadlines are adjusted accordingly. Risk management the process of identifying, evaluating, and controlling what might go wrong in a project before it becomes a threat to the successful completion of the project or implementation of the information system. Risk management is drive by risk analysis or assessment. 3-15 3-16 Where Do Systems Development Projects Come From? Where Do Systems Development Projects Come From? Problem an undesirable situation that prevents the organization from fully achieving its purpose, goals, and/or objectives. Opportunity a chance to improve the organization even in the absence of an identified problem. Directive - a new requirement that is imposed by management, government, or some external influence. Planned Projects An information systems strategy plan has examined the business as a whole to identify those system development projects that will return the greatest strategic (long-term) value to the business A business process redesign has thoroughly analyzed a series of business processes to eliminate redundancy and bureaucracy and to improve efficiency and value added. Not it is time to redesign the supporting information system for those redesigned business processes. 3-17 3-18 Chapter 3 - Information Systems Development 3

Where Do Systems Development Projects Come From? The PIECES Problem-Solving Framework Unplanned projects Triggered by a specific problem, opportunity, or directive that occurs in the course of doing business. Steering committee an administrative body of system owners and information technology executives that prioritizes and approves candidate system development projects. Backlog a repository of project proposals that cannot be funded or staffed because they are a lower priority than those that have been approved for system development. P I E C E S the need to improve performance the need to improve information (and data) the need to improve economics, control costs, or increase profits the need to improve control or security the need to improve efficiency of people and processes the need to improve service to customers, suppliers, partners, employees, etc. 3-19 3-20 The Classic Project Phases Building Blocks View of System Development 3-21 3-22 Scope Definition Logical Design Problem statement a statement and categorization of problems, opportunities, and directives; may also include constraints and an initial vision for the solution. Synonyms include preliminary study and feasibility assessment. Constraint any factor, limitation, or restraint that may limit a solution or the problem-solving process. Scope creep a common phenomenon wherein the requirements and expectations of a project increase, often without regard to the impact on budget and schedule. Statement of work a contract with management and the user community to develop or enhance an information system; defines vision, scope, constraints, high-level user requirements, schedule, and budget. Synonyms include project charter, project plan, and servicelevel agreement. Logical design the translation of business user requirements into a system model that depicts only the business requirements and not any possible technical design or implementation of those requirements. Common synonyms include conceptual design and essential design. System model a picture of a system that represents reality or a desired reality. System models facilitate improved communication between system users, system analysts, system designers, and system builders. Analysis paralysis a satirical term coined to describe a common project condition in which excessive system modeling dramatically slows progress toward implementation of the intended system solution. 3-23 3-24 Chapter 3 - Information Systems Development 4

Decision Analysis Physical Design & Integration Candidate solutions evaluated in terms of: Technical feasibility Is the solution technically practical? Does our staff have the technical expertise to design and build this solution? Operational feasibility Will the solution fulfill the users requirements? To what degree? How will the solution change the users work environment? How do users feel about such a solution? Economic feasibility Is the solution cost-effective? Schedule feasibility Can the solution be designed and implemented within an acceptable time? Risk feasibility What is the probability of a successful implementation using the technology and approach? Physical design the translation of business user requirements into a system model that depicts a technical implementation of the users business requirements. Common synonyms include technical design or implementation model. Two extreme philosophies of physical design Design by specification physical system models and detailed specification are produced as a series of written (or computergenerated) blueprints for construction. Design by prototyping Incomplete but functioning applications or subsystems (called prototypes) are constructed and refined based on feedback from users and other designers. 3-25 3-26 System Operation & Maintenance System support the ongoing technical support for users of a system, as well as the maintenance required to deal with any errors, omissions, or new requirements that may arise. 3-27 Cross Life-Cycle Activities Cross life-cycle activity any activity that overlaps many or all phases of the systems development process. Fact-finding Fact-finding - the formal process of using research, interviews, meetings, questionnaires, sampling, and other techniques to collect information about system problems, requirements,and preferences. Documentation and presentation Documentation the ongoing activity of recording facts and specifications for a systems for current and future reference. Presentation the ongoing activity of communicating findings, recommendations, and documentation for review by interested users and mangers. Repository a database and/or file directory where system developers store all documentation, knowledge, and artifacts for one or more information systems or projects. Feasibility analysis Process and project management 3-28 System Development Documentation, Repository, and Presentations A Taxonomy for System Development Methodologies & Strategies 3-29 3-30 Chapter 3 - Information Systems Development 5

Model-Driven Development Strategy Model-Driven Development Strategy Model-driven development a system development strategy that emphasizes the drawing of system models to help visualize and analyze problems, define business requirements, and design information systems. Process modeling a process-centered technique popularized by the structured analysis and design methodology that used models of business process requirements to derive effective software designs for a system. Data modeling a data-centered technique used to model business data requirements and design database systems that fulfill those requirements. Object modeling a technique that attempts to merge the data and process concerns into singular constructs called objects. Object models are diagrams that document a system in terms of its objects and their interactions. 3-31 3-32 Rapid Application Development Strategy Rapid Application Development Strategy Rapid application development (RAD) a system development strategy that emphasizes speed of development through extensive user involvement in the rapid, iterative, and incremental construction of series of functioning prototypes of a system that eventually evolves into the final system. Prototype a small-scale, representative, or working model of the users requirements or a proposed design for an information system. Time box the imposition of a nonextendableperiod of time, usually 60-90 days, by which the first (or next) version of a system must be delivered into operation. 3-33 3-34 Commercial Application Package Implementation Strategy Commercial Application Package Implementation Strategy Commercial application package a software application that can be purchased and customized to meet the business requirements of a large number of organizations or a specific industry. A synonym is commercial off-the-shelf (COTS) system. Request for proposal (RFP) a formal document that communicates business, technical, and support requirements for an application software package to vendors that may wish to compete for the sale of that application package and services. Request for quotation (RFQ) a formal document that communicates business, technical, and support requirements for an application software package to a single vendor that has been determined as being able to supply that application package and services. Gap analysis a comparison of business and technical requirements for a commercial application package against the capabilities and features of a specific commercial application package for the purpose of defining the requirements that cannot be met. 3-35 3-36 Chapter 3 - Information Systems Development 6

Hybrid Strategies 3-37 A System Maintenance Perspective Automated Tools and Technology 3-38 Computer -Assisted Software Engineering (CAS) Computer-aided systems engineering (CASE) Application development environments (ADEs) Process and project managers Computer-aided systems engineering (CASE) the use of automated software tools that support the drawing and analysis of system models and associated specifications. Some CASE tools also provide prototyping and code generation capabilities. CASE repository a system developers database where developers can store system models, detailed descriptions and specifications, and other products of system development. Synonyms include dictionary and encyclopedia. Forward engineering a CASE tool capability that can generate initial software or database code directly from system. Reverse engineering a CASE tool capability that can generate initial system models from software or database code. 3-39 Using a CASE Tool for System Development 3-41 Chapter 3 - Information Systems Development 3-40 CASE Tool Architecture 3-42 7

Application Development Environments Process and Project Managers Application development environments (ADEs) an integrated software development tool that provides all the facilities necessary to develop new application software with maximum speed and quality. A common synonym is integrated development environment(ide) ADE facilities may include: Programming languages or interpreters Interface construction tools Middleware Testing tools Version control tools Help authoring tools Repository links Process manager application an automated tool that helps document and manage a methodology and routes, its deliverables, and quality management standards. An emerging synonym is methodware. Project manager application an automated tool to help plan system development activities (preferably using the approved methodology), estimate and assign resources (including people and costs), schedule activities and resources, monitor progress against schedule and budget, control and modify schedule and resources, and report project progress. 3-43 3-44 Chapter 3 - Information Systems Development 8