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 :
