Oleh: GeneticFreak | Maret 8, 2009

Microsoft Solutions Framework (MSF) – Pengenalan MSF

when you need a solution...

when you need a solution...

Untuk tugas RPL kali ini saya memilih untuk membahas mengenai Microsoft Solutions Framework (MSF). Jadi untuk beberapa minggu kedepan akan ada banyak bahasan mengenai Microsoft Solutions Framework (MSF) 🙂

Introduction to MSF
Seperti sewajarnya, mari kita mulai dengan pengenalan (introduction) agar kita dapat mengenal MSF lebih dalam sebelum menggunakannya.

Apakah Microsoft Solutions Framework (MSF) itu?

Microsoft Solutions Framework (MSF) adalah “serangkaian prinsip, model, disiplin, konsep, dan tuntunan untuk membuat solusi IT” yang diciptakan oleh Microsoft.

Microsoft® Solutions Framework (MSF) is a deliberate and disciplined approach to technology projects based on a defined set of principles, models, disciplines, concepts, guidelines, and proven practices from Microsoft. (~ MSF v3 Overview White Paper)

Bisa dibilang MSF adalah sebuah Software Development Life-Cycle (SDLC). Namun MSF tidak hanya dapat diterapkan pada pembuatan aplikasi, selain itu dapat diterapkan pada proyek-proyek IT lain seperti pembuatan infrastruktur dan jaringan. Ini karena MSF tidak hanya mencakup perekayasaan perangkat lunak namun hampir mencakup pembuatan sebuah proyek IT secara keseluruhan. Karena itulah MSF tidak disebut sebagai sebuah Metodologi (seperti Metodologi Waterfall, Metodologi Spiral, dll) namun diberi nama Framework.

Dalam garis besarnya, MSF itu sendiri terdiri dari Eight Foundational Principles, MSF Team Model dan MSF Process Model. Foundational Principles menjadi dasar nilai-nilai yang diterapkan pada proyek IT, Team Model mengatur pembentukan struktur tim dan subtim dalam sebuah pelaksanaan proyek IT, sedangkan Process Model mengatur pelaksanaan proyek itu sendiri, dalam beberapa fase (phase).

Filosofi MSF

Filosofi dari MSF adalah tidak akan ada satu struktur atau proses yang dapat diterapkan pada semua jenis kebutuhan dan lingkungan berbagai macam proyek.”

The MSF philosophy holds that there is no single structure or process that optimally applies to the requirements and environments for all projects. It recognizes that, nonetheless, the need for guidance exists. (~ MSF v3 Overview White Paper)

Karena itu MSF mendukung sudut-sudut pandang dan pendekatan yang berbeda-beda tergantung kebutuhan proyek, walaupun kecil maupun besar dengan mengedepankan fleksibilitas dalam proses namun tetap mempertahankan prinsip-prinsip dan pola pikir yang teratur. Yang dimaksud disini adalah, dalam langkah pendekatan suatu solusi ataupun jenis model yang digunakan, MSF memberikan kebebasan, namun dalam kebebasan itu terdapat keteraturan berupa milestones (yang biasanya berwujud dokumen-dokumen) yang harus dituruti dan diselesaikan.

Prinsip Dasar MSF

Ada delapan prinsip dasar MSF (Foundational principles of MSF) yang harus menjadi nilai dasar dari segala kegiatannya, yaitu:

  1. Foster Open Communications – bukalah jalur-jalur komunikasi antar tim dan dalam tim, jangan ada yang menyimpan pengetahuan untuk dirinya sendiri
  2. Work Toward a Shared Vision – segala sesuatu harus dilakukan dibawah satu visi yang sama, agar setiap orang memiliki tujuan yang sama dalam mengerjakan proyek ini
  3. Empower Team Members – setiap tim harus berusaha mendorong masing-masing anggotanya untuk maju, berinisiatif dan memimpin pada bidang yang menjadi keahliannya, sehingga setiap orang bekerja dengan keyakinan bahwa rekan kerjanya juga akan menyelesaikan bagiannya masing-masing dengan baik
  4. Establish Clear Accountability and Shared Responsibility – setiap individu harus diberi kejelasan dalam peranannya, apa yang harus ia kerjakan dan hasil apa yang harus ia pertanggungjawabkan, sehingga tidak terjadi hasil ganda (dua pekerjaan dengan hasil yang sama) ataupun sebaliknya pekerjaan tanpa hasil
  5. Focus on Delivering Business Value – setiap proyek harus berfokus pada nilai bisnis yang dapat diberikan pada penggunanya, sehingga tidak menjadi proyek tanpa guna, software canggih namun tidak ada nilainya ibarat pengering rambut bagi orang botak
  6. Stay Agile, Expect Change – antisipasi dan aturlah ketidakpastian, perubahan pasti terjadi dan seringkali perlu terjadi, jangan mengandalkan pada kepastian seperti model waterfall namun antisipasilah ketidakpastian itu menjadi keteraturan, karena itulah beberapa jenis dokumen dibuat secara periodik untuk mengenali perubahan agar tim senantiasa siap menghadapi perubahan selanjutnya, menjadi gesit dan teratur dalam menghadapi kekacauan
  7. Invest in Quality – maksimalkan usaha untuk meningkatkan kualitas, baik itu kualitas produk, kualitas layanan, dan kualitas pekerjaan, sehingga setiap orang bisa bangga atas hasilnya
  8. Learn From All Experiences – belajarlah dari pengalaman masa lalu, karena itulah MSF sangat menekankan pentingnya dokumentasi atas segala sesuatu yang direncanakan dan dilakukan pada proyek-proyek IT, ini dapat dilihat dari lengkapnya dokumen yang dihasilkan pada tiap fase, untuk memastikan bahwa proyek berikutnya dapat belajar dari proyek yang lalu

MSF Team Model

Menurut MSF, sebuah tim pelaksana proyek IT sebaiknya tediri atas:

  • Product Management: Tim Manajemen yang mengatur dan bertanggung jawab atas keseluruhan hubungan dengan costumer, menetapkan kebutuhan costumer dan memastikan kebutuhan itu terpenuhi
  • Program Management: Tim Manajemen yang mengatur dan bertanggung jawab atas keseluruhan pengembangan program dan penerapan (deployment) program ke costumer, juga bertanggung jawab atas pembuatan desain solusi sebagai arsitek utama dari solusi
  • Development: Bertanggung jawab atas pemrograman/pengembangan produk
  • Test: Bertanggung jawab atas kualitas produk
  • Release/Operations Management: Tim Manajemen yang bertanggung jawab atas peluncuran dan instalasi produk/solusi, pengadaan infrastruktur dan logistik bagi tim-tim lain
  • User Experience: Bertanggung jawab atas keluhan, saran serta umpan balik (feedback) dari pengguna

Untuk lebih jelasnya tanggung jawab dan fungsi dari masing-masing tim dapat dilihat di tabel berikut ini:

MSF Team Model (~ MSF Team Model v3 Whitepaper)

MSF Team Model (~ MSF Team Model v3 Whitepaper)

Dalam pembentukan tim-tim tersebut, apabila kekurangan personil, maka diijinkan satu orang menjadi anggota lebih dari satu tim, namun dengan batasan-batasan tertentu. Misalkan anggota tim Development sebaiknya tidak menjadi anggota tim lain, namun anggota Product Management bisa menjadi anggota tim Testing. Untuk lebih jelasnya dapat dilihat gambar tabel dibawah ini

Dapatkah Seseorang Menjadi Anggota Banyak Tim? P: Probable, U: Unlikely, N: Not Recommended

Dapatkah Seseorang Menjadi Anggota Banyak Tim? P: Probable, U: Unlikely, N: Not Recommended

Gambar diatas menunjukkan gabungan peranan mana yang mungkin, yang kurang baik, dan yang tidak disarankan untuk dilakukan.

MSF Process Model

Dalam process model ini, sebuah proyek/rekayasa IT terbagi menjadi lima fase yaitu:

  1. Envisioning Phase, yaitu fase dimana visi, misi, tujuan dan batasan dari proyek ditetapkan secara formal dalam sebuah Vision/Scope Document. Vision/Scope Document ini bisa dibilang dokumen yang paling penting dalam keseluruhan dokumen proyek
  2. Planning Phase, yaitu fase dimana solusi-solusi dirancang, dimodelkan, dispesifikasikan dan diperhitungkan  sesuai tujuan dan batasan untuk memenuhi visi dan misi proyek, selain itu dalam fase ini semua tugas-tugas, ketergantungan antar tugas, pelaksana tugas serta penjadawalan keseluruhan proyek dibuat
  3. Developing Phase, yaitu fase dimana solusi-solusi tersebut direalisasikan dalam bentuk produk aplikasi (ataupun infrastruktur)
  4. Stabilizing Phase, yaitu fase dimana produk diuji coba fungsinya dalam berbagai skenario, untuk menemukan dan mengatasi error, bug, ataupun faktor-faktor lain yang dapat mempengaruhi fungsi dan performance dari produk
  5. Deploying Phase, yaitu fase dimana produk dikirim, dipasang dan digunakan oleh costumer, untuk kemudian dilakukan review atas segala yang telah dilakukan selama proyek, serta kemungkinan langkah pengembangan selanjutnya

Masing-masing fase memiliki “process”, “milestones” dan “deliverables”. Fase-fase ini boleh ter-iterasi dan overlapping (seperti pada model spiral dan iterative) dengan syarat “milestone” atau “batu loncatan” tiap fase terpenuhi dahulu. Jadi pada prakteknya yang sering terjadi adalah seperti gambar di bawah ini.

msf-governance-model

Bentuk urutan proses yang sering terjadi dalam praktek penerapan MSF. Tulisan dalam kotak menunjukkan milestone yang harus dicapai.


Disini dapat dilihat bahwa SDLC dari MSF mirip dengan penggabungan antara Waterfall, Spiral dan Iterative. Dapat kita lihat fleksibilitas dari pengerjaan fase-fase namun tetap memiliki syarat bahwa milestone tertentu terpenuhi, baru sebuah proyek dapat berlanjut ke fase selanjutnya.

Saya rasa cukup sekian untuk topik perkenalan MSF, mudah-mudahan tulisan ini cukup membantu dalam mengenal MSF. Untuk posting berikutnya (dalam kategori “Tugas RPL”) akan dibahas lebih detail mengenai fase Envisioning, baik proses-prosesnya, milestones serta deliverables.


Tanggapan

  1. […] – Fase Envisioning (Envisioning Phase) Setelah kita mulai mengenal Microsoft Solutions Framework (MSF) mari terjun lebih dalam ke fase yang pertama, yaitu fase Envisioning. Dalam fase ini visi, […]

  2. […] – Fase Planning (Planning Phase) Dalam Microsoft Solutions Framework (MSF), setelah fase Envisioning selesai yang ditandai dengan disepakatinya Vision/Scope Document, […]

  3. […] selanjutnya dalam Microsoft Solutions Framework (MSF) setelah fase Planning adalah fase Developing. Dalam fase ini, solusi  dibuat sesuai dengan […]

  4. […] siap untuk diuji coba intensif pada fase Stabilizing. Pada fase ini, solusi diuji menurut prosedur Microsoft Solutions Framework (MSF) agar tidak hanya memenuhi syarat-syarat fungsional, namun juga syarat-syarat kualitas dan […]

  5. […] dengan tahapan-tahapan pada Microsoft Solutions Framework (MSF) maka fase yang digunakan untuk perancangan perangkat lunak adalah Envisioning Phase dan […]


Tinggalkan komentar

Kategori