Cara seorang programmer dalam menangani pekerjaan
mereka sangat berpengaruh pada kualitas software yang mereka buat
alternatifnya, para programmer bisa diorganisasikan sebagai satu kesatuan tim. Mereka
bekerja untuk periode waktu tertentu untuk menyelesaikan suatu proyek. dimana
keputusannya dibicarakan diantara anggotanya. Hal ini sangat bermanfaat bila
proyek yang ditangani sangat komplek dan tidak jelas.
Proses pengembangan,
penerapan,dan implementasi dari software, untuk saat ini banyak dilakukan
secara team. Dari segi audit, perhatian/tujuan utamanya adalah bahwa manajemen
telah memilih struktur team dengan hati-hati dilihat dari segi proyek, tingkat
kompleksitasnya, dan tingkat keterlambatan dari jadwal proyek agar kemampuan dan
kualitas mereka bisa diorganisasikan dalam bentuk team dimana mereka harus bekerja.
Untuk itu ada 3 struktur team yang digunakan untuk mengorganisasikan
para programmer:
1. Chief Programmer Teams
Chief programmer teams atau bisa disebut Ketua Tim Programmer memiliki
struktur organisasi yang dapat dilihat pada gambar 1.
Gambar 1 Struktur Organisasi Chief Programmers Team
Berikut ini adalah tabel untuk ciri-ciri dan fungsi dari setiap bagian
ketua tim programmer diatas.
Tabel 1 Fungsi dan Ciri Ketua tim programmer
Ciri-Ciri
|
Fungsi
|
Chief Programmer
|
1. Bertanggung jawab secara total/penuh untuk sistem dimana team
bekerja
2. Harus seorang ahli
3. Seorang programmer yang sangat produktif
4. Bertanggungjawab dalam mendesain, coding, dan mengintegrasikan
bagian yangkritis dalam sistem
5. Memberikan perintah kerja pada bagian back-up dan support
programmers.
|
Back-up Programmers
|
1. Seorang programmer senior yang bertanggungjawabdalam memberikan dukungan
penuh pada chief programmer
2. Harus bisa mengambil alih tugas chief programmer setiap saat
|
Support Programmers
|
1. Diperlukan pada saat proyek besar yang tidak bisa dikerjakan oleh
chief programmer dan back-up programmer saja.
2. Menyediakan dukungan
3. Bekerja dalam pembuatan coding dan uji coba modul tingkat rendah (
testing lowerlevel)
|
Librarian (penyedia data)
|
1. Bertanggungjawab dalam perawatan program production library.
2. Menyediakan input dan mengumpulkan keluaran untuk para programmer,
file output dari hasil kompilasi dan ujicoba, mempertahankan agar source code
dan object-code library tetap up to date.
|
2. Adaptives Teams
Adaptive Teams atau bisa disebut dengan Penyesuaian Tim. Struktur ini diperuntukan
untuk melayani 2 kebutuhan, yaitu:
1. Keinginan organisasi untuk meningkatkan kualitas program
2. Memenuhi kebutuhan sosial/ psikologi dari setiap anggota programmer
dalam team.
Gambar 2 Struktur organisasi adaptive team
Perbedaan dari struktur ini dengan struktur sebelumnya adalah:
1. Adaptive team tidak punya tigkat otoritas, dimana kepemimpinan dalam
team ada di tangan para anggota.
2. Dalam Adaptive team, tugas diberikan pada anggota dari team daripada
ditentukan lewat posisi.
3. Adaptive team tidak mempunyai aturan formal librarian (penyedia data)
dalam mengkoordinasikan fungsi team.
3. Controlled-Decentralized Teams
Struktur ini mempunyai junior programmer yang akan melaporkan hasil
program pada senior programmer, kemudian oleh senior programmer dilaporkan juga
pada ketua proyek.
Tabel 2 Keuntungan & Kerugian Controlled-Decentralized Teams
Keuntungan
|
dapat memecahkan masalah
yang kompleks, dimana struktur dari grup ini akan memfasillitasi pemecahan
masalah.
|
Kerugian
|
strukur ini tidak bisa
bekerja dengan baik apabila tugas dari programmer tersebut tidak bisa di
bagi-bagi, dan dengan waktu deadline yang sangat ketat.
|
Berikut ini adalah struktur organisasi dari Controlled-Decentralized
Teams.
Gambar 3 Struktur organisasi Controlled-Decentralized Teams
Pengelolaan Kelompok Sistem
Programming
Para programmer sering
diklasifikasikan menurut aplikasi programmer atau sistem programmer. Dahulu,
programmer membangun dan merawat program untuk system aplikasinya. Tetapi kini,
membangun dan merawat sistem software. Seperti sistem operasi, sistem manajemen
database, dan komunikasi software.
Mengontrol Masalah
Mengontrol sistem programmer adalah tugas yang berat, mereka biasanya
memiliki keahlian yang tinggi dan sering bekerja sendiri atau ada di dalam grup
yang kecil. Dengan menerapkan kontrol secara tradisional pada aktivitas mereka
seperti pemisahan tugas, sangatlah sulit. Mereka biasanya bekerja pada situasi
yang kritis.
Mengukur Sistem Kontrol
Meskipun sulit unuk mengontrol sistem programmer, beberapa hal ini dapat
di implementasikan untuk mengontrolnya:
1. Pekerjakan staf sistem programming yang mempunyai kualitas yang
tinggi.
2. Pisahkan tugas seluas mungkin, contohnya tanggung jawab untuk desain
dan coding sistem program dipisah dari tanggung jawab untuk uji coba program.
3. Buat metode dokumen standar
4. Batasi wewenang sistem programmer, jadi seorang programmer hanya
bekerja sesuai dengan aplikasi yang dikuasainya.
5. Jauhkan prosedur petunjuk manual dan kunci mesin dari aktivitas sistem
programmer. Hal ini dimaksudkan agar aktivitas yang tidak diinginkan / sesuai
dengan tugasnya tidak terjadi.
6. Pekerjakan konsulan dari luar untuk mengevaluasi pekerjaan
programming.
7. Perintahkan programmer aplikasi untuk mengevaluasi pekerjaan sistem
programmer secara berkala agar dapat dihasilkan program yang berkualitas.
Sumber :
http://liapsa.staff.gunadarma.ac.id/Downloads/folder/0.5