47
Pertemuan – 17-18 Matakuliah : M0304/Corporate Information System Management Tahun : 2008

Pertemuan – 17-18

  • Upload
    kasi

  • View
    53

  • Download
    0

Embed Size (px)

DESCRIPTION

Pertemuan – 17-18. Matakuliah: M0304/Corporate Information System Management Tahun: 2008. M ETODOLOGI P ENGEMBANGAN S OFTWARE M ANDIRI. S YSTEMS D EVELOPMENT L IFE C YCLE M ETHODOLOGY. - PowerPoint PPT Presentation

Citation preview

Page 1: Pertemuan – 17-18

Pertemuan – 17-18

Matakuliah : M0304/Corporate Information System ManagementTahun : 2008

Page 2: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-2

METODOLOGI PENGEMBANGAN SOFTWARE MANDIRI

Page 3: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-3

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY

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

Page 4: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-4

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGYThe SDLC Steps

Figure 17.1 The Systems Development Life Cycle

Key characteristic is extensive formal reviewsrequired at end of each major step

Page 5: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-5

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGYThe SDLC Steps

Figure 17.2 Cost Breakdown for $1 Million SDLC Project

Hallmark of SDLC approach: extensive up-front time spent determining requirements to avoid expensive changes later

Page 6: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-6

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGYThe 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 7: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-7

Page 8: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-8

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGYDefinition 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 9: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-9

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGYConstruction Phase

• System Design• System Building• System Testing

Figure 17.3 Characteristics of High Quality Systems

Documentation is a major mechanism of communication during development process

Page 10: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-10

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGYImplementation Phase

• Installation• Operations• Maintenance

Page 11: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-11

Implementation Phase – Installation

Figure 17.4 Implementation Strategies

Parallel Strategy

Parallel Strategy

Parallel Strategy

Parallel Strategy

Page 12: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-12

Implementation Phase – Maintenance

Figure 17.5 Percent of Development Resources Devoted to Maintenance

Page 13: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-13

Implementation Phase – Maintenance

Figure 17.6 The Widening Gap BetweenOrganization’s Needs and System’s Performance

Page 14: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-14

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGYThe 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 15: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-15

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGYThe 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 16: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-16

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGYManaging an SDLC Project

• Characteristics critical for success: – Manageable project size– Accurate requirements definition– Executive sponsorship

Page 17: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-17

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY

Figure 17.7 Costs of Error Correction by SDLC Step

Managing an SDLC Project

(Adapted from Boehm, 1976)

Page 18: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-18

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGYSDLC Advantages and Disadvantages

Figure 17.8 Advantages and Disadvantages of Traditional SDLC Approach

Page 19: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-19

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 20: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-20

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 21: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-21

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 22: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-22

The Prototyping Steps

Figure 17.9 The Prototyping Life Cycle

Page 23: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-23

PROTOTYPING METHODOLOGY

• Representatives from IS and user management necessary

• Need team members who can quickly build systems using advanced tools

• Requires dedicated business user roles

The Prototyping Project Team

Page 24: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-24

PROTOTYPING METHODOLOGY

• 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 Advantages and Disadvantages

Page 25: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-25

PROTOTYPING METHODOLOGY

• 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 Advantages and Disadvantages

Page 26: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-26

PROTOTYPING METHODOLOGYPrototyping within an SDLC Process

Figure 17.10 SDLC with Prototyping to Define Requirements

Page 27: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-27

PROTOTYPING METHODOLOGYPrototyping within an SDLC Process

Figure 17.11 Prototyping/Piloting Replaces SDLC Definition Phase

Page 28: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-28

NEWER APPROACHESRapid Application Development (RAD)

Figure 17.12 Four-Step RAD Cycle

• Hybrid methodology – aspects of SDLC and prototyping

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

Page 29: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-29

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 30: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-30

NEWER APPROACHESRapid 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 31: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-31

NEWER APPROACHESRapid Application Development (RAD)

Figure 17.13 Types of CASE Tools

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

Page 32: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-32

NEWER APPROACHESRapid Application Development (RAD)

Figure 17.14 RAD Advantages and Disadvantages

Page 33: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-33

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 34: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-34

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 35: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-35

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 36: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-36

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 37: Pertemuan – 17-18

Fakultas Ilmu Komputer Modul-17-37

• Reff-Haag

Prosedure Outsource

Page 38: Pertemuan – 17-18

Modul-17-38

OUTSOURCING

• Developing strategic partnerships• Outsourcing - the delegation of specific work to

a third party for a specified length of time, at a specified cost, and at a specified level of service

Page 39: Pertemuan – 17-18

Modul-17-39

Developing Strategic Partnerships

Page 40: Pertemuan – 17-18

Modul-17-40

Developing Strategic Partnerships• IT outsourcing takes on 1 of 4 forms:

1. Purchasing existing software2. Purchasing existing software and pay the publisher to

make certain modifications3. Purchasing existing software and pay the publisher for

the right to make modifications yourself4. Outsourcing the development of an entirely new and

unique system for which no software exists

Page 41: Pertemuan – 17-18

Modul-17-41

The Outsourcing Process

Page 42: Pertemuan – 17-18

Modul-17-42

The Outsourcing Process

• Steps of the outsourcing process1. Planning2. Define project scope3. Select a target system4. Establish logical requirements

Page 43: Pertemuan – 17-18

Modul-17-43

The Outsourcing Process

5. Develop a request for proposal• Request for proposal (RFP) - a formal document that

describes in detail your logical requirements for a proposed system and invites outsourcing organizations to submit bids for its development

6. Evaluate request for proposal returns and choose a vendor

7. Test and accept solution8. Monitor and reevaluate

Page 44: Pertemuan – 17-18

Modul-17-44

The Outsourcing Process – an RFP

Page 45: Pertemuan – 17-18

Modul-17-45

Offshore Outsourcing

Offshore outsourcing - using organizations from other countries to write code and develop systems

Page 46: Pertemuan – 17-18

Modul-17-46

The Advantages of Outsourcing

• Focus on unique core competencies• Exploit the intellect of another organization• Better predict future costs• Acquire leading-edge technology• Reduce costs• Improve performance accountability

Page 47: Pertemuan – 17-18

Modul-17-47

The Disadvantages of Outsourcing

• Reduces technical know-how for future innovation• Reduces degree of control• Increases vulnerability of strategic information• Increases dependency on other organizations