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

Tidak ada komentar:

Posting Komentar