Abstrak
Semakin berkembangnya dunia industrialisasi semakin tinggi pula permintaan
perangkat lunak yang digunakan untuk mendukung bidang industri tersebut. Ada kalanya
seseorang mampu melakukan pengembangan perangkat lunak yang telah dibuatnya secara
personal dengan membutuhkan waktu dan biaya yang tidak efisien jika dibanding dengan
kemajuan industri yang sedang berlangsung.
Untuk mengefektifkan biaya dan waktu serta meminimisasi kegagalan yang
mungkin terjadi, sangat disarankan agar perangkat lunak yang digunakan oleh suatu
industri besar, dikerjakan oleh suatu tim.
Dengan adanya tim yang terdiri dari berbagai orang, diharapkan dapat saling
melengkapi satu sama lain sehingga perangkat lunak yang dihasilkan benar-benar dapat
diterapkan secara efektif dan ikut memberikan keuntungan pada bidang industri yang
didukungnya.
1. Pendahuluan
Team Software Process merupakan proses yang dilakukan oleh tim yang berskala
besar dengan anggota minimal dua puluh orang, dimana tim tersebut terlibat dalam
rekayasa perangkat lunak yang besar dan sangat kompleks serta membutuhkan waktu
hingga dalam hitungan tahun. Karena tidak semua perangkat lunak berskala besar, maka
digunakan istilah Team Software Process (TSPi). TSPi didefinisikan sebagai kerangka
kerja yang harus dilakukan oleh tim rekayasa perangkat lunak.
TSPi mempunyai tujuh prinsip untuk mengambil keputusan dalam suatu proses:
1. Menyediakan kerangka kerja sederhana yang berdasarkan personal software
process.
2. Membagi produk menjadi beberapa rangkaian kejadian.
3. Menetapkan nilai standar untuk kualitas dan pembuatan produk.
4. Menyediakan langkah yang tepat untuk tim.
5. Menerapkan peranan masing-masing anggota dan menyediakan tim evaluasi.
6. Membutuhkan disiplin untuk melakukan suatu proses.
7. Menyediakan pedoman untuk membantu menyelesaikan suatu masalah yang
dihadapi oleh tim.
Dalam merekayasa perangkat lunak, disusun langkah-langkah yang terstruktur
semaksimal mungkin, sehingga apa bila masih terjadi kegagalan maka penyebabnya bukan
masalah teknis tetapi masalah tersebut berasal dari individunya.
Masalah-masalah yang biasa dihadapi oleh suatu tim dalam merekayasa perangkat
lunak, antara lain:
Kepemimpinan yang tidak efektif
1
2
Tanpa kepemimpinan yang efektif, tim akan mengalami kesulitan mengatasi rencana
dan disiplin dari masing-masing anggota tim.
Kegagalan berkompromi atau berkooperasi
Tidak semua anggota tim mampu bekerja sama dalam tim dengan baik.
Kurangnya partisipasi
Seberapa besar partisipasi seseorang terhadap tim tergantung pada besar kecilnya tim
dimana individu tersebut menjadi anggotanya, semakin besar tim biasanya semakin
besar pula partisipasi yang diberikan. Jika salah satu dari anggota tim kurang berusaha
untuk mewujudkan tujuan yang hendak dicapai, maka akan mempengaruhi kerja tim.
Kurang dan berkurangnya kepercayaan
Tim yang tidak mempunyai tujuan membuat waktu untuk memulai mengerjakan
proyek, akan menyebabkan proyek menjadi tertunda-tunda dan tidak cepat selesai.
Masalah tersebut timbul karena tiga hal berikut ini:
o Tidak adanya pengalaman dalam bidang kepemimpinan
o Kurang jelasnya tujuan dari proyek yang akan dikerjakan
o Kurang jelasnya proses dan rencana yang akan dilakukan
Kualitas yang kurang
Masalah kualitas berasal dari berbagai hal, misalnya requirements yang kurang jelas,
dokumentasi desain yang kurang, implementasi yang tidak teliti.
Berjalannya fungsi secara perlahan-lahan
Selama desain dan implementasi produk, seseorang akan menemukan berbagai cara
untuk mengembangkan produk tersebut. Modifikasi yang dilakukan dengan sungguh-
sungguh ini sulit untuk diawasi karena para perekayasa tersebut melakukan modifikasi
pada produk dengan berdasarkan rasa ingin memperoleh hasil akhir yang benar-benar
bagus. Menjadi sulit diawasi, karena tidak ada perbedaan yang jelas antara fungsi yang
diharapkan pada saat requirement dengan fungsi tambahan yang diberikan.
Evaluasi pembanding yang tidak efektif
Evaluasi pembanding kadang menimbulkan persaingan antara masing-masing anggota
dan mengurangi rasa kerjasama yang ingin diciptakan, karena dalam evaluasi
pembanding ini, masing-masing anggota saling memberikan penilaian, kemudian
membandingkannya satu dengan yang lain
Tim terdiri dari sedikitnya dua orang, yang bekerja berdasarkan tujuan bersama
dimana masing-masing anggota tim mempunyai peranan atau fungsi yang harus
dilaksanakan dan untuk menyelesaikan tugas tersebut dibutuhkan ketergantungan antar
anggotanya.
Untuk membentuk suatu tim, dibutuhkan waktu. Biasanya tim dimulai dari seorang
yang mempunyai sebuah tujuan, kemudian membahasnya bersama dengan beberapa orang,
lalu menjadikannya tujuan bersama. Dengan demikian terbentuklah tim.
Tim yang efektif dihasilkan dari penggabungan tujuan semua anggotanya di mana
masing-masing individu harus berpartisipasi dan memberikan kontribusi. Terdapat tiga
elemen yang dapat menjadikan suatu tim efektif:
1. komunikasi
2. komitmen
3. partisipasi dalam kegiatan tim
3
2. Metode/Proses
2.6 Implementasi
Hal-hal yang perlu diperhatikan dalam menentukan standar implementasi menurut
TSPi adalah:
Standar hasil review
Standar tidak perlu sempurna pada awalnya, cukup standar dasar yang dapat
dikembangkan setelah digunakan untuk mengerjakan produk.
Penamaan, interface dan standar pesan
Penamaan perlu distandarkan untuk keseragaman hasil produk sistem. Nama harus
konsisten untuk mempermudah kerja tim dan proses uji coba serta penelusuran bila
terjadi masalah. Interface dan pesan juga perlu diberi standar supaya dapat digunakan
bersama oleh anggota tim.
Standar coding
6
Coding sangat membutuhkan konsistensi dari tim sehingga perlu dibuatkan standarnya
untuk mempermudah pemeriksaan jika didapati masalah atau tidak, mempercepat
proses coding dan menjadikannya lebih efektif, hal ini disediakan oleh komentar-
komentar yang dibuat pada saat pengkodean.
Standar ukuran
Ukuran ini ditentukan oleh angka LOC. Standar ukuran tidak wajib ditentukan. Standar
ukuran biasanya ditentukan bila data-data yang dipunyai digunakan pada produk
berikutnya.
Standar kerusakan
Standar tipe kerusakan dapat digunakan kemudian menambahkan uji coba terhadap
material untuk mengetahui kerusakan yang terjadi pada produk.
Pencegahan terhadap kerusakan
Tindakan pencegahan terhadap kerusakan dapat diawali dengan mempelajari lagi
bahasa pemrograman yang akan digunakan, mempelajari kebutuhan sistem,
memastikan proses yang akan dikerjakan, menggunakan alat bantu yang lebih baik,
melakukan koreksi dan menggunakan metode yang lebih baik.
Tabel 1
Peranan Individu dalam Tim
Peranan Prinsip Kerja
Team Leader 1. Memotivasi anggota tim untuk mengerjakan tugasnya
2. Melaksanakan pertemuan tim
3. Melaporkan perkembangan mingguan
4. Membantu tim menentukan hal yang harus dikerjakan
5. Bertindak sebagai fasilitator dan penjaga waktu pada rapat
tim
6. Bertanggung jawab atas pencatatan proyek
7. Bersama anggota tim membuat laporan kegiatan masing-
masing cycle
8. Bertindak sebagai anggota tim.
Development Manager 1. Memimpin tim membuat strategi pengerjaan proyek
2. Memimpin tim membuat perkiraan awal tentang waktu dan
ukuran produk
7
3. Memimpin pembuatan SRS
4. Memimpin tim membuat high level design
5. Memimpin tim membuat software design specification
6. Memimpin tim membuat implementasi produk
7. Memimpin tim membuat sistem, mengintegrasi, dan
rencana uji coba sistem
8. Memimpin tim membuat materi uji coba dan
melaksanakan uji coba
9. Memimpin tim membuat dokumentasi produk untuk user
10. Berpartisipasi dalam pembuatan laporan kerja
11. Bertindak sebagai anggota tim
Planning Manager 1. Memimpin tim untuk menghasilkan rencana kerja untuk
cycle berikutnya
2. Memimpin tim untuk menghasilkan jadwal untuk cycle
berikutnya
3. Memimpin tim untuk membuat rencana yang seimbang
4. Menelusuri perkembangan tim terhadap rencana yang telah
dibuat
5. Berpartisipasi dalam pembuatan laporan kerja tiap cycle
6. Bertindak sebagai anggota tim
Process Manager 1. Memimpin tim untuk membuat rencana kualitas
2. Memberitahu team leader dan instruktur jika terjadi maslah
3. Memimpin tim dalam mendefinisikan dan
mendokumentasikan proses dan melaksanakan proses
improvement
4. Menentukan dan melaksanakan standar pembuatan produk
5. Mereview dan menyetujui produk sebelum dimasukkan
configuration control board (CCB)
6. Bertindak sebagai moderator inspeksi
7. Bertindak sebagai notulen dalam rapat tim
8. Berpartisipasi dalam pembuatan laporan kerja tiap cycle
9. Bertindak sebagai anggota tim
Support Manager 1. Memimpin tim menentukan fasilitas dan alat bantu apa
yang dibutuhkan
2. Mengepalai CCB dan mengatur kontrol perubahan sistem
3. Mengatur sistem konfigurasi manajemen
4. Mengatur daftar istilah sistem
5. Mengatur penelusuran resiko dan masalah sistem
6. Bertindak sebagai penasihat reuse tim
7. Berpartisipasi dalam pembuatan laporan kerja tiap cycle
8. Bertindak sebagai anggota tim
3. Kesimpulan
Untuk menjadi anggota tim, seorang individu harus membuat dirinya layak untuk
bekerja dalam tim. Sebelum menjadi bagian dari tim, setiap individu diharapkan memiliki:
8
Tanggung jawab
Mau bekerja keras untuk mencapai tujuan
Mempunyai prinsip hidup
Orang yang bekerja dalam tim tentunya mempunyai tugas dan peran yang berbeda.
Hal ini bertujuan untuk mengatur tim sedemikian rupa sehingga tidak ada tugas yang
saling tumpang tindih dan masing-masing anggota mempunyai tanggung jawab terhadap
tugas yang dimilikinya.
4. Daftar Pustaka
1. Fairley, Rchard E., 1997, Software Engineering Concepts, McGraw Hill Book Co,
singapore
2. Humphrey, Watts S., 1998, Introduction to The Team Software Process (TSP)SM,
Prentice Hall.
3. Pressman, Roger S., 1999, Software Engineering A Practitioner’s Approach,
McGraw Hill.
4. Pressman, Roger S., 1998, A Manager’s Guide to Software Engineering, McGraw
Hill.