Breaking News

Penjara Bernama Software Method

 Ketika Software dikembangkan dengan aliran Metode

Suatu hari beberapa startup bercerita mengenai bagaimana menerapkan rekayasa perangkat lunak di perusahaannya. Ada yang bangga menggunakan Scrum, ada yang bangga menggunakan eXtreme Programming, ada yang masih setia dengan Rapid Application Development (RAD). Entah apapun itu, saat ini rekayasa perangkat lunak menjadi laksana aliran-aliran yang sarat dengan praktik dan studi kasus di luar sana. Saat ini setidaknya terdapat tiga aliran besar dalam metode software.
  • Proses formal. Aliran ini adalah aliran paling diminati dimasa-masa raksasa perangkat lunak seperti IBM, Microsoft, dan Oracle menjadi kunci keberhasilan teknologi informasi. Proses formal ini dikenal dengan perancangan yang detail laksana membuat sebuah rumah. Berbagai gambar dan standar diperkenalkan. Salah satu yang paling ternama di-era kelahirannya (80an) adalah waterfall atau cleanroom. Proses formal dilahirkan oleh perusahaan besar seperti NASA, IBM, atau Universitas.
  • Proses berbasis objek. Proses ini cukup ternama pada era tahun 90 an pada saat konsep pemrograman berorientasi objek tumbuh berkembang. Konsep PBO, OOAD, UML, dan OMG menjadi bagian yang dipakai secara luas bahkan hingga saat ini. Proses ini bisa dikombinasikan dengan proses lain.  Proses ini bercirikan pada arsitektur perangkat lunak yang modular dan berprinsip pada konsep objek.
  • Proses Agile. Proses ini ternama di tahun 2000an, banyak metode lahir dari proses ini misalnya Scrum, XP, Crystal, dan yang lain. Saat ini setidaknya 85% menggunakan Scrum untuk pengembangannya. Proses ini berprinsip ada inkremental, iteratif, dan manajemen tim yang dinamis

saat ini setiap tim pengembang memilih dari ketiga proses tersebut. Formal digunakan pada pengembangan yang bersifat jangka panjang, Objek untuk pengembangan internal yang dikombinasikan dengan formal atau Agile. 

Software Method bukan penjara

Banyak tim mulai berpikir bahwa XP atau Scrum adalah sebuah metode yang diterapkan dengan segala konsekuensinya. Xp bukanlah Xp kalau tidak Test Driven Development dan Pair Programming. Scrum bukanlah Scrum jika tidak menerapkan Sprint dan daily scrum. Tapi apakah benar demikian? 
Jujur saja susah sekali membuat tim kita Pair programming setiap saat, menerapkan iterasi tepat waktu, atau melakukan CI/CD setiap malam. Apakah mungkin kita mengombinasikan antara metode satu dan metode yang lain. Tentu saja bisa! tapi jadinya software method gado-gado. Lalu agar tetap memenuhi aspek rekayasa perangkat lunak beserta metode dan praktiknya apa yang bisa dilakukan




Essence 

Ada cara bagaimana kita dapat menyusun metode yang kita sukai dan mengubahnya tanpa kehilangan esensi metode dan praktik. Salah satu pendekatannya adalah Essence. Essence adalah bahasa. ia layaknya framework untuk membuat metode dan praktik dalam rekayasa perangkat lunak. Layaknya fremework, memiliki beberapa place holder yang bisa diisi dengan praktik yang kita sukai tanpa kehilangan atau terlewat praktik penting yang dibutuhkan dalam perangkat lunak. Kita akan membahas Essence nanti tapi silahkan jika ingin memulainya disini


Tidak ada komentar