Cara seorang programmer dalam menangani pekerjaan mereka
sangat berpengaruh pada kualitas software yang mereka buat. Alternatifnya, para
programmer bisa diorganisasikan sebagai satu kesatuan team. Mereka bekerja
untuk periode waktu tertentu untuk menyelesaikan suatu projek. Sebutkan dan
jelaskan struktur team yang digunakan untuk mengorganisasikan para programmer,
sebutkan juga tugas masing masing anggota team.
Jawab :
3 struktur team yang digunakan untuk mengorganisasikan pada
programmer :
1 Chief programmer team, struktur chief programmer
dapat dilihat dapat dilihat pada gambar dibawah ini:
Fungsi dan Cirinya :
Chief Programmer :
•
Bertanggung jawab secara total/penuh untuk sistem dimana team bekerja
• Harus
seorang ahli
• Seorang
programmer yang sangat produktif
•
Bertanggungjawab dalam mendesain, coding, dan mengintegrasikan bagian yang
kritis dalam
sistem
• Memberikan
perintah kerja pada bagian back-up dan support programmers.
Back-up
Programmers :
• Seorang
programmer senior yang bertanggungjawab dalam memberikan dukungan
penuh pada
chief programmer
• Harus bisa
mengambil alih tugas chief programmer setiap saat
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)
Librarian
(penyedia data) :
•
Bertanggungjawab 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.
2. Adaptives
team, struktur adaptives team dapat dilihat pada gambar dibawah ini :
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. Controlled-Decentralized
Teams, struktur team ini dapat dilihat pada gambar dibawah ini:
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.
Keuntungannya
: 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.
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.