Lompat ke isi

Scrum

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas

Scrum adalah metode pengembangan perangkat lunak agile yang dikembangkan oleh Jeff Sutherland dan tim pengembangannya di awal 1990-an. Selanjutnya, pengembangan lebih lanjut tentang metode Scrum telah dilakukan oleh Schwaber dan Beedle[1]. Prinsip scrum konsisten dengan manifesto agile dan digunakan untuk memandu kegiatan pengembangan dalam suatu proses yang menggabungkan kegiatan kerangka kerja (framework activity) berikut: kebutuhan (requirements), analisis (analysis), desain (design), evolusi (evolution), dan pengiriman (delivery). Dalam setiap kegiatan kerangka kerja, work task terjadi dalam pola proses yang disebut sprint. Pekerjaan yang dilakukan dalam sprint (jumlah sprint yang diperlukan untuk setiap kegiatan kerangka kerja akan bervariasi tergantung pada kompleksitas dan ukuran produk) disesuaikan dengan masalah yang dihadapi dan didefinisikan dan sering dimodifikasi secara real time oleh tim Scrum[2].

Sejarah

Hirotaka Takeuchi dan Ikujiro Nonaka memperkenalkan istilah scrum dalam konteks pengembangan produk dalam artikel Harvard Business Review 1986, 'The New New Product Development Game' [3]. Takeuchi dan Nonaka kemudian berpendapat dalam The Knowledge Making Company bahwa itu adalah suatu bentuk "penciptaan pengetahuan organisasi, [...] terutama baik dalam membawa inovasi terus menerus, secara bertahap dan spiritual"[4].

Para penulis menggambarkan pendekatan baru untuk pengembangan produk komersial yang akan meningkatkan kecepatan dan fleksibilitas, berdasarkan studi kasus dari perusahaan manufaktur di industri otomotif, mesin fotokopi dan printer[3]. Mereka menyebut ini pendekatan holistik atau rugbi , karena seluruh proses dilakukan oleh satu tim lintas-fungsional di beberapa fase yang tumpang tindih, di mana tim "mencoba menempuh jarak sebagai satu kesatuan, meneruskan bola bolak-balik"[3] (Dalam sepak bola rugbi, scrum digunakan untuk memulai kembali permainan, ketika pemain depan dari masing-masing tim bertautan kepala di bawah dan berusaha mendapatkan kepemilikan bola[5])

Pada awal 1990-an, Ken Schwaber menggunakan apa yang akan menjadi Scrum di perusahaannya, Advanced Development Methods; sementara Jeff Sutherland, John Scumniotales dan Jeff McKenna mengembangkan pendekatan yang sama di Easel Corporation, merujuknya menggunakan satu kata Scrum[6].

Pada tahun 1995, Sutherland dan Schwaber bersama-sama mempresentasikan makalah yang menggambarkan kerangka kerja Scrum di Business Object Design and Implementation Workshop yang diadakan sebagai bagian dari Object-Oriented Programming, Systems, Languages & Applications '95 (OOPSLA '95) di Austin, Texas[7]. Selama tahun-tahun berikutnya, Schwaber dan Sutherland bekerja sama untuk menggabungkan materi ini — dengan pengalaman mereka dan mengembangkan praktik yang baik — untuk mengembangkan apa yang kemudian dikenal sebagai Scrum[8].

Pada tahun 2001, Schwaber bekerja dengan Mike Beedle untuk menjelaskan metode dalam buku Agile Software Development with Scrum[9]. Pendekatan Scrum untuk perencanaan dan pengelolaan pengembangan produk melibatkan otoritas pengambilan keputusan ke tingkat properti dan kepastian operasi[10]. Pada tahun 2002, Schwaber bersama yang lain mendirikan Scrum Alliance [11]dan mendirikan seri akreditasi Certified Scrum . Schwaber meninggalkan Scrum Alliance pada akhir 2009 dan mendirikan Scrum.org yang mengawasi seri akreditasi Professional Scrum paralel[12]. Sejak 2009, sebuah dokumen publik bernama The Scrum Guide [8]telah secara resmi mendefinisikan Scrum. Ini telah direvisi 5 kali, dengan versi saat ini adalah November 2017. Pada tahun 2018, Schwaber dan komunitas Scrum.org, bersama dengan para pemimpin komunitas Kanban, menerbitkan The Kanban Guide for Scrum Teams[13].

Pola Proses Scrum

Scrum menekankan penggunaan serangkaian pola proses perangkat lunak [14] yang telah terbukti efektif untuk proyek dengan jadwal yang ketat, perubahan kebutuhan, dan kekritisan bisnis. Masing-masing pola proses ini mendefinisikan serangkaian tindakan pengembangan (development activity)[2]:

Backlog: daftar kebutuhan atau fitur proyek yang diprioritaskan yang memberikan nilai bisnis bagi pelanggan. Item dapat ditambahkan ke backlog kapan saja (ini adalah bagaimana perubahan diperkenalkan). Manajer produk menilai backlog dan memperbarui prioritas sesuai kebutuhan[2].

Sprint: terdiri dari unit kerja yang diperlukan untuk mencapai kebutuhan yang ditentukan dalam jaminan yang harus sesuai dengan time box yang telah ditentukan (biasanya 30 hari). Perubahan (mis. backlog work items) tidak diperkenalkan selama sprint. Oleh karena itu, sprint memungkinkan anggota tim untuk bekerja dalam lingkungan jangka pendek namun stabil[2].

Scrum Meeting: pertemuan singkat (biasanya 15 menit) yang diadakan setiap hari oleh tim Scrum. Tiga pertanyaan kunci diajukan dan dijawab oleh semua anggota tim[14], yaitu (1) apa yang Anda lakukan sejak pertemuan tim terakhir? (2) Apa kendala yang Anda hadapi? (3) Apa yang Anda rencanakan untuk dicapai dengan pertemuan tim berikutnya?[2].

Seorang pemimpin tim, yang disebut Scrum master, memimpin pertemuan dan menilai tanggapan dari setiap orang. Scrum meeting membantu tim untuk mengungkap potensi masalah sedini mungkin. Juga, pertemuan harian ini mengarah pada "sosialisasi pengetahuan" [15] dan dengan demikian mempromosikan struktur tim yang mengatur diri sendiri[2].

Demos: menyampaikan software increment ke pelanggan sehingga fungsionalitas yang telah diterapkan dapat diperagakan dan dievaluasi oleh pelanggan. Penting untuk dicatat bahwa demo mungkin tidak mengandung semua fungsionalitas yang direncanakan, melainkan fungsi-fungsi yang dapat disampaikan dalam time box yang ditetapkan[2].

Beedle dan rekan-rekannya [15]menyajikan diskusi komprehensif tentang pola-pola ini di mana mereka menyatakan: “Scrum mengasumsikan di muka keberadaan kekacauan. . . . ” Pola proses Scrum memungkinkan tim perangkat lunak untuk bekerja dengan sukses di dunia di mana penghapusan ketidakpastian tidak mungkin dilakukan[2].

Referensi


  1. ^ Schwabe, D., G. Rossi, and Barbosa, S., “Systematic Hypermedia Application Design Using OOHDM,” 2001, available at www-di.inf.puc-rio.br/~schwabe/HT96WWW/section1.html.
  2. ^ a b c d e f g h Pressman, Roger S. (2015). Software engineering : a practitioner's approach. McGraw-Hill Education. ISBN 9781259253157. OCLC 949696534. 
  3. ^ a b c "The new new product development game". Journal of Product Innovation Management. 3 (3): 205–206. 1986-09. doi:10.1016/0737-6782(86)90053-6. ISSN 0737-6782. 
  4. ^ The Knowledge Creating Company. Oxford University Press. 1995.p. 3. ISBN 9780199762330. Retrieved March 12,2013.
  5. ^ "Scrum". Oxford Dictionaries. Oxford University Press.
  6. ^ Sutherland, Jeff (October 2004). "Agile Development: Lessons learned from the first Scrum". Archived from the original (PDF) on November 22, 2017. Retrieved September 26, 2008.
  7. ^ Sutherland, Jeffrey Victor. (1997). Business object design and implementation : OOPSLA '95 workshop proceedings,16 October 1995, Austin, Texas. London: Springer. ISBN 3540760962. OCLC 35694527. 
  8. ^ a b Ken Schwaber; Jeff Sutherland. "The Scrum Guide" (PDF). Scrum.org. Retrieved October 27, 2017.
  9. ^ Schwaber, Ken. (2002). Agile software development with Scrum. Upper Saddle River, NJ: Prentice Hall. ISBN 0130676349. OCLC 48241360. 
  10. ^ Schwaber, Ken. (2004). Agile project management with Scrum. Redmond, Wash.: Microsoft Press. ISBN 073561993X. OCLC 53099100. 
  11. ^ Maximini, Dominik. The Scrum culture : introducing agile methods in organizations. ISBN 9783319738413. OCLC 1104852515. 
  12. ^ Partogi, Joshua (July 7, 2013). "Certified Scrum Master vs Professional Scrum Master". Lean Agile Institute. Retrieved May 10, 2017.
  13. ^ "Scrum.org Introduces Scrum with Kanban Course, Enabling Greater Transparency Among Development Teams". Retrieved March 2, 2018.
  14. ^ a b Noyes, B., “Rugby, Anyone?” Managing Development (an online publication of Fawcette Technical Publications), June 2002, www.fawcette.com/resources/managingdev/methodologies/scrum/.
  15. ^ a b Beedle, M., et al., “SCRUM: An Extension Pattern Language for Hyperproductive Soft-ware Development,” included in: Pattern Languages of Program Design 4, Addison-Wesley Longman, Reading MA, 1999, downloadable from http://jeffsutherland.com/scrum/ scrum_plop.pdf.