Posted by : Nurulaprn
Jumat, 03 Januari 2020
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.
Sebut dan jelaskan struktur team yang
digunakan untuk mengorganisasikan para programmer, sebutkan juga tugas
masing-masing anggota team.
Jawab:
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 :