CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT

Slides:



Advertisements
Similar presentations
Systems Development Environment
Advertisements

Managing Information Technology 6th Edition
Slide 1 INTRODUCTION Chapter 1. Slide 2 Key Ideas The primarily goal of a system is to create value for the organization. Many failed systems were abandoned.
E. Wainright Martin Carol V. Brown Daniel W. DeHayes Jeffrey A. Hoffer William C. Perkins MANAGINGINFORMATIONTECHNOLOGY FIFTH EDITION CHAPTER 10 M ETHODOLOGIES.
Alternate Software Development Methodologies
Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Essentials of Systems Analysis and Design Fourth Edition Joseph S. Valacich Joey F.
Chapter 1 The Systems Development Environment
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
© Prentice Hall CHAPTER 9 Application Development by Information Systems Professionals.
Chapter 6 Prototyping, RAD, and Extreme Programming
Chapter 1 Assuming the Role of the Systems Analyst
Slide 1 INTRODUCTION Chapter 1. Slide 2 Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding.
Chapter 1 The Systems Development Environment
Copyright 2006 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Third Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Introduction to Systems Analysis and Design
Chapter 1 The Systems Development Environment
Acquiring Information Systems and Applications
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 1.1.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter 1 The Systems.
Pertemuan 5 Pengembangan Teknologi Informasi Matakuliah: H0402/PENGELOLAAN SISTEM KOMPUTER Tahun: 2005 Versi: 1/0.
Chapter 1 The Systems Development Environment
Computers Are Your Future Eleventh Edition Chapter 13: Systems Analysis & Design Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall1.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
The Systems Development Methodologies. Objectives  Describe the information Systems Development Life Cycle (SDLC)  Explain prototyping  Explain Rapid.
S YSTEM D EVELOPMENT M ETHODS 노형종, 문정곤, 허승구 Class Term Project 2005 Spring POSTECH IE 381 Management Information Systems.
Systems Development AIMS 2710 R. Nakatsu. Overview Why do IT projects succeed and fail? Two philosophies of systems development –Systems Development Life.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Systems Development MBAA 609 R. Nakatsu. Overview of Today’s Lecture Why do IT projects succeed and fail? Two philosophies of systems development –Systems.
Copyright 2002 Prentice-Hall, Inc. 1.1 Modern Systems Analysis and Design Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 1 The Systems Development.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Chapter 6 Prototyping, RAD, and Extreme Programming Systems Analysis and Design Kendall & Kendall Sixth Edition.
© 2005 by Prentice Hall Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Systems Development AIMS 2710 R. Nakatsu. Overview Two philosophies of systems development –Systems Development Life Cycle (SDLC) –Prototyping Alternative.
1 - 1 Systems Analysis and Design, Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding.
Pertemuan – Matakuliah: M0304/Corporate Information System Management Tahun: 2008.
Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
Chapter 1 Assuming the Role of the Systems Analyst.
Information Systems Development
Chapter 15 Finalizing Design Specifications
Chapter 1 The Systems Development Environment
Information Systems Development
Appendix B Agile Methodologies
Building Information Systems
Systems Analysis & Design N106
CASE Tools and Joint and Rapid Application Development
Chapter 5 Determining System Requirements
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
Information Systems Development
Chapter 5 Determining System Requirements
Chapter 1 The Systems Development Environment
Methodologies For Systems Analysis.
Methodologies For Systems Analysis.
Chapter 5 Determining System Requirements
Chapter 15 Finalizing Design Specifications
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Chapter 4 Determining System Requirements
Appendix B Agile Methodologies
Rapid software development
Chapter 8 Prototyping and Rapid Application Development
Chapter 8 Information Systems Development & Acquisition
Chapter 1 The Systems Development Environment
Presentation transcript:

CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY Systems development life cycle (SDLC) – a highly structured approach for development of new customized software applications © 2005 Pearson Prentice-Hall Chapter 10 - 2 Page 385

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY The SDLC Steps Key characteristic is extensive formal reviews required at end of each major step © 2005 Pearson Prentice-Hall Chapter 10 - 3 Figure 10.1 The Systems Development Life Cycle Page 386

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY The SDLC Steps Hallmark of SDLC approach: extensive up-front time spent determining requirements to avoid expensive changes later © 2005 Pearson Prentice-Hall Chapter 10 - 4 Figure 10.2 Cost Breakdown for $1 Million SDLC Project Page 386

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY The SDLC Steps SDLC: Most often requires a lot of documentation Outputs from one step inputs to next Often referred to as the “waterfall” model © 2005 Pearson Prentice-Hall Chapter 10 - 5 Page 386

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY Definition Phase – Feasibility Analysis Types of feasibility – economic, operational, and technical Deliverable – 10-20 page document: Executive overview and recommendations Description of what system would do and how it would operate Analysis of costs and benefits Development plan © 2005 Pearson Prentice-Hall Chapter 10 - 6 Page 387-388

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY Definition Phase – Requirements Definition Focuses on logical design: processes, data flows, and data interrelationships – not specific physical implementation Deliverable – system requirements document: Detailed descriptions of inputs and outputs, processes used to convert input data to outputs Formal diagrams and output layouts Revised cost/benefit analysis Revised plan for remainder of project © 2005 Pearson Prentice-Hall Chapter 10 - 7 Page 388

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY Construction Phase System Design System Building System Testing Documentation is a major mechanism of communication during development process © 2005 Pearson Prentice-Hall Chapter 10 - 8 Figure 10.3 Characteristics of High Quality Systems Page 389

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY Implementation Phase Installation Operations Maintenance © 2005 Pearson Prentice-Hall Chapter 10 - 9 Page 390

Implementation Phase – Installation Parallel Strategy Parallel Strategy Parallel Strategy Parallel Strategy © 2005 Pearson Prentice-Hall Chapter 10 - 10 Figure 10.4 Implementation Strategies Page 391

Implementation Phase – Maintenance © 2005 Pearson Prentice-Hall Chapter 10 - 11 Figure 10.5 Percent of Development Resources Devoted to Maintenance Page 392

Implementation Phase – Maintenance © 2005 Pearson Prentice-Hall Chapter 10 - 12 Figure 10.6 The Widening Gap Between Organization’s Needs and System’s Performance Page 392

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY The SDLC Project Team Usually temporary Includes personnel from IS and business units Has a project manager Traditionally from IS Can be from business unit May be one from each Responsible for success of project – delivering quality system on time and within budget © 2005 Pearson Prentice-Hall Chapter 10 - 13 Page 393

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY The SDLC Project Team Includes systems analysts Have critical roles Work closely with business managers and end users Have problem-solving skills, knowledge of IT capabilities, strong business understanding Has a business sponsor and a champion © 2005 Pearson Prentice-Hall Chapter 10 - 14 Page 394

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY Managing an SDLC Project Characteristics critical for success: Manageable project size Accurate requirements definition Executive sponsorship © 2005 Pearson Prentice-Hall Chapter 10 - 15 Page 394

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY Managing an SDLC Project (Adapted from Boehm, 1976) © 2005 Pearson Prentice-Hall Chapter 10 - 16 Figure 10.7 Costs of Error Correction by SDLC Step Page 395

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY SDLC Advantages and Disadvantages © 2005 Pearson Prentice-Hall Chapter 10 - 17 Figure 10.8 Advantages and Disadvantages of Traditional SDLC Approach Page 395

PROTOTYPING METHODOLOGY Prototyping approach: Takes advantage of availability of fourth generation procedural languages and relational database management systems Enables creation of system (or part of system) more quickly, then revise after users have tried it Is a type of evolutionary development process © 2005 Pearson Prentice-Hall Chapter 10 - 18 Page 396

PROTOTYPING METHODOLOGY Prototyping examples: Input and output screens developed for users to test as part of requirements definition “First-of-a-series” – a completely operational prototype used as a pilot “Selected features” – only some essential features included in prototype, more added later Prototyping used as a complete alternative to traditional SDLC methodology © 2005 Pearson Prentice-Hall Chapter 10 - 19 Page 396

PROTOTYPING METHODOLOGY Prototyping used as a complete alternative to traditional SDLC methodology: Good when requirements hard to define Good when system needed quickly Impractical for large, complex applications © 2005 Pearson Prentice-Hall Chapter 10 - 20 Page 396

The Prototyping Steps Page 397 Figure 10.9 The Prototyping Life Cycle © 2005 Pearson Prentice-Hall Chapter 10 - 21 Figure 10.9 The Prototyping Life Cycle Page 397

PROTOTYPING METHODOLOGY The Prototyping Project Team Representatives from IS and user management necessary Need team members who can quickly build systems using advanced tools Requires dedicated business user roles © 2005 Pearson Prentice-Hall Chapter 10 - 22 Page 398

PROTOTYPING METHODOLOGY Prototyping Advantages and Disadvantages Advantages: Only basic requirements needed at front end Used to develop systems that radically change how work is done, so users can evaluate Allows firms to explore use of new technology Working system available for testing more quickly Less strong top-down commitment needed at front end Costs and benefits can be derived after experience with initial prototype Initial user acceptance likely higher © 2005 Pearson Prentice-Hall Chapter 10 - 23 Page 398-399

PROTOTYPING METHODOLOGY Prototyping Advantages and Disadvantages Disadvantages: End prototype often lacks security and control features May not undergo as rigorous testing Final documentation may be less complete More difficult to manage user expectations © 2005 Pearson Prentice-Hall Chapter 10 - 24 Page 399

PROTOTYPING METHODOLOGY Prototyping within an SDLC Process © 2005 Pearson Prentice-Hall Chapter 10 - 25 Figure 10.10 SDLC with Prototyping to Define Requirements Page 399

PROTOTYPING METHODOLOGY Prototyping within an SDLC Process © 2005 Pearson Prentice-Hall Chapter 10 - 26 Figure 10.11 Prototyping/Piloting Replaces SDLC Definition Phase Page 399

NEWER APPROACHES Rapid Application Development (RAD) Hybrid methodology – aspects of SDLC and prototyping Goal is to produce a system in less than a year © 2005 Pearson Prentice-Hall Chapter 10 - 27 Figure 10.12 Four-Step RAD Cycle Page 400

NEWER APPROACHES Rapid Application Development (RAD) Joint application design (JAD) – a technique in which a team of users and IS specialists engage in an intense and structured process in order to minimize the total time required for gathering information from multiple participants © 2005 Pearson Prentice-Hall Chapter 10 - 28 Page 400-401

NEWER APPROACHES Rapid Application Development (RAD) Joint application design (JAD) – a technique in which a team of users and IS specialists engage in an intense and structured process in order to minimize the total time required for gathering information from multiple participants Computer-aided software engineering (CASE) – any software tool used to automate one or more steps of a software development methodology © 2005 Pearson Prentice-Hall Chapter 10 - 29 Page 400-401

NEWER APPROACHES Rapid Application Development (RAD) Page 401 (Adapted from Valacich, George, and Hoffer, 2001) © 2005 Pearson Prentice-Hall Chapter 10 - 30 Figure 10.13 Types of CASE Tools Page 401

NEWER APPROACHES Rapid Application Development (RAD) Page 402 © 2005 Pearson Prentice-Hall Chapter 10 - 31 Figure 10.14 RAD Advantages and Disadvantages Page 402

NEWER APPROACHES Alternative methodology for smaller projects Agile Software Development Discipline Alternative methodology for smaller projects Based on four key values: Simplicity Communication Feedback Courage One type: Extreme Programming (XP) Programmers write code in pairs Use simple design and frequent testing © 2005 Pearson Prentice-Hall Chapter 10 - 32 Page 402

MANAGING SOFTWARE PROJECTS USING OUTSOURCED STAFF Advantages: Helps keep software development costs down Uses technical expertise not available in-house Can often complete projects more quickly Off-site outsourcing: Onshore – within same country or region Offshore – not within same country or region © 2005 Pearson Prentice-Hall Chapter 10 - 33 Page 402

MANAGING SOFTWARE PROJECTS USING OUTSOURCED STAFF Offshore alternative good option when: System requirements well-defined and remain stable Time is of essence and 7x24 hour availability of resources a good idea Cost of project important © 2005 Pearson Prentice-Hall Chapter 10 - 34 Page 402

MANAGING SOFTWARE PROJECTS USING OUTSOURCED STAFF Guidelines for managing offsite outsourcer: Manage expectations, not staff Take explicit actions to integrate the offsite workers Communicate frequently Abandoning informal ways may result in increased rigor © 2005 Pearson Prentice-Hall Chapter 10 - 35 Page 402-403