SCRUM: apakah layak membungkuk ke dunia yang terus berubah?

Scrum - metodologi kerja tim yang fleksibel. Hari ini sangat populer, digunakan di banyak perusahaan besar. Dalam artikel ini, kita akan mencari tahu kapan dan dalam keadaan apa teknik ini muncul, pada prinsip-prinsip dasar apa implementasinya didasarkan, apa yang penting untuk dipertimbangkan ketika bekerja, dan banyak lagi.



gambar


Sejarah Scrum



Pada asal pengembangan pengembangan perangkat lunak adalah pendekatan "air terjun" untuk bekerja, itu digunakan oleh sebagian besar tim dan membagi implementasi produk ke dalam tahapan berikut:



  • definisi persyaratan proyek;
  • merencanakan operasi dari awal hingga selesai;
  • menulis kode;
  • pengujian.


Artinya, pelanggan datang, menggambarkan tugas, tim merencanakan implementasi dan mulai bekerja, mengikuti kerangka acuan yang ditetapkan. Setelah akhir pengembangan, produk diuji dan jika sesuatu tidak bekerja, sejumlah besar kode harus diperbaiki, akibatnya tenggat waktu diperpanjang.



Inilah cara mereka bekerja dari tahun ke tahun, sementara satu tim inovator untuk waktu yang lama mengamati tim-tim sukses: mereka yang berhasil memenuhi tenggat waktu dan membuat produk yang berkualitas. Sebagai hasilnya, mereka menyadari bahwa kesuksesan terletak pada fleksibilitas proses.



Berdasarkan kesimpulan yang diambil dari hasil pengamatan panjang, "Manifesto untuk Pengembangan Perangkat Lunak Agile" diturunkan. Itu termasuk empat poin:



  1. Orang lebih penting daripada alat.
  2. Kualitas produk lebih penting daripada dokumentasi.
  3. Interaksi dengan pelanggan lebih penting daripada kontrak.
  4. Kesiapan untuk berubah lebih penting daripada rencana yang ditetapkan.


Keempat poin ini secara mendasar telah mengubah pendekatan pengembangan perangkat lunak dan membentuk dasar Agile. Selama bertahun-tahun, para penggemar telah menemukan 12 prinsip Agile inti yang mendasari semua metodologi lincah hari ini:



  1. Yang utama adalah perangkat lunak yang baik dan pelanggan yang puas.
  2. Kesediaan untuk berubah kapan saja.
  3. Dapatkan perangkat lunak yang berfungsi sesering mungkin setelah pengembangan.
  4. Rapat tim adalah yang terbaik untuk berbagi informasi.
  5. Pelanggan dan tim pengembangan harus bekerja bersama.
  6. Percayai orang untuk melakukan pekerjaan mereka.
  7. Ada perangkat lunak yang berfungsi - ada kemajuan.
  8. Proses yang fleksibel - pengembangan berkelanjutan.
  9. Perhatian terhadap kualitas mempromosikan fleksibilitas.
  10. Kesederhanaan proses memungkinkan Anda untuk tidak melakukan pekerjaan yang tidak perlu.
  11. Tim yang mengatur diri sendiri bekerja lebih baik.
  12. Pengejaran yang konstan akan efisiensi yang lebih besar.


Pada awal 1990-an, Jeff Sutherland dan Ken Schwaber mulai berbicara tentang metodologi pengembangan Agile mereka sendiri. Untuk waktu yang lama, mereka menyaksikan militer, pasukan khusus dan bahkan pemain rugby dan sampai pada kesimpulan bahwa mereka berhasil menyelesaikan tugas yang diberikan berkat interaksi dan kerja tim - prinsip-prinsip ini membentuk dasar Scrum.



Pada tahun 2001, mereka merinci prinsip-prinsip metodologi mereka dan menerbitkan buku Agile Software Development dengan SCRUM. Sampai saat ini, pendekatan ini dianggap salah satu yang paling populer di kalangan pengembang.



Prinsip dasar Scrum



Metodologi ini memiliki beberapa prinsip dasar yang membantu untuk fokus pada klien dan memberikan hasil yang diharapkan dengan sumber daya dan biaya waktu yang minimal.



Prinsip dasar Scrum:



  1. (). () . .
  2. . . () .
  3. . - ยซ ยป โ€” . , . , .
  4. . Scrum-team โ€” , .




Tim scrum



Dalam kebanyakan kasus, tim Scrum terdiri dari 5-9 orang, jarang 3-4. Dalam Scrum, tim tidak boleh lebih besar, karena interaksi antara setiap tautan menjadi lebih rumit, yang secara negatif mempengaruhi efisiensi kerja.

Komposisi



Ada tiga peran utama dalam tim:



  1. Pemilik produk.
  2. Master Scrum.
  3. Pengembang (Tim Pengiriman).


Mari kita perhatikan semua peran secara lebih detail.



Pemilik produk



Pemilik adalah orang yang bertanggung jawab atas pengembangan. Peran ini dimainkan oleh pelanggan produk atau perwakilan resminya. Dalam kasus yang jarang terjadi - perwakilan pasar di mana proyek yang direncanakan selanjutnya diimplementasikan.



Pemilik bertanggung jawab untuk menyusun rencana bisnis yang mencerminkan dampak ekonomi yang diharapkan. Juga di dalamnya, ia mendefinisikan rencana pengembangan, di mana pengembalian atas rasio investasi dihitung untuk setiap item. Dokumen penting lainnya, formasi pemilik terlibat, adalah daftar persyaratan, mereka diurutkan berdasarkan kepentingan.



Sederhananya, pemilik produk adalah pusat keputusan untuk tim proyek. Ini harus menjadi satu-satunya di dalam proyek, jika tidak prinsip adopsi cepat dari keputusan penting dilanggar.



Daftar indikatif tanggung jawab pemilik:



  • ;
  • ( );
  • ;
  • ;
  • ;
  • .


-



Scrum Master bertanggung jawab untuk mematuhi metodologi Scrum dalam pekerjaannya: ia mengendalikan inisiatif dan kemandirian semua anggota tim, kepuasan dengan hasil yang diperoleh, suasana dalam tim, dan hasil pekerjaan pada umumnya.



Selain itu, penting untuk memahami bahwa Scrum Master bukan hanya orang yang terisolasi yang melihat perkembangan dari luar. Dia adalah anggota tim dan harus, bersama dengan kontrol, mengambil bagian langsung dalam implementasi teknis produk.



Scrum Master bertanggung jawab atas interaksi semua anggota tim satu sama lain, mempertahankan tingkat kinerja tinggi, menghilangkan masalah, mengikuti jadwal kerja yang direncanakan.



Daftar perkiraan tugas seorang ahli scrum:



  • menciptakan suasana saling percaya;
  • partisipasi dalam rapat umum dan memastikan komunikasi yang berhasil dari para peserta;
  • ;
  • ;
  • .




Pengembang adalah mereka yang bertanggung jawab atas implementasi teknis produk. Sebagai aturan, ada 5-9 pengembang per tim. Tugas pertama adalah menetapkan tujuan yang dapat dicapai secara realistis, dapat diprediksi, menarik dan signifikan untuk setiap sprint.



Tugas kedua adalah mencapai target yang ditetapkan untuk setiap sprint tepat waktu (tenggat waktu). Pencapaian tujuan adalah konsep yang longgar dan ditentukan secara individual di setiap proyek. Misalnya, di suatu tempat tugas dianggap selesai setelah menulis semua kode, dan di tempat lain akhir pengujian ditambahkan. Secara umum, semua orang dibimbing oleh visi dan pengalaman mereka sendiri.



Keterampilan kunci untuk tim pengembangan adalah perencanaan, penilaian objektif dari pekerjaan yang dilakukan, kemampuan untuk berinteraksi dengan anggota tim lainnya.



Daftar sampel tim pengembangan:



  • evaluasi item jaminan produk;
  • pengembangan produk dan pengiriman ke pelanggan;
  • melacak kemajuan Anda (bersama dengan scrum master);
  • memberikan hasilnya kepada pemilik produk.


Bagaimana Tim Scrum Bekerja



Pekerjaan yang sukses pada metodologi Scrum adalah mungkin jika tiga prinsip diamati:



  1. Perbaikan diri yang konstan . Pengembang yang berpengalaman mengatakan bahwa meningkatkan produk, membawanya ke keadaan ideal adalah mustahil tanpa peningkatan sendiri dari setiap anggota tim.
  2. Otonomi . Semua karyawan harus bertanggung jawab tidak hanya untuk hasil keseluruhan dan dapat bekerja dalam tim, tetapi juga melakukan banyak tugas secara individual.
  3. Fungsionalitas silang . Setiap tim mandiri, karena termasuk spesialis dengan keterampilan yang berbeda.


Alur Kerja Tim Scrum



Pekerjaan tim yang membimbing metodologi Scrum secara konvensional dibagi menjadi beberapa tahap.



1. Merencanakan daftar tugas sprint. Setiap sprint dimulai dengan perencanaan. Semua anggota tim berkumpul, mengevaluasi simpanan produk secara keseluruhan, dan memilih tugas prioritas yang harus diselesaikan dalam iterasi saat ini. Ini adalah bagaimana daftar tugas (jaminan) dari sprint saat ini dibentuk.



Setelah itu, berdasarkan jaminan, ruang lingkup pekerjaan dan durasi siklus dinegosiasikan. Juga tentukan terlebih dahulu hasilnya: apa yang harus diperoleh dari hasil sprint.



2. Mengadakan pertemuan rutin. Setiap hari atau setiap minggu, tim mengadakan pertemuan singkat (tidak lebih dari 15-30 menit). Mereka melibatkan pemilik produk, master scrum, dan semua pengembang. Tujuan pertemuan adalah untuk menerima dari masing-masing jawaban atas tiga pertanyaan:



  1. ?
  2. ?
  3. ?


Scrum master mengidentifikasi masalah saat ini selama pertemuan dan membantu tim menyelesaikannya.



3. Organisasi dewan scrum. Di ruang konferensi, tempat pertemuan rutin diadakan, sebuah papan digantung, dibagi menjadi tiga bagian: "apa yang harus dilakukan", "dalam proses" dan "selesai".



Stiker warna berbeda dengan tugas utama ditempatkan di setiap bagian. Ketika mereka maju, mereka bergerak dari satu bagian ke bagian lain. Ini membantu melacak kemajuan sprint saat ini untuk setiap anggota tim.



4. Perubahan rencana selama iterasi. Tim harus terbuka dan jika seorang spesialis tidak punya waktu untuk memenuhi tenggat waktu, ia memberi tahu pemilik produk. Ini akan mengubah penugasan tugas, mengoptimalkan jam kerja dan membantu memenuhi tenggat waktu.



Hal yang sama dilakukan ketika bekerja terlalu cepat, ketika tugas diselesaikan lebih cepat dari yang direncanakan. Manajer melengkapi jaminan dengan tujuan baru atas kebijakannya sendiri, sehingga penjualan produk berlangsung lebih cepat.



5. Menyimpulkan. Setelah setiap sprint selesai, perangkat lunak yang telah selesai diuji. Konsumen potensial juga mengambil bagian di dalamnya (kelompok fokus). Pemilik mengumpulkan umpan balik dan membuat keputusan untuk pekerjaan yang berhasil di masa depan.



Artefak scrum



Proyek scrum mencakup tiga dokumen penting, mereka juga disebut artefak:



  1. Majalah Produk (Product Backlog).
  2. Sprint Backlog
  3. Bagan sprint (Burndown Chart).


Masing-masing memiliki fitur tertentu, yang akan kita bahas nanti.



Majalah produk



Pemilik menyiapkan majalah produk di awal. Dokumen (artefak) mencakup persyaratan yang diurutkan berdasarkan kepentingan. Pengembang melengkapi versi utama: mereka memperkirakan biaya penerapan setiap persyaratan.



Tumpukan produk harus mencakup tidak hanya aspek teknis yang diperlukan untuk implementasi, tetapi juga yang fungsional. Untuk setiap persyaratan, prioritas ditentukan (misalnya, dari 1 hingga 5). Prioritas tertinggi dijelaskan secara rinci sehingga tim dapat mengevaluasi dan mengujinya.



Pemilik Produk berkewajiban tidak hanya untuk menyiapkan log produk, tetapi juga untuk menyerahkannya dalam jangka waktu yang disepakati. Kalau tidak, implementasi proyek yang tepat waktu itu tidak mungkin.



Log sprint



Seperti yang Anda ingat, dalam kerangka metodologi scrum, produk diimplementasikan dalam iterasi kecil. Biasanya, satu sprint adalah satu fungsi. Untuk pekerjaan yang efektif, ini dibagi menjadi tugas-tugas kecil sehingga pelaksanaannya tidak lebih dari 2-3 hari kerja.



Rincian fungsi yang kompeten ke dalam tugas memungkinkan pada akhir iterasi untuk menyelesaikan semua yang diperlukan agar perangkat lunak tertentu dapat bekerja dengan benar dan bermanfaat bagi pengguna akhir.



Setelah mengkompilasi backlog sprint, dievaluasi oleh tim pengembangan dan dibandingkan dengan majalah produk. Jika ada penyimpangan yang signifikan, tim menentukan tugas yang paling prioritas dalam sprint saat ini dan yang kurang penting yang dapat ditransfer ke iterasi berikutnya.



Tugas pemilik produk adalah untuk mengecualikan tugas-tugas kecil dan tidak penting dari jaminan simpanan, yang implementasinya tidak akan memengaruhi hasil akhir pekerjaan.



Bagan sprint



Jadwal sprint adalah kalender tugas yang dijadwalkan untuk bekerja dalam iterasi saat ini. Ini menampilkan jumlah pekerjaan yang tersisa sampai akhir sprint. Tim secara teratur mengevaluasi jadwal dan, jika perlu, dengan cepat menanggapi setiap perubahan.



Pemilik produk memberikan perhatian khusus pada kalender. Ini mengevaluasi kecepatan kerja dan kepatuhan dengan tenggat waktu. Misalnya, jika volume pekerjaan tidak berkurang dari waktu ke waktu, maka ada beberapa penyimpangan dalam proses dan koreksi mendesak dari tindakan tim diperlukan.



Bagaimana menerapkan metodologi Scrum dengan benar



Untuk meningkatkan efisiensi tim, implementasi metodologi Scrum yang benar diperlukan. Kesalahan yang dibuat tidak hanya tidak dapat mengubah apa pun, tetapi juga mempengaruhi produktivitas.



Jika Anda memutuskan perubahan, lakukan implementasi secara bertahap:



  1. Merakit tim . Langkah utama di mana kesuksesan produk di masa depan tergantung. Cari profesional yang memenuhi syarat dengan pengalaman praktis di bidangnya. Luangkan waktu Anda dan ingat: membangun tim lintas fungsi bukanlah tugas yang mudah.
  2. Tetapkan pemilik produk . Berikan peran ini kepada pelanggan atau perwakilannya. Adalah penting bahwa seseorang memiliki pengalaman dalam arah ini, karena interaksi dalam tim dan antara pelanggan tergantung padanya.
  3. -. , . , .
  4. . . , . . - , .
  5. . . . , .
  6. Analisis dan evaluasi hasilnya . Menganalisis dan mengukur hasil setelah setiap sprint berakhir. Lanjutkan hanya ke tahap pengembangan berikutnya ketika Anda sepenuhnya puas dengan hasil yang sebelumnya.


Keenam langkah ini akan meningkatkan efisiensi seluruh tim Anda. Tetapi mereka tampak sederhana hanya pada pandangan pertama. Bahkan, akan butuh banyak waktu untuk menstabilkan pekerjaan di bawah aturan baru.



Seseorang dari tim mungkin tidak menyukai inovasi. Ini wajar ketika orang menolak sesuatu yang baru. Tugas Anda adalah menyampaikan kepada setiap anggota tim manfaat dari metodologi baru.



Mari kita simpulkan



Scrum adalah metodologi pengembangan tangkas gesit. Perkembangannya dimulai pada tahun 90-an abad lalu, dan mulai mendapatkan ketenaran luas di awal tahun 00-an. Saat ini, Scrum digunakan oleh banyak tim yang kegiatannya terkait erat dengan proyek.



Scrum dapat diimplementasikan di perusahaan Anda dalam 6 langkah, tetapi Anda harus dengan hati-hati mendekati organisasi proses. Metodologi ini tidak memerlukan pengetahuan khusus dari karyawan, di sini ini lebih merupakan masalah pengorganisasian dan membangun jam kerja dengan benar.



Pada saat yang sama, jangan lupa bahwa Scrum bukanlah pil ajaib, jika Anda memiliki tenggat waktu yang konstan, suasana yang buruk di dalam tim, pengenalan teknologi baru tidak akan menyelesaikan semua masalah. Oleh karena itu, mulailah menjalin komunikasi dalam tim, membangun kerja yang efektif, dan kemudian menerapkan scrum untuk meningkatkan produktivitas.



Anda dapat mempelajari lebih lanjut tentang metodologi efektivitas tim ketika Anda mendaftar untuk kursus online enam bulan kami "Profesi: Produk"! Cari tahu detailnya!




All Articles