Chapter 10 m ethodologies for c ustom s oftware d evelopment
This presentation is the property of its rightful owner.
Sponsored Links
1 / 35

CHAPTER 10 M ETHODOLOGIES FOR C USTOM S OFTWARE D EVELOPMENT PowerPoint PPT Presentation


  • 101 Views
  • Uploaded on
  • Presentation posted in: General

CHAPTER 10 M ETHODOLOGIES FOR C USTOM S OFTWARE D EVELOPMENT. S YSTEMS D EVELOPMENT L IFE C YCLE M ETHODOLOGY. Systems development life cycle (SDLC) – a highly structured approach for development of new customized software applications. Page 385.

Download Presentation

CHAPTER 10 M ETHODOLOGIES FOR C USTOM S OFTWARE D EVELOPMENT

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Chapter 10 m ethodologies for c ustom s oftware d evelopment

CHAPTER 10

METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT


S ystems d evelopment l ife c ycle m ethodology

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY

Systems development life cycle (SDLC) – a highly structured approach for development of new customized software applications

Page 385


S ystems d evelopment l ife c ycle m ethodology1

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY

The SDLC Steps

Key characteristic is extensive formal reviews

required at end of each major step

Figure 10.1 The Systems Development

Life Cycle

Page 386


S ystems d evelopment l ife c ycle m ethodology2

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY

The SDLC Steps

Hallmark of SDLC approach: extensive up-front time spent

determining requirements to avoid expensive changes later

Figure 10.2 Cost Breakdown for $1 Million

SDLC Project

Page 386


S ystems d evelopment l ife c ycle m ethodology3

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

Page 386


S ystems d evelopment l ife c ycle m ethodology4

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

Page 387-388


S ystems d evelopment l ife c ycle m ethodology5

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

Page 388


S ystems d evelopment l ife c ycle m ethodology6

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY

Construction Phase

  • System Design

  • System Building

  • System Testing

Documentation is a major mechanism of

communication during development process

Figure 10.3 Characteristics

of High Quality Systems

Page 389


S ystems d evelopment l ife c ycle m ethodology7

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY

Implementation Phase

  • Installation

  • Operations

  • Maintenance

Page 390


Chapter 10 methodologies for custom software development

Implementation Phase – Installation

Parallel Strategy

Parallel Strategy

Parallel Strategy

Parallel Strategy

Page 391

Figure 10.4 Implementation Strategies


Chapter 10 methodologies for custom software development

Implementation Phase – Maintenance

Figure 10.5 Percent of Development

Resources Devoted to Maintenance

Page 392


Chapter 10 methodologies for custom software development

Implementation Phase – Maintenance

Figure 10.6 The Widening Gap Between

Organization’s Needs and System’s Performance

Page 392


S ystems d evelopment l ife c ycle m ethodology8

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

Page 393


S ystems d evelopment l ife c ycle m ethodology9

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

Page 394


S ystems d evelopment l ife c ycle m ethodology10

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY

Managing an SDLC Project

  • Characteristics critical for success:

    • Manageable project size

    • Accurate requirements definition

    • Executive sponsorship

Page 394


S ystems d evelopment l ife c ycle m ethodology11

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY

Managing an SDLC Project

(Adapted from Boehm, 1976)

Figure 10.7 Costs of Error Correction

by SDLC Step

Page 395


S ystems d evelopment l ife c ycle m ethodology12

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY

SDLC Advantages and Disadvantages

Figure 10.8 Advantages and Disadvantages

of Traditional SDLC Approach

Page 395


P rototyping m ethodology

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

Page 396


P rototyping m ethodology1

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

Page 396


P rototyping m ethodology2

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

Page 396


Chapter 10 methodologies for custom software development

The Prototyping Steps

Page 397

Figure 10.9 The Prototyping Life Cycle


P rototyping m ethodology3

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

Page 398


P rototyping m ethodology4

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

Page 398-399


P rototyping m ethodology5

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

Page 399


P rototyping m ethodology6

PROTOTYPING METHODOLOGY

Prototyping within an SDLC Process

Figure 10.10 SDLC with Prototyping

to Define Requirements

Page 399


P rototyping m ethodology7

PROTOTYPING METHODOLOGY

Prototyping within an SDLC Process

Figure 10.11 Prototyping/Piloting Replaces

SDLC Definition Phase

Page 399


N ewer a pproaches

NEWER APPROACHES

Rapid Application Development (RAD)

  • Hybrid methodology – aspects of SDLC and prototyping

  • Goal is to produce a system in less than a year

Page 400

Figure 10.12 Four-Step RAD Cycle


N ewer a pproaches1

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

Page 400-401


N ewer a pproaches2

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

Page 400-401


N ewer a pproaches3

NEWER APPROACHES

Rapid Application Development (RAD)

(Adapted from Valacich, George, and Hoffer, 2001)

Page 401

Figure 10.13 Types of CASE Tools


N ewer a pproaches4

NEWER APPROACHES

Rapid Application Development (RAD)

Figure 10.14 RAD Advantages

and Disadvantages

Page 402


N ewer a pproaches5

NEWER APPROACHES

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

Page 402


M anaging s oftware p rojects u sing o utsourced s taff

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

Page 402


M anaging s oftware p rojects u sing o utsourced s taff1

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

Page 402


M anaging s oftware p rojects u sing o utsourced s taff2

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

Page 402-403


  • Login