Beruflich Dokumente
Kultur Dokumente
Cost Estimation
Summary
Measurement enables managers and practitioners to improve
the software process; assist in the planning, tracking, and
control of a software project; and assess the quality of the
product (software) that is produced. Estimation Techniques
Both size and function oriented metrics are used throughout past (similar) project experience
the industry. conventional estimation techniques
◦ Size oriented metrics use the LOC. ◦ task breakdown and effort estimates
◦ Function oriented metrics use the information domain and a ◦ size (e.g., FP) estimates
subjective assessment of problem complexity. tools (e.g., Checkpoint)
The Steps
Scoping—understand the problem and the work that must be
done
Estimation—how much effort? how much time?
Risk—what can go wrong? how can we avoid it? what can
we do about it?
you've arrived at an estimate, sleep on it
adjust for the people who'll be doing the job—they have the
highest impact
Conventional Methods:
LOC/FP Approach Summary
compute LOC/FP using estimates of information domain The software project planner must estimate three things
values before a project begins:
use historical effort for the project ◦ How long it will take.
◦ How much effort will be required.
Example: LOC Approach ◦ How many people will be involved.
Accurate project estimates generally use at least two
estimation techniques in order to derive an accurate estimate.
Lecture 6
Risk Management
Example: FP Approach Reactive vs. Proactive Risk Strategies
measurement parameter count weight Reactive:
number of user inputs 40 x 4 = 160 ◦ The software team does nothing about risks until something
number of user outputs 25 x 5 = 125 goes wrong.
number of user inquiries 12 x 4 = 48 Proactive:
number of files 4 x 7 = 28 ◦ The software team establishes a plan for managing risk.
0.25 p-m / FP = 120 p-m
number of ext.interfaces 4 x 7 = 28 ◦ The primary objective is to avoid risk.
algorithms 60 x 3 = 180 ◦ The team develop a contingency plan as a respond in case a
569
count-total risk can not be avoided.
complexity multiplier .84
478
feature points Risk Characteristics
Uncertainty: The risk may or may not happen; that is, there
are no 100% probable risks.
Tool-Based Estimation
Loss: If the risk becomes a reality, unwanted consequences
project characteristics or losses will occur.
calibration factors
LOC/FP data
Categories of risks
Project Risks: threatens project plan
Empirical Estimation Models
e.g. overdue schedule, increased budget.
Technical Risks: threatens software quality
e.g. difficult / impossible implementation.
Business Risks: threatens software viability
e.g. market risk, strategic risk, management risk, budget risk.
Risk Identification
Risk identification is a systematic attempt to specify threats
to the project plan (estimates, schedule, resource loading,
RMMM Plan
etc.).
Once the first four columns of the risk table have been
There are two distinct types of risks for each of the
completed, the table is sorted by probability and by impact.
categories previously presented:
High probability, high impact risks are located at the top of
◦ Generic risks: a potential threat to every software project
the table.
◦ Product-specific risks: depends on the technology, people, The project manager then defines a cutoff line, indicating
and the environment specific to the project that only risks that lie above the line will be given further
attention.
Risk Item Checklist All risks that lie above the cutoff line must be managed, by
Risk Item Checklist is one method for identifying risks. developing the RMMM plan.
Generic risk subcategories:
◦ Product Size (PS) Risk Mitigation, Monitoring, and Management
◦ Business Impact (BU)
◦ Customer Characteristics (CU) Risk Mitigation / Risk Avoidance
◦ Process Definition (PR) ◦ The software team adopts a proactive approach to risk.
◦ Development Environment (DE) ◦ Avoidance is always the best strategy.
◦ Technology to be built (TE) Risk Monitoring
◦ Staff Size and Experience (ST) ◦ The project manager monitors factors that may provide an
indication of whether a risk is becoming more or less likely.
Risk Impact Assessment Risk Management and contingency planning
The impact of risks is divided into one of four impact ◦ Assumes that mitigation efforts have failed and that the risk
categories: has become reality
◦ Catastrophic: schedule delay, cost increase, project failure. An Example of RMMM
◦ Critical: schedule delay, cost increase, but not as high as the Project Risk: High staff turnover
first one. Probability: 70%
◦ Marginal: possible cost increase and schedule delay, but Impact: 2 (Critical)
recoverable. Mitigation: improve working environment, increase salary.
◦ Negligible: no effect to cost and schedule. Monitoring: monitor the team member general attitude,
member interpersonal relationships.
Management: assign backup team member.
SCRUM
Daily Scrum
Setiap hari, Tim Scruam harus melakukan pertemuan (rapat)
selama maksimal 15 menit. Hal ini dilakukan dengan tujuan
untuk mensinkronkan progres, mengidentifikasi masalah dan
menyelesaikan masalah yang ada dalam mengerjakan
pekerjaannya.
Pertanyaan yang biasa ditanyakan adalah :
Apa yang anda lakukan sejak pertemuan terakhir ?
Apa rencana yang anda lakukan sampai pertemuan
berikutnya ?
Apa ada suatu masalah yang membuat anda tidak dapat
mengerjakan pekerjaan yang telah direncanakan sebelumnya
?
Pertanyaan ketiga digunakan untuk mencari solusi dari
permasalahan yang muncul. Mulai dari pertanyaan yang
Scrum building block disebut Sprint. Sprint adalah sebuah bersifat teknis hingga non-teknis yang dinilai dapat
kotak-waktu (yang biasanya mempunyai durasi 1 hingga 4 mengacaukan pekerjaan.
minggu) dimana tim pengembang fokus dalam mencapai
target yang jelas. Setiap Sprint selalu berakhir dengan Sprint Review
diikuti Sprint Review, dimana hasil yang sudah dibuat Setiap Sprint selalu berakhir dengan mendemontrasikan dan
dipresentasikan dan didemontrasikan didalam sebuah rapat mempresentasikan fitur-fitur yang telah dikerjakan. Hal
tim. tersebut dilakukan untuk memastikan bahwa fitur-fitur
tersebut dapat bekerja dengan baik.
Istilah-istilah dalam Scrum
Sprint Retrspective
Didalam Sprint Retrspective, Tim Scrum merefleksikan
Product Backlog
bagaimana pekerjaan-pekerjaan berjalan pada Sprint
Pemilik Proyek menyusun dan mengumpulkan semua
sebelumnya?
permintaan dan kebutuhan sistem, misalnya fitur-fitur yang
Harapan yang ingin dicapai pada Sprint Retrspective adalah
dibutuhkan dan-atau kebutuhan non-fungsional sistem. Setelah
adanya perbaikan tindakan sehingga Sprint berikutnya dapat
tujuannya sudah ditetapkan, semua permintaan dan kebutuhan
dikerjakan dengan lebih baik lagi.
tersebut dibagi-bagi menjadi bagian-bagian kecil yang mana
Perbaikan-perbaikan tersebut harus di-implementasi-kan pada
setiap bagian kecil tersebut harus mempunyai nilai dan layak
Sprint berikutnya.
untuk dikembangkan..
ROLES
Pemilik Proyek juga menentukan skala prioritas dalam Development Team
pengerjaan bagian-bagian kecil tersebut. Bagaimana dan Development team atau tim pengembang adalah team yang
seperti apa bagian-bagian kecil tersebut diimplementasikan mendesain dan melakukan proses problem-solvers. Biasanya
dan di-deliver? team tersebut terdiri dari 3-9 orang.
Pertanyaan tersebut akan menghasilkan sebuah to-do-list
berdasarkan kebutuhan pasar dan kebutuhan pelanggan yang
3-9 orang adalah team yang paling optimal dalam
selalu berubah seiring dengan berjalannya waktu.
menggunakan metode scrum berdasarkan beberapa penelitian
yang ada.
Backlog Refinement
Pembagian tugas dan distribusi informasi ditentukan diantara
Backlog harus di-maintain dengan baik dan tepat oleh Tim anggota tim itu sendiri. Setiap anggota tim bertanggungjawab
Scrum untuk dilakukan perencanaan, sehingga Sprint dapat atas keberhasilan keluaran sprint yang dilakukan.
berjalan dengan lancar. Hal-hal yang harus dilakukan dalam
me-maintain backlog antara lain adalah melakukan proses
estimasi dan breakdown kebutuhan, Hal tersebut dilakukan Product Owner
agar kondisi Sprint (1-4 minggu) terpenuhi. Product Owner atau pemilik proyek harus memastikan bawha
tim pengembang bekerja sesuai dengan target yang telah
ditetapkan dilihat dari kacamata bisnis.
Sprint Pemilik proyek melakukan manajemen terhadap Product
Sprint adalah kotak-waktu yang berisi periode kerja dimana Backlog, yang dibreakdown menjadi to-do-list, sehingga
pada sprint fokus terhadap delivery produk berdasarkan item- semua keinginan dan kebutuhan sistem dapat terekam dengan
item yang dipilih dari Product Backlog. baik berdasarkan keuntungan yang diterima dengan
mempertimbangkan sisi bisnisnya.
Didalam Sprint selalu ditetapkan waktu pekerjaan secara Pemilik proyek fokus pada bagaimana produk dihasilkan
konsisten dan Sprint yang baru dimulai sesegera mungkin
nantinya. Selain itu pemilik proyek juga harus selalu melihat
setelah sprint yang ada telah selesai dikerjakan. berapa banyak dana yang dikeluarkan dalam mengembangkan
produk dan seberapa besar pendapatan yang dihasilkan oleh
produk tersebut.
Scrum Master
Scrum master atau tenaga ahli Scrum adalah kombinasi dari
pelatih, fixer dan penjaga gawang.
Hal yang paling penting dari Scrum Master adalah, Scrum
Master harus dapat mengarahkan dan melatih Tim
Pengembang dan Pemilik Proyek untuk memastikan bahwa
mereka selalu berada dalam kondisi terbaiknya dalam meraih
kesuksesan.
Scrum Master memimpin rapat setiap harinya - Daily Scrum.
Scrum master harus memastikan bahwa tim pengembang tidak
teralihkan fokusnya pada hal-hal diluar proyek/pekerjaan.
Scrum Team
Scrum Team atau Tim Scrum adalah gabungan dari Tim
Pengembang, Pemilik Proyek dan Tenaga Ahli Scrum.