Struktur Team untuk Mengorganisasikan para Programmer
Cara seorang programmer
dalam menangani pekerjaan mereka sangat berpengaruh pada kualitas software yang
mereka buat. Alternatifmya, para programmer bisa diorganisasikan sebagai
kesatuan team. 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 atau 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.
Berikut adalah struktur
team yang digunakan untuk mengorganisasikan para programmer beserta dengan
tugas dari masing – masing anggota team.
Untuk itu ada 3
struktur team yang digunakan untuk mengorganisasikan para programmer:
1. Chief Programmer
Teams
2. Adaptives Teams dan
3.
Controlled-Decentralized Teams
1.
Ketua
Tim Programmer (Chief Programmer Team).
Struktur Chief
Programmer Team dapat dilihat pada gambar 6.
Fungsi dan Cirinya
:
a.
Chief
Programmer :
- Bertanggung jawab secara total/penuh untuk sistem dimana team bekerja
- Harus seorang ahli
- Seorang programmer yang sangat produktif
- Bertanggung jawab dalam mendesain, coding, dan mengintegrasikan bagian yang kritis dalam sistem
- Memberikan perintah kerja pada bagian back-up dan support programmers.
b.
Back-up
Programmers :
- Seorang programmer senior yang bertanggung jawab dalam memberikan dukungan penuh pada chief programmer
- Harus bisa mengambil alih tugas chief programmer setiap saat
c.
Support
Programmers:
- Diperlukan pada saat proyek besar yang tidak bisa dikerjakan oleh chief programmer dan back-up programmer saja.
- Menyediakan dukungan
- Bekerja dalam pembuatan coding dan uji coba modul tingkat rendah ( testing lowerlevel)
d.
Librarian
(penyedia data) :
- Bertanggung jawab dalam perawatan program production library.
- 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.
Sruktur “
The Chief Programmer team “ ini di
desain untuk mengurangi kebutuhan proses informasi
antara anggota team dan untuk meningkatkan kapasitas dari proses informasi.
2.
Penyesuaian
Tim (Adaptives Teams)
Struktur Adaptives
Teams dapat dilihat pada gambar 7.
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.
Perbedaan dari struktur
ini dengan struktur sebelumnya adalah:
- Adaptive team tidak punya tigkat otoritas, dimana kepemimpinan dalam team ada di tangan para anggota.
- Dalam Adaptive team, tugas diberikan pada anggota dari team daripada ditentukan lewat posisi.
- Adaptive team tidak mempunyai aturan formal librarian (penyedia data) dalam mengkoordinasikan fungsi team.
3.
Desentraliasi
Pengendalian Tim (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.
Dengan struktur ini, manfaat/keuntungan dari struktur
sebelumnya akan didapatkan.
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. Struktur Controlled-Decentralized Teams
dapat dilihat pada gambar 8.
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 merekaseperti 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:
- Pekerjakan staf sistem programming yang mempunyai kualitas yang tinggi.
- Pisahkan tugas seluas mungkin, contohnya tanggung jawab untuk desain dan coding sistem program dipisah dari tanggung jawab untuk uji coba program.
- Buat metode dokumen standar.
- Batasi wewenang sistem programmer, jadi seorang programmer hanya bekerja sesuai dengan aplikasi yang dikuasainya.
- Jauhkan prosedur petunjuk manual dan kunci mesin dari aktivitas sistem programmer. Hal ini dimaksudkan agar aktivitas yang tidak diinginkan / sesuai dengan tugasnya tidak terjadi.
- Pekerjakan konsulan dari luar untuk mengevaluasi pekerjaan programming.
- Perintahkan programmer aplikasi untuk mengevaluasi pekerjaan sistem programmer secara berkala agar dapat dihasilkan program yang berkualitas.
Tidak ada komentar:
Posting Komentar