Rabu, 05 Desember 2018

Struktur Team yang Digunakan Untuk Mengorganisasikan Para Programmer



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