Konsep Manajemen Proyek Perangkat Lunak
Perangkat Lunak, sekarang ini dikembangkan dengan pendekatan manajemen
proyek. Apa artinya? Dalam hal ini, kita, sebagai pengembang perangkat
lunak, memahami bahwa perangkat lunak itu adalah sebuah produk. Dan
sebagaimana halnya sebuah produk, maka untuk menghasilkan produk yang
berkualitas, perangkat lunak perlu dibuat dengan mengikuti alur proses
tertentu yang terukur. Pengelolaan perangkat lunak merupakan hal penting
dalam menjamin kualitas produk perangkat lunak itu sendiri.
Pressman mengemukakan beberapa pokok pikiran terkait konsep manajemen proyek perangkat lunak, diantaranya adalah:
1) Project management involves the planning, monitoring, and control
of people, process, and events that occur during software development.
2) Everyone manages, but the scope of each person's management activities varies according his or her role in the project.
3) Software needs to be managed because it is a complex undertaking with a long duration time.
4) Managers must focus on the fours P's to be successful (people, product, process, and project).
5) A project plan is a document that defines the four P's in such a
way as to ensure a cost effective, high quality software product.
6) The only way to be sure that a project plan worked correctly is by
observing that a high quality product was delivered on time and under
budget.
Pokok pikiran yang dikemukakan Pressman dapat menjadi dasar kerangka
acuan berpikir dari pengembang perangkat lunak. Lihat pokok pikiran 3)
misalnya, disitu disebutkan bahwa perangkat lunak, perlu dikelola karena
merupakan produk yang kompleks, yang harus dikerjakan dalam kurun waktu
tertentu yang relatif cukup lama. Hal ini sangat tepat, dalam konteks
perangkat lunak dewasa ini. Sebuah aplikasi stand-alone saja sudah
terdiri dari puluhan halaman kode (diukur dengan satun LOC atau Lines of
Code); belum lagi ditambah dengan banyaknya "konektivitas" (misalnya
koneksi antar-muka, koneksi basis data, jaringan dan sebagainya).
Sesungguhnya isu kompleksitas perangkat lunak, merupakan isu yang tidak
terbantahkan di era Web 2.0 sekarang ini. Rancang bangun perangkat lunak
yang sederhana merupakan tantangan tersendiri bagi tim pengembang.
Mari kita lihat, pokok pikiran Pressman yang ke 4). Disini Pressman
menekankan mengenai spektrum manajemen perangkat lunak, yakni:
1) People (recruiting, selection, performance management, training,
compensation, career development, organization, work design,
team/culture development)
2) Product (product objectives, scope, alternative solutions, constraint tradeoffs)
3) Process (framework activities populated with tasks, milestones, work products, and QA points)
4) Project (planning, monitoring, controlling)
Fokus manajemen perangkat lunak, tidak melulu pada "product" atau
working-software itu sendiri. Selain itu, diperlukan fokus untuk
mengelola People (yakni semua yang terlibat dalam pengembangan perangkat
lunak); Process (atau bisa disebut sebagai kerangka kerja, metodologi
yang digunakan dalam mengembangkan perangkat lunak) serta Project (yang
dapat dipahami sebagai aktivitas perencanaan, pengawasan dan
pengendalian).
Terkait fokus manajemen PEOPLE; maka isu yang harus diperhatikan adalah
bagaimana berkomunikasi. Pengalaman saya dalam mengembangkan perangkat
lunak, maka semakin banyak stakeholders (dan tim pengembang) maka
semakin besar juga bias dalam saluran komunikasi standar antar
stakeholders (dan tim pengembang). Dalam berkomunikasi standar, kita
menggunakan bahasa, namun demikian kadang ditemui, arti dan makna bahasa
tertentu, sering dipahami berbeda. Isu ini akan mencuat jika tim
pengembang terdiri dari anggota tim lintas generasi (perbedaan umur yang
signifikan), kultur budaya yang berbeda serta lintas organisasi (atau
lintas departemen). Diperlukan sebuah mekanisme komunikasi yang handal
untuk menjamin saling pengertian antar tim pengembang. Tentu saja,
secara pribadi, saya sangat menyarankan untuk menggunakan mekanisme:
"tatap muka".
Terkait fokus manajemen PRODUCT, maka isu yang muncul biasanya adalah
"scope creep", atau bertambahnya (berubahnya) fitur aplikasi. Scope
creep muncul dari stakeholders, user dan tim pengembang sendiri.
Mengatasi hal ini, bisa dengan sebuah kesepakatan formal mengenai
fitur-fitur aplikasi yang dikembangkan. Atau jika terjadi perubahan,
dikompensasi dengan besarnya cost pengembangan aplikasi. Isu lainnya
yang penting juga adalah masalah kualitas perangkat lunak yang
dihasilkan. Aktivitas pengujian perangkat lunak harus benar-benar
dilakukan dan terdokumentasi dengan baik. Tidak bisa hanya sekedar
melakukan Uji Acceptance; tapi juga HARUS melakukan uji teknis (dalam
beberapa tipe uji perangkat lunak). Stakeholders harus memahami bahwa
satu-satunya cara menjamin kualitas perangkat lunak adalah dengan
melakukan uji perangkat lunak.
Terkait fokus manajemen PROCESS, maka isu yang harus diperhatikan adalah
dokumentasi perangkat lunak. Pada dasarnya perangkat lunak itu adalah
algoritma program yang menjalan proses bisnis tertentu, mengolah data
dan DOKUMENTASI. Dokumentasi perangkat lunak, bukanlah sekedar Panduan
Instalasi atau Panduan Menggunakan Aplikasi, tapi juga menyangkut setiap
proses pengembangan perangkat lunak yang dilakukan. Hal ini penting
untuk kepentingan manajemen proyek dan terlebih untuk kepentingan
pemeliharaan perangkat lunak itu sendiri.
Tidak ada komentar:
Posting Komentar