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.
II. 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
III.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.
Gambar TSP Team Building
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.
Gambar TSP Process Flow
Gambar TSP Process Flow(2)
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.
IV. STUDI KASUS APLIKASI RENTAL CD
4.1 Deskripsi Umum Perangkat Lunak
Perangkat lunak ini dibuat dengan tujuan untuk mempermudah operator rental CD dalam mendata CD yang ada serta mendata para pelanggan rental CD.
4.2 Fungsi - fungsi perangkat lunak
1. Login setiap operator
2. Mencatat data CD dan mengatur data CD
3. Mencatat data pelanggan
4. Mencari data CD atau pelanggan
5. Menghitung persediaan CD
6. Menghitung biaya peminjaman serta dendanya.
4.3 USE CASE
4.4 Penerapan Metoda Team Software Process
1. Proyek dan Sasaran
Menentukan para anggota team pengembang dan pengguna Software Rental CD.
Team : Arsitek/perancang sistem
Pengguna : Operator rental CD
Kebutuhan sistem yang diinginkan oleh rental CD :
• Operator akan login dengan masing-masing usernamenya.
• Operator mencatat data CD dan mengatur data CD.
• Mencatat data pelanggan.
• Mencari data CD dan data pelanggan.
• Menghitung persediaan CD
• Menghitung biaya peminjaman serta dendanya.
2. Peran dan tujuan team
• Team Analisa : mencari informasi selengkap-lengkapnya pada pelanggan.
• Team Perancang : merancang system yang akan dibuat.
• Team Programmer : terdiri dari beberapa team yang dibagi menurut modul-modul perangkat lunak yang akan dibuat.
Modul Pendataan CD, Modul Pendataaan Pelanggan, Modul Peminjaman CD dan Modul Pencarian Data.
• Team Testing : tester atau team yang mencoba sistem yang telah dikerjakan team perancang. Selain itu team ini akan meluncurkan pada pemilik rental CD.
Tujuan team : Memaksimalkan kebutuhan pelanggan untuk memberikan kesempurnaan sistem yang diinginkan.
3. Strategi proyek dan pendukungnya.
• Produk yang dihasilkan yaitu suatu sistem untuk membantu dalam mengatur dan mendata data CD dan pelanggannya.
• Penentuan produk dan strategi.
4. Seluruh Plan.
• Memperkirakan ukuran proyek dan keseluruhan rencana.
5. Quality Plan
• Mengembangkan quality plan dari setiap proses pada setiap modulnya.
6. Balanced Plan.
• Alokasi pekerjaan oleh anggota team.
• Fase yang seimbang untuk setiap team dan anggota team.
7. Analisa Resiko Proyek.
8. Peluncuran.
• Siapkan laporan peluncuran kepada manajemen.
9. Tinjauan ulang Manajemen.
• Meninjau kembali aktivitas peluncuran Software Rental CD dan perencanaan proyek kepada manajemen Rental tersebut.
• Mendiskusikan kembali resiko proyek Software ini, tanggung-jawab, dan rencana kegiatan yang telah dilaksanakan.
10. Peluncuran Postmortem.
• Meneliti kembali dari awal persiapan laporan mingguan.
• Menyusun data peluncuran dan membuat suatu laporan peluncuran.
• Masukkan hasil laporan kedalam buku catatan proyek.
V. TESTING BLACKBOX
Testing yang saya lakukan tidak pada semua menu. Saya melakukan testing pada menu pencarian data. Data yang bisa di cari yaitu data CD atau pelanggan.
1. Use Case Login
2. Use Case pendataan CD
3. Use Case Entry data CD
4. Use Case Rubah Data CD
5. Use Case Pencarian CD
VI. VALIDASI
Validasi dilakukan oleh pihak team untuk memberikan laporan kepada pihak customer agar sistem yang dikerjakan telah sesuai dan berjalan dengan baik. Proses validasi dilakukan setelah terjadi proses testing sebelumnya.
IX. PENGGUNA TSP
• Teradyne dengan software LOC program
• Hill Air Force Base dengan software Capability Maturity Model Integration (CMMISM) Level 5
• Boeing , penjadwalan dan penguji waktu