[Share Ide] Spec Map
Sudah beberapa hari ini saya berkutat dengan penulisan dokumen metodologi pembangunan software. Bingung ya ? Ini disebabkan Saltanera bertujuan untuk comply dengan CMM minimal level 3 (buat yang belum tau CMM bisa liat disini).
Dari awal penentuan metodologi yang mo dipake, saya berprinsip untuk enggak memaksakan memakai framework yang sudah terkenal seperti RUP (jangan nyebut UML sebagai metodologi ya :D, itu kan cuma kumpulan diagram) karena perusahaan IT di indonesia (terutama saltanera) punya karakteristik sendiri yang mungkin kalo dipaksakan memakai metodologi yang sudah terkenal jadi menyulitkan diri sendiri.
Saya enggak bilang metodologi yang sudah ada jelek, cuma kurang cocok, terutama untuk saltanera. Akhirnya saya mengambil beberapa bagian yang baik-baik dari beberapa metodologi yang ada, berinovasi sedikit untuk menghasilkan metodologi pembangunan software khas saltanera : Saltanera Development Process (SDP).
Mungkin untuk SDP enggak perlu saya tampilin disini, soalnya terlalu internal (tapi kalo ada yang mo tau sih boleh aja). Tapi yang saya mo sharing disini adalah langkah pemodelan dalam requirement gathering. Seperti yang kita tau biasanya kita memakai use case diagram. Selama ini use case menurut saya enggak cukup untuk memodelkan kebutuhan yang kompleks. Kurang detil bahkan sering cuma sebagai syarat. Mungkin saya-nya aja sih yang gak bisa pake :D. Akhirnya saya biasanya pake diagram inovasi sendiri : Spec Map.
Spec Map ini sebenernya muncul dari kebiasaan developer saltanera memakai Mind Map untukmenelusuri requirement specification. Dari pengalaman saya jarang sekali ada client yang punya gagasan yang terintegral secara lengkap. Makanya biasanya kita menelusuri satu persatu. Menentukan fitur per fitur kemudian menelusuri sub fitur dari tiap fitur kalo ada. Ya jadi mirip struktur pohon sih, jadi client diajaknya berfikir fokus ke satu fitur sampai lengkap baru ke fitur lainnya.
Cuma kalu memakai Mind Map terlalu general, makanya kita membuat komponen-komponen sendiri khusus untuk requirement specification software. Mungkin kalau dilihat tampilan Spec Map mirip dengan gambar dibawah ini (klik biar gede).
Jadi cara pemakaian Spec Map seperti ini. Pertama kita taruh lingkaran di tengah sebagai perwakilan system yang akan dibangun. Dalam tahap ini kita memakai Story Card seperti dibawah ini (klik biar besar).
Jadi pada tahap ini kita harus mencari deskripsi dari system dan bagaimana cara kerja global dari system. Di bagian bawah Story Card ada informasi Story Teller (orang sumber informasi, termasuk dimana dan kapan) beserta persetujuan untuk spesifikasi ini dari orang yang punya wewenang (mungkin sama dengan story teller).
Langkah selanjutnya adalah kita membuat cabang dari system untuk setiap fitur besar yang dapat diidentifikasi. Untuk setiap fitur besar yang teridentifikasi kita harus mengisi data Story Card untuk feature seperti dibawah ini.
Dalam Story Card feature kita harus mengisi deskripsi dari feature dan bagaimana feature bekerja. Salain itu juga ktia harus mengidentifikasi tipe-tipe aktor yang akan terlibat dalam feature ini. Pengkodean feature mengikuti model DFD, jadi fetur besar diberi kode 1, 2, 3… Sub Feature diberi kode 1.1, 1.2, 1.3 dan seterusnya.
Pengidentifikasian fitur ini berlanjut ke sub-sub feature selama feature tersebut masih dapat dipecah. Pemecahan ini membuat diagram menjadi pohon yang bercabang-cabang.
Untuk setiap aktor yang teridentifikasi, gambarkan aktor tadi diiri atas dengan warna tertentu. Kegunaan warna ini sebenernya untuk kemudahan melihat aktor terlibat di feature mana saja. JAdi komponen feature digambarkan dengan kode warna seperti dibawah ini.
Story Card untuk actor seperti dibawah ini.
Jadi yang perlu diidentifikasi adalah deskripsi tugas secara umum dan daftar kandidat aktor. Kalo bisa tulis nomer/alamat konta-nya.
Komponen selanjutnya adalah Screen. Komponen ini adalah untuk mock-up screen. Jadi sedapat mungkin pada tahap requirement sudah mendapat mock-up supaya pada tahap development bisa ditekan perubahan yang diinginkan client.
Story Card untuk screen adalah sebagai berikut.
Yang perlu diidentifikasi untuk screen adalah deskripsi screen, cara kerja dan gambar mock-up.
Yang terakhir adalah info. Komponen info sebenernya hanya untuk mengingatkan informasi-informasi penting yang terkait dengan feature atau screen. Story Card dari info adalah sebagai berikut.
Spec Map didesain agar persetujuan bisa dilakukan per feature/screen/info, jadi tidak usah menunggu satu dokumen keseluruhan di setujui, tujuan-nya tetap, agar proses pembangunan perangkat lunak bisa lebih cepat.
Memang Spec Map ini kurang asik dipakai kalau program khusus untuk menggambar Spec Map tidak ada. Oleh sebab itu dari kemarin saya sudah memulai pengerjaan kode untuk program Spec Map. Apakah nanti program itu open source ato cukup free ato malah komersil ? ya kita lihat aja nanti ya ![]()






