PERENCANAAN PROYEK PERANGKAT LUNAK

Download Report

Transcript PERENCANAAN PROYEK PERANGKAT LUNAK

PERENCANAAN
PROYEK
PERANGKAT LUNAK
Nur Cahyo Wibowo, S.Kom, M.Kom
Pendahuluan



Software project management begins with a set of
activities that are called project planning.
Before the project can begin, the manager and the
software team must estimate the work to be done,
the resources that will be required, and the time that
will elapse from start to finish.
Whenever estimates are made, we look into the
future and accept some degree of uncertainty as a
matter of course.
Pendahuluan




Estimation begins with a description of the scope of
the product.
The problem is then decomposed into a set of
smaller problems and each of these is estimated
using historical data and experience as guides.
It is advisable to generate your estimates using at
least two different methods (as a cross check).
Problem complexity and risk are considered before
a final estimate is made.
Tujuan Perencanaan PPL


To provide a framework that enables the
manager to make reasonable estimates of
resources, cost, and schedule.
Memberikan kerangka yang memungkinkan
manajer membuat perkiraan yang masuk
akal tentang sumber daya, biaya dan jadwal.
Scope (Ruang Lingkup) PL




The first activity in software project planning is the
determination of software scope.
Unambiguous and understandable at the
management and technical levels.
A statement of software scope must be bounded.
Software scope describes the data and control to be
processed, function, performance, constraints,
interfaces, and reliability.
Mendapatkan Ruang Lingkup


Conduct a preliminary meeting or interview.
Example questions:




Who is behind the request for this work?
Who will use the solution?
What will be the economic benefit of a successful
solution?
Is there another source for the solution?
Feasibility (Kelayakan)



Scoping is not enough.
“Can we build software to meet this scope? Is the
project feasible?”
Four solid dimensions:




Technology — Is it within the state of the art?
Finance — Can development be completed at a cost the
software organization, its client, or the market can afford?
Time — Will the project’s time-to-market beat the
competition?
Resources — Does the organization have the resources
needed to succeed?
Resources (Sumber Daya)
Perspektif Sumber Daya

Masing-masing sumber daya tersebut
dispesifikasikan dengan 4 karakteristik
berikut ini:




Deskripsi  Siapa, Apa
Ketersediaan  Jumlah dan kualitas
Waktu  Kapan digunakan
Durasi  Berapa lama dipakai
SOFTWARE PROJECT
ESTIMATION

To achieve reliable cost and effort estimates, a
number of options arise:
a) Delay estimation until late in the project (obviously, we can
achieve 100% accurate estimates after the project is
complete!).
b) Base estimates on similar projects that have already been
completed.
c) Use relatively simple decomposition techniques to
generate project cost and effort estimates.
d) Use one or more empirical models for software cost and
effort estimation.
Teknik Dekomposisi





Software sizing
Problem based estimation
LOC based estimation
Function point based estimation
Process based estimation
Contoh LOC based
Contoh FP based
Contoh Process based
COCOMO Model





COnstructive COst MOdel.
Address the following areas:
Application composition model. Used during the early
stages of software engineering, when prototyping of user
interfaces, consideration of software and system
interaction, assessment of performance, and evaluation
of technology maturity.
Early design stage model. Used once requirements
have been stabilized and basic software architecture has
been established.
Post-architecture-stage model. Used during the
construction of the software.
Keputusan: Beli atau Buat?




Software engineering managers are faced with a
make/ buy decision :
(1) software may be purchased (or licensed) off-theshelf,
(2) “full-experience” or “partial-experience” software
components may be acquired and then modified
and integrated to meet specific needs, or
(3) software may be custom built by an outside
contractor to meet the purchaser's specifications.
Outsourcing





Software engineering activities are contracted to a third
party who does the work at lower cost and, hopefully,
higher quality.
Software work conducted within a company is reduced to
a contract management activity.
The decision to outsource can be either strategic or
tactical.
(+) Cost savings can usually be achieved by reducing
the number of software people and the facilities (e.g.,
computers, network).
(-) A company loses some control over the software that
it needs. A company runs the risk of putting the fate of its
competitiveness into the hands of a third party.
Six Generic Functions






1. Sizing of project deliverables. Work products include the
external representation of software (e.g., screen, reports), the
software itself (e.g., KLOC), functionality delivered (e.g., function
points), descriptive information (e.g. documents).
2. Selecting project activities. The appropriate process framework
is selected and the software engineering task set is specified.
3. Predicting staffing levels. The number of people who will be
available to do the work is specified.
4. Predicting software effort. Estimation tools use one or more
models (e.g., Section 5.7) that relate the size of the project
deliverables to the effort required to produce them.
5. Predicting software cost. Given the results of step 4, costs can
be computed by allocating labor rates to the project activities noted
in step 2.
6. Predicting software schedules. When effort, staffing level, and
project activities are known, a draft schedule can be produced by
allocating labor across software engineering activities based on
recommended models for effort distribution (Chapter 7).
Kesimpulan

The software project planner must estimate
three things before a project begins:




How long it will take,
How much effort will be required, and
How many people will be involved.
In addition, the planner must predict the
resources (hardware and software) that will be
required and the risk involved.
Kesimpulan

Decomposition techniques require a
delineation of major software functions,
followed by estimates of either




(1) the number of LOC,
(2) selected values within the information domain,
(3) the number of person-months required to
implement each function, or
(4) the number of person-months required for
each software engineering activity.