Matakuliah : M0304/Corporate Information System Management
Tahun : 2008
Fakultas Ilmu Komputer
M
ETODOLOGI
P
ENGEMBANGAN
S
OFTWARE
M
ANDIRI
Modul-17-2
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
Fakultas Ilmu Komputer
Modul-17-3
S
YSTEMS
D
EVELOPMENT
L
IFE
C
YCLE
M
ETHODOLOGY
The SDLC Steps
Key characteristic is extensive formal reviews required at end of each major step
Fakultas Ilmu Komputer
Figure 17.1 The Systems Development
Life Cycle
Modul-17-4
S
YSTEMS
D
EVELOPMENT
L
IFE
C
YCLE
M
ETHODOLOGY
The SDLC Steps
Hallmark of SDLC approach: extensive upfront time spent determining requirements to avoid expensive changes later
Fakultas Ilmu Komputer
Figure 17.2 Cost Breakdown for $1 Million
SDLC Project
Modul-17-5
S
YSTEMS
D
EVELOPMENT
L
IFE
C
YCLE
M
ETHODOLOGY
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
Fakultas Ilmu Komputer
Modul-17-6
Fakultas Ilmu Komputer
Modul-17-7
S
YSTEMS
D
EVELOPMENT
L
IFE
C
YCLE
M
ETHODOLOGY
– 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
Fakultas Ilmu Komputer
Modul-17-8
S
YSTEMS
D
EVELOPMENT
L
IFE
C
YCLE
M
ETHODOLOGY
• System Design
• System Building
• System Testing
Documentation is a major mechanism of communication during development process
Fakultas Ilmu Komputer
Figure 17.3 Characteristics of High Quality Systems
Modul-17-9
S
YSTEMS
D
EVELOPMENT
L
IFE
C
YCLE
M
ETHODOLOGY
• Installation
• Operations
• Maintenance
Fakultas Ilmu Komputer
Modul-17-10
Installation
Parallel Strategy
Parallel Strategy
Parallel Strategy
Parallel Strategy
Fakultas Ilmu Komputer Figure 17.4 Implementation Strategies
Modul-17-11
Maintenance
Fakultas Ilmu Komputer
Figure 17.5 Percent of Development
Resources Devoted to Maintenance
Modul-17-12
Maintenance
Fakultas Ilmu Komputer
Figure 17.6 The Widening Gap Between
Organization’s Needs and System’s Performance Modul-17-13
S
YSTEMS
D
EVELOPMENT
L
IFE
C
YCLE
M
ETHODOLOGY
• 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
Fakultas Ilmu Komputer
Modul-17-14
S
YSTEMS
D
EVELOPMENT
L
IFE
C
YCLE
M
ETHODOLOGY
• 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
Fakultas Ilmu Komputer
Modul-17-15
S
YSTEMS
D
EVELOPMENT
L
IFE
C
YCLE
M
ETHODOLOGY
• Characteristics critical for success:
– Manageable project size
– Accurate requirements definition
– Executive sponsorship
Fakultas Ilmu Komputer
Modul-17-16
S
YSTEMS
D
EVELOPMENT
L
IFE
C
YCLE
M
ETHODOLOGY
Fakultas Ilmu Komputer
(Adapted from Boehm, 1976)
Figure 17.7 Costs of Error Correction by SDLC Step
Modul-17-17
S
YSTEMS
D
EVELOPMENT
L
IFE
C
YCLE
M
ETHODOLOGY
Fakultas Ilmu Komputer
Figure 17.8 Advantages and Disadvantages of Traditional SDLC Approach
Modul-17-18
P ROTOTYPING M ETHODOLOGY
• 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
Fakultas Ilmu Komputer
Modul-17-19
P ROTOTYPING M ETHODOLOGY
• 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
Fakultas Ilmu Komputer
Modul-17-20
P ROTOTYPING M ETHODOLOGY
• 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
Fakultas Ilmu Komputer
Modul-17-21
Fakultas Ilmu Komputer Figure 17.9 The Prototyping Life Cycle
Modul-17-22
P ROTOTYPING M ETHODOLOGY
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
Fakultas Ilmu Komputer
Modul-17-23
P ROTOTYPING M ETHODOLOGY
•
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
Fakultas Ilmu Komputer
Modul-17-24
•
P ROTOTYPING M ETHODOLOGY
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
Fakultas Ilmu Komputer
Modul-17-25
P ROTOTYPING M ETHODOLOGY
Prototyping within an SDLC Process
Fakultas Ilmu Komputer
Figure 17.10 SDLC with Prototyping to Define Requirements
Modul-17-26
P ROTOTYPING M ETHODOLOGY
Prototyping within an SDLC Process
Fakultas Ilmu Komputer
Figure 17.11 Prototyping/Piloting Replaces
SDLC Definition Phase
Modul-17-27
•
•
N EWER A PPROACHES
Rapid Application Development
(RAD)
Hybrid methodology – aspects of
SDLC and prototyping
Goal is to produce a system in less than a year
Fakultas Ilmu Komputer Figure 17.12 Four-Step RAD Cycle
Modul-17-28
N EWER A PPROACHES
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
Fakultas Ilmu Komputer
Modul-17-29
N EWER A PPROACHES
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
Fakultas Ilmu Komputer
Modul-17-30
N EWER A PPROACHES
Rapid Application Development (RAD)
Fakultas Ilmu Komputer
(Adapted from Valacich, George, and Hoffer, 2001)
Figure 17.13 Types of CASE Tools
Modul-17-31
N EWER A PPROACHES
Rapid Application Development (RAD)
Fakultas Ilmu Komputer
Figure 17.14 RAD Advantages and Disadvantages
Modul-17-32
N EWER A PPROACHES
• 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
Fakultas Ilmu Komputer
Modul-17-33
M
ANAGING
S
OFTWARE
P
ROJECTS
U
SING
O
UTSOURCED
S
TAFF
• 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
Fakultas Ilmu Komputer
Modul-17-34
M
ANAGING
S
OFTWARE
P
ROJECTS
U
SING
O
UTSOURCED
S
TAFF
• 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
Fakultas Ilmu Komputer
Modul-17-35
M
ANAGING
S
OFTWARE
P
ROJECTS
U
SING
O
UTSOURCED
S
TAFF
• 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
Fakultas Ilmu Komputer
Modul-17-36
• Reff-Haag
Prosedure Outsource
Fakultas Ilmu Komputer
Modul-17-37
OUTSOURCING
•
• Developing strategic partnerships
- 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
Modul-17-38
Developing Strategic Partnerships
Modul-17-39
Developing Strategic Partnerships
• IT outsourcing takes on 1 of 4 forms:
1.
Purchasing existing software
2. Purchasing existing software and pay the publisher to make certain modifications
3. Purchasing existing software and pay the publisher for the right to make modifications yourself
4. Outsourcing the development of an entirely new and unique system for which no software exists
Modul-17-40
The Outsourcing Process
Modul-17-41
The Outsourcing Process
• Steps of the outsourcing process
1.
Planning
2.
Define project scope
3.
Select a target system
4.
Establish logical requirements
Modul-17-42
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 solution
8. Monitor and reevaluate
Modul-17-43
The Outsourcing Process – an RFP
Modul-17-44
Offshore Outsourcing
- using organizations from other countries to write code and develop systems
Modul-17-45
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
Modul-17-46
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
Modul-17-47