Managing Information Technology 6th Edition

Slides:



Advertisements
Similar presentations
MANAGING INFORMATION TECHNOLOGY 7th EDITION
Advertisements

Enterprise Resource Planning
Designing and Developing Decision Support Systems Chapter 4.
E. Wainright Martin Carol V. Brown Daniel W. DeHayes Jeffrey A. Hoffer William C. Perkins MANAGINGINFORMATIONTECHNOLOGY FIFTH EDITION CHAPTER 10 M ETHODOLOGIES.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.1.
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
© 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke
© Prentice Hall CHAPTER 9 Application Development by Information Systems Professionals.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
Chapter 6 Prototyping, RAD, and Extreme Programming
Chapter 1 Assuming the Role of the Systems Analyst
Chapter 8 Prototyping and Rapid Application Development
Unit Five – Transforming Organizations
Fundamentals of Information Systems, Second Edition
©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 18-1 Accounting Information Systems 9 th Edition Marshall.
Chapter 1 Assuming the Role of the Systems Analyst
Chapter 6 Systems Development: Phases, Tools, and Techniques
Pertemuan Matakuliah: A0214/Audit Sistem Informasi Tahun: 2007.
CHAPTER 9: LEARNING OUTCOMES
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
The Agile vs. Waterfall Methodologies Systems Development:  the activity of creating new or modifying / enhancing existing business systems.  Objectives.
CHAPTER 19 Building Software.
Introduction to Computer Technology
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 1.1.
MIS CHAPTER 10 BUILDING SUCCESSFUL INFORMATION SYSTEMS Hossein BIDGOLI.
12 Building and Maintaining Information Systems.
Chapter 10.
Pertemuan 5 Pengembangan Teknologi Informasi Matakuliah: H0402/PENGELOLAAN SISTEM KOMPUTER Tahun: 2005 Versi: 1/0.
Chapter 2 The process Process, Methods, and Tools
Chapter 1 The Systems Development Environment
Laudon & Laudon: Canadian Edition
Computers Are Your Future Eleventh Edition Chapter 13: Systems Analysis & Design Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall1.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
Chapter 14 Information System Development
Information Systems Technology Ross Malaga "Part III - Building and Managing Information Systems" III 11 Copyright © 2005 Prentice Hall, Inc MANAGING.
Systems Development AIMS 2710 R. Nakatsu. Overview Why do IT projects succeed and fail? Two philosophies of systems development –Systems Development Life.
Systems Development MBAA 609 R. Nakatsu. Overview of Today’s Lecture Why do IT projects succeed and fail? Two philosophies of systems development –Systems.
Fundamentals of Information Systems, Third Edition1 Systems Design Answers the question “How will the information system do what it must do to solve a.
Decision Support System Development By Dr.S.Sridhar,Ph.D., RACI(Paris),RZFM(Germany),RMR(USA),RIEEEProc. web-site :
Computers Are Your Future Tenth Edition Chapter 13: Systems Analysis & Design Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall1.
Systems Life Cycle A2 Module Heathcote Ch.38.
Systems Analysis and Design in a Changing World, Fourth Edition
Chapter 6 Prototyping, RAD, and Extreme Programming Systems Analysis and Design Kendall & Kendall Sixth Edition.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
System Implementation. © 2011 Pearson Education, Inc. Publishing as Prentice Hall 2 Chapter 13 FIGURE 13-1 Systems development life cycle with the implementation.
Systems Development AIMS 2710 R. Nakatsu. Overview Two philosophies of systems development –Systems Development Life Cycle (SDLC) –Prototyping Alternative.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
Pertemuan – Matakuliah: M0304/Corporate Information System Management Tahun: 2008.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
Chapter 10 Information Systems Development. Learning Objectives Upon successful completion of this chapter, you will be able to: Explain the overall process.
Fundamentals of Information Systems, Third Edition2 An Overview of Systems Development: Participants in Systems Development Development team –Responsible.
10-1 McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved.
11 ADM2372 Management Information Systems (MIS) Chapter 10 – Part I Systems Development Chapter 10 – Part I Systems Development.
© 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
Information Systems Development
Appendix B Agile Methodologies
Fundamentals of Information Systems, Sixth Edition
Fundamentals of Information Systems, Sixth Edition
Information Systems Development
Chapter 1 The Systems Development Environment
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Presentation transcript:

Managing Information Technology 6th Edition CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT

Methodologies for Custom Software Development Although firms are likely to purchase software packages whenever they can, the development of custom software is still highly important and in demand Different approaches to developing customized applications Traditional Systems Development Life Cycle (SDLC) Evolutionary Prototyping Rapid Application Development (RAD) Agile Development

SYSTEMS DEVELOPMENT LIFE CYCLE The SDLC steps Highly structured process for developing customized applications Most often requires a lot of documentation Outputs from one step inputs to next Often referred to as the “waterfall” model Key characteristic is extensive formal reviews at the end of each major step

SYSTEMS DEVELOPMENT LIFE CYCLE The SDLC Waterfall Definition Feasibility Analysis Requirements Definition Construction System Design System Building System Testing Implementation Installation Operations Maintenance

SYSTEMS DEVELOPMENT LIFE CYCLE The SDLC steps Extensive up-front time spent determining requirements to avoid expensive changes later

SYSTEMS DEVELOPMENT LIFE CYCLE Definition phase The first phase of the SDLC is the definition phase This phase contains two steps: Feasibility analysis Requirements definition

SYSTEMS DEVELOPMENT LIFE CYCLE Definition phase – Feasibility analysis Three types of feasibility are assessed Technical Primary responsibility of the IS analyst Based on Knowledge of current and emerging technological solutions IT expertise of in-house personnel Anticipated infrastructure needed to both develop and support the proposed system

SYSTEMS DEVELOPMENT LIFE CYCLE Definition phase – Feasibility analysis Three types of feasibility are assessed (cont’d) Operational Primary responsibility of the business manager Entails assessing the degree to which a proposed system addresses the business issues that gave rise to the idea for a new information system

SYSTEMS DEVELOPMENT LIFE CYCLE Definition phase – Feasibility analysis Three types of feasibility are assessed (cont’d) Economic Business managers and IS analysts work together to prepare a cost/benefit analysis IS analyst responsible for establishing the developmental costs for the project

SYSTEMS DEVELOPMENT LIFE CYCLE Definition phase – Feasibility analysis Deliverable is a 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

SYSTEMS DEVELOPMENT LIFE CYCLE Definition phase – Requirements Definition Focuses on processes, data flows, and data interrelationships rather than a specific physical implementation Requirements are gathered by: Interviewing individuals or groups Reviewing documents Observing employees doing their jobs

SYSTEMS DEVELOPMENT LIFE CYCLE Definition phase – Requirements Definition Deliverable is a 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

SYSTEMS DEVELOPMENT LIFE CYCLE Construction phase The second major phase of the SDLC is the construction phase This starts after the systems requirements document from the definition phase is approved The phase contains three steps: System design System building System testing

SYSTEMS DEVELOPMENT LIFE CYCLE Construction phase – System design Includes: Deciding what hardware and software to use Designing structure and content of databases Defining programs and their interrelationships Good design is critical for the quality of the system

SYSTEMS DEVELOPMENT LIFE CYCLE Construction phase – System design Deliverable is a detailed design document: Models, such as diagrams of system’s physical structure Descriptions of databases Detailed specification for each program in the system Plan for the remaining steps of the Construction phase

SYSTEMS DEVELOPMENT LIFE CYCLE Construction phase – System building Includes: Producing the computer programs Developing or enhancing the databases and files to be used by the system Procuring new hardware and support software

SYSTEMS DEVELOPMENT LIFE CYCLE Construction phase – System testing Might require as much time as writing the code for the system Involves testing by IS specialists, then user testing Multiple steps: Each module of code is tested Modules are assembled into subsystems and tested Subsystems are combined and entire system is integration tested

SYSTEMS DEVELOPMENT LIFE CYCLE Construction phase – System testing User acceptance testing Ensures that the system performs reliably and does what it is supposed to do in the user environment Documentation Major mechanism of communication among members of the project team

SYSTEMS DEVELOPMENT LIFE CYCLE Implementation phase The final phase of the SDLC is the implementation phase The success of this phase is dependent upon business managers The three steps in this phase are: Installation Operations Maintenance

SYSTEMS DEVELOPMENT LIFE CYCLE Implementation phase – Installation Includes: Building files and databases Converting relevant data from one or more old systems to the new system Training system’s end users

SYSTEMS DEVELOPMENT LIFE CYCLE Implementation phase – Installation Conversion from an old system to a new system can be difficult Several transitioning strategies are commonly used to assist in this change: Parallel: organization operates old system in parallel with new system until new system is working sufficiently Pilot: new system is introduced to only one part of the organization first

SYSTEMS DEVELOPMENT LIFE CYCLE Implementation phase – Installation Transitioning strategies (cont’d) Phased: new system is implemented one component at a time Cutover: old system is totally abandoned as soon as the new system is implemented

SYSTEMS DEVELOPMENT LIFE CYCLE Implementation phase – Operations New application begins operation in “production mode” Project team is usually disbanded Requires adequate documentation System documentation for IS specialists who operate and maintain the system User documentation for those who use the system

SYSTEMS DEVELOPMENT LIFE CYCLE Implementation phase – Maintenance The process of making changes to a system after it has been put into production mode Reasons for maintenance Correct errors in the system Adapt the system to changes in the environment Enhance or improve the system

SYSTEMS DEVELOPMENT LIFE CYCLE Implementation phase – Maintenance Maintenance makes up about 80% of total costs over a system’s life

SYSTEMS DEVELOPMENT LIFE CYCLE Implementation phase – Maintenance Problems with maintenance: Documentation may not be updated when changes to the system are made, causing problems for future maintenance Changes to one part of the system may have an unanticipated effect on other parts of the system (i.e., ripple effect ) Maintenance is considered low-status work by programmers, so typically only new programmers are assigned the job

SYSTEMS DEVELOPMENT LIFE CYCLE Implementation phase – Maintenance Problems with maintenance (cont’d): Maintenance may introduce new errors into the system If resources are not available, business managers may suffer long delays before needed changes are made

SYSTEMS DEVELOPMENT LIFE CYCLE 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

SYSTEMS DEVELOPMENT LIFE CYCLE Managing an SDLC project Critical success factors: Manageable project size Accurate requirements definition Executive sponsorship

SYSTEMS DEVELOPMENT LIFE CYCLE SDLC advantages and disadvantages

PROTOTYPING METHODOLOGY Takes advantage 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 Can be used as a complete alternative to the SDLC or within an SDLC process

PROTOTYPING METHODOLOGY Prototype 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 METHODOLOGY The prototyping steps

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

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

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

PROTOTYPING METHODOLOGY Prototyping within an SDLC process Two ways in which prototyping is usually incorporated into an SDLC process: Used in the Definition phase to help users define system requirements

PROTOTYPING METHODOLOGY Prototyping within an SDLC process Two ways in which prototyping is usually incorporated into an SDLC process: Includes a pilot implementation of a working prototype

NEWER APPROACHES Rapid applications development (RAD) Hybrid methodology combines aspects of SDLC and prototyping Goal is to produce a system in less than a year

NEWER APPROACHES Rapid applications development (RAD) Advantages and disadvantages

NEWER APPROACHES Agile methodologies Alternative methodology for smaller projects Objective is to deliver software with very low defect rates Based on four key values: Simplicity Communication Feedback Courage

NEWER APPROACHES Agile methodologies eXtreme programming (XP) Programmers write code in pairs Use simple design and frequent testing Three traits characterize the program design System must communicate everything you want to communicate System must contain no duplicate code System should have the fewest number of components as possible

NEWER APPROACHES Agile methodologies Scrum Based on well-orchestrated movement between team members Similar to the coordination in a rugby scrum Emphasizes: Independent project teams Coordination and communication between and within teams Iterative and continuous monitoring of work Highly efficient work methods

MANAGING SOFTWARE PROJECTS USING OUTSOURCED STAFF Advantages of outsourcing: Helps keep software development costs down Make use of technical expertise not available in-house Can hire capacity above baseline for current amount of development work Frees up internal resources to work on more strategic or proprietary projects Can often complete projects more quickly

MANAGING SOFTWARE PROJECTS USING OUTSOURCED STAFF Onshore outsourcing: contracting with companies within the same country or region Offshore outsourcing: contracting with companies not within the same country or region Driven by price because labor costs are typically much lower Risks include loss of some control, language and cultural barriers, and threats of piracy of intellectual property

MANAGING SOFTWARE PROJECTS USING OUTSOURCED STAFF Offshore outsourcing is a good alternative 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

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 Create a centralized project management office Begin with pilot projects Hire offshore legal expertise Use secure and redundant communication links