Sabtu, 28 Maret 2009

Requirement Analysis

1) Proyek dan Sasaran 

Peluncuran Team untuk meeting 1.
• Meninjau ulang proses peluncuran dan memperkenalkan anggota team.
• Diskusikan keinginan yang dicapai pada proyek dan manajemennya serta memberikan pertanyaan.

2) Peran dan tujuan team
Peluncuran Team untuk meeting 2.
• Memilih peranan setiap team dan peran cadangannya.
• Menetapkan dan menegaskan tujuan team.

3) Strategi proyek dan pendukungnya.
Peluncuran Team untuk meeting 3.
• Hasilkan suatu sistem disain konseptual dan menentukan daftar perbaikan (jika diperlukan).
• Menentukan produk dan strategi pengembangan yang dihasilkan.
• Menetapkan proses yang digunakan dalam pengembangannya.
• Hasilkan proses dan rencana pendukung.

 
4) Seluruh Plan.
Peluncuran Team untuk meeting 4.
• Memperkirakan ukuran proyek dan keseluruhan rencana.

 


 
5) Quality Plan
Peluncuran Team untuk meeting 5.
• Mengembangkan quality plan.

 


6) Balanced Plan.
Peluncuran Team untuk meeting 6.
• Alokasi pekerjaan oleh anggota team.
• Dari bawah ke atas tiap fase direncanakan untuk setiap anggota.
• Fase yang seimbang untuk setiap team dan anggota team.

7) Analisa Resiko Proyek.
Peluncuran Team untuk meeting 7.
• Identifikasi dan mengevaluasi resiko proyek.
• Menetapkan checkpoint perkiraan resiko dan tanggung-jawabnya.
• Mengusulkan tindakan peringanan untuk high-impact resiko.

8) Peluncuran Persiapan Laporan.
Peluncuran Team untuk meeting 8.
• Siapkan laporan peluncuran kepada manajemen.
 

9) Tinjauan ulang Manajemen.
Peluncuran Team untuk meeting 9.
• Meninjau kembali aktivitas peluncuran dan perencanaan proyek kepada manajemen.
• Mendiskusikan resiko proyek, tanggung-jawab, dan rencana kegiatan.

10) Peluncuran Postmortem.
Peluncuran Team untuk meeting 9.
• Meneliti kembali dari awal persiapan laporan mingguan.
• Menyusun data peluncuran dan membuat suatu laporan peluncuran.
• Masukkan hasil laporan kedalam buku catatan proyek.

 

Proyek dinyatakan selesai apabila :
• Peluncuran yang lengkap dengan rencana tiap anggota team yang telah didokumentasikan.
• Menetapkan peran, tujuan, proses dan tanggung jawab team.
• Persetujuan Manajemen dengan rencana team atau mengenali kegiatan untuk menciptakan resolusi dan tanggung-jawab tiap tugas.
Data Peluncuran disimpan dalam buku catatan proyek.






Jumat, 13 Maret 2009

Team Software Process (TSP)

Latar Belakang
Langkah penting dalam peningkatan proses perangkat lunak adalah pengenalan tentang Team Software Process (TSP). TSP menyediakan suatu konteks yang teratur untuk merancang dan membangun suatu sistem.
Dikembangkan oleh Watt Humphrey pada tahun 1996, sasarannya adalah menyediakan suatu proses operasional dalam membantu para engineering dalam melakukan pekerjaan yang berkwalitas. Awalnya TSP dirancang sangat sederhana, dimana di buat dalam 2 tim yang kemudian dilihat hasilnya apakah berjalan lancar atau tidak. Tim diidentifikasi lebih lanjut untuk melakukan perbaikan dari sistem yang telah diciptakan sebelumnya.
Dalam 3 tahun yang akan datang Humphrey mengembangkan 9 – lebih versi TSP. Sasaran awalnya adalah jika ada general-purpose team bisa membantu engineering team dalam melakukan pekerjaan mereka. TSP merupakan dasar sasaran untuk proses pengembangan usaha yang diarahkan ke arah penyederhanaan proses tersebut, mengurangi ukurannya dan menyediakan dukungan dan bimbingan yang diperlukan untuk melakukan hal berguna san efisien.
Beberapa team sudah menggunakan TSP dan beberapa metoda telah dikembangkan untuk membantu engineering dan manajer dalam membentuk tim. Selain itu juga dapat membantu engineering untuk merencanakan, merekam data,analisa data dan beberapa aktivitas proyek.

Strategi TSP
  • Digunakan untuk merumuskan permasalahan secara sederhana
  • Dikembangkan dalam beberapa siklus
  • Menentukan ukuran standart untuk kualitas dan performance
  • Menyediakan batasan yang terperinci
  • Gunakan aturan dan peran dari evaluasi setiap siklus
  • Diperlukan displin proses
  • Diberikan bimbingan pada setiap masalah yang muncul


Proses
Elemen yang paling prinsip dalam TSP dapat dilihat dalam gambar dibawah. Sebelum seseorang bergabung dalam suatu TSP, mereka harus mengerti bagaimana mendisiplinkan pekerjaan.
Pelatihan PSP bertujuan untuk menghasilkan engineer dengan pengetahuan dan keterampilan untuk menggunakan TSP. PSP meliputi pengetahuan tentang bagaimana membuat details plan, pengumpulan dan penggunaan suatu proses data, mengembangkan value plant yang didapatkan, menggunakan value plant yang didapatkan untuk menentukan proses dari suatu plan, mengukur dan mengatur mutu produk dan menjelaskan proses operasional penggunaan.
Engineering harus dilatih sebelum masuk dalam suatu TSP.


Dalam membangun sebuah sistem dibutuhkan team yang terdiri dari beberapa orang yang dapat bekerja sama untuk memenuhi dan menyelesaikan sebuah tugas dengan maksimal. TSP menuntut pembentukan team untuk suatu proses perencanaan dalam peluncuran sebuah sistem. Dalam peluncuran suatu proses semua anggota team dapat mengembangkan strategi, proses dan rencana untuk kesuksesan proyek yang mereka jalankan.

Peluncuran pertama dilakukan dengan memenuhi permintaan pelanggan, tapi evaluasi tetap dilakukan dengan tujuan agar sistem yang diciptakan atau dibuat dapat digunakan secara maksimal. Pengembangan sistem selanjutnya dilakukan setelah mendapat evaluasi dari peluncuran pertama. Dibutuhkan waktu beberapa bulan untuk meluncurkan sistem yang telah direvisi karena anggota team akan melakukan pengembangan sesuai dengan hasil revisi.


1. Launch
• Hasilnya berupa hasil tinjauan 
• Menguraikan isi dan struktur TSP
• Menugaskan anggota tim sesuai dengan perannya 
• Menguraikan kebutuhan pelanggan
• Menetapkan Tim dan individu goals


2. Strategy
• Menciptakan suatu desain konseptual produk
• Menentukan strategi pengembangan 
• Memutuskan apa yang akan dikerjakan pada setiap siklus 
• Ukuran awal buatan dan perkiraan usaha
• Menetapkan suatu bentuk rencana manajemen 
• Reuse plan
• Manajemen Resiko 

3. Plan
• Memperkirakan ukuran dari setiap proses 
• Mengidentifikasi tugas yang dilakukan 
• Memperkirakan waktu mulai dan akhir proses 
• Menentukan tugas masing-masing tim 
• Membuat suatu jadwal mingguan untuk penyelesaian tugas 
• Membuat suatu quality plan 

4. Requirements
• Menganalisa kebutuhan dari hasil interview customer
• Menetapkan kebutuhan customer
• Memeriksa kebutuhan customer
• Mengembangkan suatu rencana test sistem 

5. Design
• Menciptakan suatu high level design
• Menetapkan desain 
• Memeriksa desain 
• Mengembangkan suatu rencana tes integrasi desain 

6. Implementasi
• Menggunakan PSP untuk menerapkan modules/units 
• Membuat perancangan modules/units secara terperinci 
• Meninjau ulang disain 
• Menterjemahkan disain ke dalam suatu kode
• Meninjau ulang kode 
• Menyusun dan menguji modules/units 
• Meneliti mutu dan kualitas modules/units 

7. Test
• Membangun dan mengintegrasikan sistem 
• Melakukan suatu test sistem 
• Dokumentasi setiap proses yang dihasilkan 

8. Postmortem
• Melakukan suatu postmortem analisa 
• Membuat laporan siklus 
• Mengeluarkan hasil dan evaluasi Tim 

Seluruh anggota team mengambil bagian dari setiap proses TSP dimana setiap anggota team bekerja sesuai dengan bagian masing-masing. Proses lauching yang dilakukan akan dicatat sesuai dengan kegiatan yang dilakukan, dimana gambarnya dapat dilihat pada gambar dibawah ini. Catatan yang dibuat akan menjadi bahan evaluasi untuk bahan perbaikan launching berikutnya. 

Contoh penerapan TSP


Pengguna TSP
1. Teradyne dengan software LOC program
2. Hill Air Force Base 
3. Boeing, Penjadwalan dan pengujian waktu terbang
Referensi :
http://www.sei.cmu.edu/tsp/
http://www.sei.cmu.edu/pub/documents/00.reports/pdf/00tr023.pdf
http://www.slideshare.net