Team software process

Sejarah TSP

Pada tahun 1996, Watts Humphrey mengembangkan versi awal proses TSP. Tujuannya adalah untuk menyediakan proses operasional untuk membantu praktisi secara konsisten melakukan pekerjaan yang berkualitas. Humphrey merancang proses TSP0 awal sesederhana mungkin, mencobanya dengan dua tim, dan kemudian meninjau hasilnya untuk melihat bagaimana cara kerjanya. Humphrey kemudian mengidentifikasi di mana tim membutuhkan bimbingan lebih lanjut dan meningkatkan proses untuk memberikan bimbingan itu. Proses TSP0 pertama dirancang untuk tim terlatih PSP yang tidak menerima pelatihan atau bimbingan selain yang disediakan oleh proses TSP dan manajemen langsung dari tim.
Berdasarkan hasil dari dua tim TSP awal, jelas bahwa TSP membantu para praktisi untuk melakukan pekerjaan disiplin tetapi diperlukan lebih banyak panduan dan dukungan. Jelas juga bahwa manajemen harus secara luas mendukung Proses TSP. Proses TSP0.1 yang disempurnakan kemudian digunakan oleh tim tambahan, memberikan lebih banyak informasi tentang penyempurnaan proses yang dibutuhkan.
Selama tiga tahun berikutnya, Humphrey mengembangkan sembilan versi TSP lainnya. Pada awalnya, tujuannya adalah untuk melihat apakah tujuan umum team process dapat membantu tim teknik untuk melakukan pekerjaan mereka. Setelah jelas bahwa TSP memenuhi tujuan dasar ini, upaya pengembangan proses TSPnya diarahkan untuk menyederhanakan proses, mengurangi ukurannya, dan memberikan dukungan dan bimbingan yang diperlukan untuk menjadikan proses tersebut paling efisien dan berguna. Akibatnya, versi TSP terbaru jauh lebih kecil daripada versi TSP0.1 dan TSP0.2 yang dikembangkan pada akhir 1996 dan awal 1997.
Karena semakin banyak kelompok yang menggunakan Proses TSP, beberapa metode pengenalan telah dikembangkan untuk membantu praktisi dan manajer dalam membangun tim, mengikuti proses dengan lebih baik, dan secara berkala melakukan penilaian ulang dan perencanaan ulang proyek. Berbagai alat pendukung prototipe juga telah dikembangkan untuk menyederhanakan perencanaan praktisi, perekaman data, analisis data, dan kegiatan pelaporan proyek.

Proses TSP

TSP mendefinisikan kegiatan-kegiatan berikut dalam kerangka kerja TSP, antara lain peluncuran proyek (project launch), desain tingkat tinggi (high-level design), implementasi (implementation), integrasi dan pengujian (integration and test), dan postmortem. Seperti pada PSP (perhatikan bahwa istilahnya agak berbeda), kegiatan ini memungkinkan tim untuk merencanakan, merancang, dan membuat perangkat lunak secara disiplin sementara pada saat yang sama secara kuantitatif mengukur proses dan produk. Tahap postmortem menetapkan tahapan untuk perbaikan proses.
Sebelum praktisi dapat berpartisipasi dalam TSP, mereka diharuskan sudah mempelajari PSP, sehingga TSP dapat bekerja secara efektif. Pelatihan juga diperlukan untuk anggota tim lainnya, pemimpin tim dan manajemen. Siklus pengembangan perangkat lunak TSP dimulai dengan proses perencanaan yang disebut peluncuran, dipimpin oleh seorang pelatih yang telah dilatih secara khusus, dan bersertifikat atau provisional. Peluncuran ini dirancang untuk memulai proses pembangunan tim, dan selama waktu ini tim dan manajer menetapkan tujuan, menentukan peran tim, menilai risiko, memperkirakan upaya, mengalokasikan tugas, dan menghasilkan rencana tim. Selama fase eksekusi, pengembang melacak rencana dan realita dari upaya , jadwal, dan cacat dengan melakukan pertemuan secara teratur (biasanya setiap minggu) untuk melaporkan status dan merevisi rencana. Siklus pengembangan berakhir dengan posmortem untuk menilai kinerja, merevisi parameter perencanaan, dan menangkap pelajaran yang dipetik untuk perbaikan proses.
Peran pelatih (coach) berfokus pada mendukung tim dan individu-individu dalam tim sebagai ahli proses sambil independen terhadap tanggung jawab manajemen proyek langsung. Peran pemimpin tim berbeda dari peran pelatih dalam hal itu, pemimpin tim bertanggung jawab kepada manajemen untuk produk dan hasil proyek sedangkan pelatih bertanggung jawab untuk mengembangkan kinerja individu dan tim. TSP memanfaatkan beragam skrip, formulir, dan standar yang berfungsi untuk memandu anggota tim dalam pekerjaan mereka. "Script" mendefinisikan kegiatan proses spesifik (yaitu, peluncuran proyek, desain, implementasi, integrasi dan pengujian sistem, postmortem) dan fungsi kerja lainnya yang lebih rinci (misalnya, perencanaan pengembangan, pengembangan persyaratan, manajemen konfigurasi perangkat lunak, pengujian unit) yang merupakan bagian dari proses tim.
TSP mengakui bahwa tim perangkat lunak terbaik adalah tim yang diarahkan secara mandiri. Anggota tim menetapkan tujuan proyek, menyesuaikan proses untuk memenuhi kebutuhan mereka, mengontrol jadwal proyek, dan melalui pengukuran dan analisis metrik yang dikumpulkan, bekerja secara kontinu untuk meningkatkan kualitas tim pendekatan rekayasa perangkat lunak. Seperti PSP, TSP adalah pendekatan yang ketat untuk rekayasa perangkat lunak yang memberikan manfaat yang jelas dan terukur dalam produktivitas dan kualitas. Tim harus membuat komitmen penuh untuk proses dan harus menjalani pelatihan menyeluruh untuk memastikan bahwa pendekatan tersebut diterapkan dengan benar.