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
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.
Ketua Tim Programmer (Chief Programmer Team).
Struktur Chief Programmer Team dapat dilihat pada gambar
5.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
• Bertanggungjawab 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 bertanggungjawab 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) :
• 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.
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 5.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 5.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 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
Tidak ada komentar:
Posting Komentar