• Tidak ada hasil yang ditemukan

Publication Repository MMT team RPL

N/A
N/A
Protected

Academic year: 2018

Membagikan "Publication Repository MMT team RPL"

Copied!
8
0
0

Teks penuh

(1)

1

PERANAN TEAM SOFTWARE PROCESS PADA REKAYASA PERANGKAT LUNAK

Oleh: Suhatati Tjandra

tati@stts.edu

Dosen Teknik Informatika dan Komputer Sekolah Tinggi Teknik Surabaya

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:

(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)

2. Metode/Proses

2.1 Menentukan tim

Untuk membuat sistem, tim harus dibentuk dulu, kemudian menentukan tujuan yang ingin dicapai. TSPi mempunyai tiga tujuan dasar:

1. Menghasilkan produk yang berkualitas

2. Mengerjakan proyek yang diatur dengan baik dan produktif 3. Menyelesaikan proyek tepat pada waktunya

Selain tiga tujuan dasar tersebut, tujuan standar TSPi yang hendaknya dimiliki oleh anggota tim, adalah sebagai berikut:

1. Menjadi anggota tim yang kooperatif dan efektif 2. Melaksanakan disiplin kerja secara konsisten

3. Merencanakan dan melaksanakan tugas yang menjadi bagiannya 4. Menghasilkan produk yang berkualitas

Dalam mengerjakan suatu proyek, tim mempunyai catatan proyek dan alat bantu TSPi. Catatan merupakan informasi utama dari suatu proyek. Apa yang harus dikerjakan, apa yang sudah dikerjakan, bagaimana kinerja yang telah dicapai, dan sebagainya. TSPi mempunyai alat bantu yang membantu tim dalam merencanakan suatu pekerjaan, mengolah data, dan menelusuri pekerjaan yang telah dilakukan.

2.2 Menyusun strategi

Strategi adalah cara yang digunakan untuk menyelesaikan suatu masalah guna mencapai tujuan yang telah ditetapkan. Yang perlu dilakukan dalam menyusun strategi adalah:

1. Mendefinisikan kriteria strategi 2. Membuat strategi alternatif

3. Mengetahui keuntungan dan resiko strategi alternatif

4. Membuat perbandingan antar strategi alternatif satu dengan yang lainnya 5. Membuat keputusan yang strategis

6. Mendokumentasikan strategi yang digunakan

Strategi disusun dengan maksud untuk mengurangi resiko timbulnya permasalahan dalam pengerjaan proyek. Resiko ini dapat berupa:

 Tidak dapat terdesainnya sebuah fungsi atau lebih

 Produk yang dihasilkan tidak sempurna sehingga waktu uji cobapun menjadi lama  Produk beserta perubahannya tidak dapat lagi diawasi sehingga waktu yang digunakan

untuk merekayasanya menjadi sia-sia  Tim tidak dapat bekerja dengan efektif

2.3 Menyusun rencana

Kompleksitas rencana tergantung dari kompleksitas proyek yang dikerjakan. Ada beberapa alasan yang menyebabkan suatu rencana perlu untuk dibuat, yaitu:

 Supaya masing-masing anggota dapat bekerja secara efektif

(4)

2.4 Mendefinisikan kebutuhan

Pada fase ini, tim membuat atau mendefinisikan spesifikasi kebutuhan sistem (software requirement specification/SRS). SRS harus mencakup deskripsi yang jelas dan tidak mempunyai arti ganda dari suatu produk yang akan dibuat, serta terdiri dari kriteria awal untuk mengevaluasi produk akhir sehingga tahu langkah apa yang harus ditempuh. SRS juga memberikan feedback pada customer.

Adapun langkah-langkah dasar yang dilakukan untuk menentukan kebutuhan sistem adalah sebagai berikut:

1. memperkirakan kemungkinan sistem 2. memahami pokok permasalahan organisasi 3. mengidentifikasi sistem stakeholder

4. mencatat sumber kebutuhan

5. mendefinisikan bisnis apa yang dilakukan 6. mendefinisikan batas sistem

7. mencatat dasar pemikiran kebutuhan

8. mendefinisikan kebutuhan yang tidak dipahami 9. mendefinisikan proses operasional

Prinsip dasar dalam membuat spesifikasi kebutuhan sistem adalah mencakup hal-hal sebagai berikut:

1. Functional Requirement: input, output, perhitungan dan keadaan yang bagaiman yang digunakan.

2. External Interface Requirement: user, hardware, software, dan komunikasi 3. Batas Design: format file, bahasa pemrograman yang digunakan, standar

sistem, kompatibilitas.

4. Atribut: tersedianya produk yang diinginkan customer, keamanan sistem, perawatan sistem.

5. Requirement lain: database dan instalasi.

2.5 Desain pada tim

Tahap desain ini difokuskan pada struktur sistem secara keseluruhan. Hasil dari tahap ini disebut software design specification (SDS) yang meliputi:

 Prinsip-prinsip desain

Desain adalah proses kreatif dalam memutuskan bagaimana cara produk dibuat.  Desain pada tim

Desain pada tim memerlukan waktu yang lebih banyak. Hal ini diakibatkan desain yang dibuat harus dimengerti oleh semua anggota tim, karena dengan desain inilah masing-masing anggota nantinya akan bekerja untuk mengerjakan bagian yang sudah menjadi tanggung jawabnya.

 Standar desain

Ada beberapa macam tipe standar desain antara lain: o Persetujuan nama

Menetapkan nama-nama yang digunakan dalam sistem sehingga masing-masing anggota tim mempunyai kesamaan dalam hal penamaan seperti nama file, variable, parameter, dan lain sebagainya.

(5)

Mendefinisikan isi dan format interface. Termasuk pendefinisian parameter yang digunakan untuk variable, kode error, maupun kondisi lainnya.

o Sistem dan pesan kesalahan

Menentukan format dan prosedur standar untuk sistem dan pesan kesalahan. Sistem yang baik mempunyai tampilan yang konsisten dan mudah dimengerti. o Perhitungan LOC

Standar LOC dihitung sebelum desain dimulai apabila tim ingin menggunakan penomeran yang berbeda, karena LOC ini biasanya dihitung pada saat tahap implementasi.

o Standar representasi desain

Standar representasi desain ini mendefinisikan produk hasil tahap desain. Hal ini perlu untuk mencegah representasi desain yang mempunyai arti ganda sehingga mengganggu jalannya proses implementasi dan uji coba.

 Desain untuk reuse

Reuse menggunakan sebagian desain tahap sebelumnya untuk menjadi pengerjaan tahap tertentu. Beberapa desain yang dapat direuse:

o Interface o Dokumentasi o Kualitas

o Aplikasi pendukung  Desain untuk usability

Usability adalah pokok bahasan yang luas mengenai suatu produk yang menjamin seluruh produk dan bagiannya. Pokok bahasan ini dibahas selama proses desain yaitu mengenai sistem yang akan dibuat terutama fungsi-fungsi yang terdapat di dalamnya.  Desain untuk uji coba

Uji coba bagian luar program maksudnya bagaimana program tersebut digunakan oleh customer dan pemenuhan kebutuhan sistem customer. Selain itu juga dilakukan uji coba untuk memeriksa bagian logika dan struktur program.

 Memeriksa dan mereview desain

Untuk melakukan pemeriksaan yang efektif, desain harus didokumentasikan dengan baik. Setiap elemen desain diperiksa apakah sudah berjalan sebagaimana seharusnya.

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.

(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.

2.7 Uji Coba

Tujuan melakukan proses uji coba adalah untuk memastikan bahwa semua bagian yang dibutuhkan sudah terwakili untuk membentuk sebuah sistem kerja, dan menyediakan sistem ini untuk diuji coba dan diintegrasi. Proses uji coba ini sangat penting untuk mengetahui terpenuhinya atau tidak requirement. Beberapa hal yang harus dilakukan pada proses uji coba:

 Mengidentifikasi modul atau komponen yang mempunyai kualitas rendah dan mengembalikannya kepada quality/proses manajer untuk dikoreksi.

 Mengidentifikasi modul atau komponen yang masing-masing mempunyai kualitas yang rendah setelah mengalami perbaikan kemudian mengembalikannya kepada quality/proses manager untuk dikerjakan kembali atau diganti dengan modul baru.

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

(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

(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.

Gambar

Tabel 1 Peranan Individu dalam Tim

Referensi

Dokumen terkait

Pada kasus desain Apartemen dengan pusat perbelanjaan ini, konsep desain perancangan yang hendak diimplementasikan pada properti yaitu bangunan hunian apartemen yang

[r]

Segala rasa syukur penulis panjatkan kepada Tuhan Yesus Kristus yang tiada henti memberikan berkat-Nya dalam proses penyelesaian karya penelitian ini kepada penulis, sehingga

melaksanakan proses pembelajaran memiliki skor rata-rata 111,87 dan tergolong dalam kategori sangat baik, (2) kinerja guru sesudah bersertifikasi dalam melaksanakan

Reply Yudho Setyo January 6, 2014 at 3:07 PM Halo Fasdheva, You’re welcome.. Semoga bermanfaat. Monggo gan, langsung aja  Reply 19. 

ABSTRAK : Pengembangan Lembar Kerja Siswa Matematika Berbasis Belajar Mandiri Kelas V Di SD Negeri Kecamatan Adiluwih Kabupaten Pringsewu.Tujuan penelitian ini

Oleh karena itu hubungan kerjasama dapat berjalan hingga saat ini dan menyebabkan kemudahan dalam pengembangan kerjasama.Selama tiga periode, kerjasama sister city

Modal kerja dan rasio leverage mempunyai peranan penting dalam pembentukan rentabilitas, karena dengan adanya pengelolaan modal kerja yang efektif dan manajemen hutang yang baik