Tuesday, June 20, 2006

Rencanakan dokumentasi anda!

Saat ini aya berada di sebuah proyek software (integrasi sistem) dengan beberapa technical lead, senior architect dan lain-lain. Pada awal proyek telah dijelaskan bahwa akan ada dokumen: requirement specification, functional specification dan design specification. Itu saja.

Setelah requirement spec selesai, saya rasa mereka semua bingung dengan struktur dari dokumen functional spec. Kenapa? saya pikir ini karena tidak direncanakannya dokumentasi yang akan dibuat. Buat saya requirement spec yang telah dibuat lebih menyerupai functional spec. Requirement spec yang kita buat berisi section yang dibagi berdasarkan fungsionalitasnya. Dalam tiap section terdiri dari beberapa sub-section yaitu
  • Description yang menjelaskan sedikit mengenai fungsi yang ditulis dalam judul section
  • Assumptions
  • Use case diagram yang berisi sequence diagram (dalam terminologi UML), yang memperlihatkan interaksi antar system yang akan dibangun
  • Requirements, yang mejelaskan dengan kata-kata diagram yang ada di sub-section sebelumnya atau menjelaskan kebutuhan dengan sedikit mendetail.
  • Impacts
Bahkan di requirement spec dituliskan :

It also contains a detailed analysis of business, process, functional and operational model in order to provide context and background to the approach.

Bisa dilihat bahwa requirement spec sebenarnya adalah functional spec. Sehingga ketika kita dituntut untuk membuat functional spec yang terjadi adalah kebingung.

Kebingunan bertambah setelah seorang senior architecht yang 'dituakan' mengirimkan contoh functional spec dari project lain yang jelas-jelas di judul dokumen tersebut tertera ".... architectural documentation." Buat saya functional spec sangat berbeda dengan architectural spec.

Itulah sebabnya saya rasa perencanaan terhadap dokumen yang akan dibuat penting. Perencanaan dokumen tidak hanya merencanakan dokumen apa saya yang akan dibuat atau diberikan ke klien tapi lebih dari itu kita perlu merencakan struktur dan isinya.

Perencanaan menjadi penting juga karena biasanya tiap orang yang terlibat dalam proyek memiliki persepsi yang berbeda-beda tentang suatu dokumen. Kita tahu juga banyak sekali bentuk-bentuk dokumen standar yang digunakan dalam software development, misalnya standar IEEE, ISO, atau bahkan standar dari perusahaan. Kita bisa saja menggunakan standar dokumen yang ada tetapi sebaiknya selalu disesuaikan dengan proyek yang dijalankan.

No comments:

Followers