Ketika Agile salah [tertutup]


23

Saya menulis kursus Agile untuk beberapa orang baru yang baru saja bergabung, dan saya ingin menambahkan kisah peringatan agar mereka mengerti bahwa Agile tidak dimaksudkan untuk semua proyek.

Masalah saya adalah bahwa, karena sifat dari proyek tempat saya bekerja dengan Agile telah bekerja dengan cukup baik sejauh ini, saya tidak dapat dengan jujur ​​menunjukkan apa yang bisa salah dan mengapa ketika Anda menggunakannya dalam jenis proyek yang salah.

Apa hal yang harus diperhatikan ketika proyek Agile salah?


18
Sebagian besar cerita horor yang saya dengar tentang lincah lebih banyak tentang orang-orang yang terlibat daripada jenis proyek yang mereka kerjakan.
Matthieu

1
Saya melihat beberapa pertanyaan yang mengarah ke perangkap Agile di bagian "Terkait" di sebelah kanan ------------------->
CFL_Jeff

1
Saya merevisi pertanyaan untuk tidak mengundang waktu cerita dan sebagai gantinya bertanya tentang fakta konkret individu tentang di mana Agile salah.
maple_shaft

3
@Oded Pendekatan apa yang bekerja dengan baik ketika ada "tenggat waktu yang sulit tanpa memberikan fungsionalitas"?
rasional John

6
@irrationalJohn - Pawai kematian, tentu saja;)
Oded

Jawaban:


46

Kegagalan terbesar dengan tim "Agile" adalah hasil dari apa yang disebut Cargo Culting . Pada dasarnya, tim menginginkan efek dari tim tangkas yang sukses sehingga mereka meniru tindakan visibile

  • Standup harian (berjalan sekitar satu jam atau lebih)
  • Memecah pekerjaan menjadi sprint
  • Kisah-kisah pengguna (yang biasanya hanya sedikit lebih dari sebuah kalimat tetapi perkiraannya diharapkan)

Mereka adalah tiga yang akan Anda lihat secara konsisten "diterapkan" dalam lingkungan ini tetapi sangat sedikit komitmen untuk benar-benar gesit. Bahkan, Anda akan mendengar manajemen mengatakan bahwa kami "lincah." (Lari ke dua kata itu pertanda buruk.)

Anda juga akan mendengar banyak tentang utang teknis, tetapi definisi utang teknis mereka adalah "lakukan dengan cepat dan kotor dan mungkin kita akan memperbaikinya nanti." (Terjemahan: kita akan membuatnya terdengar seperti kita prihatin dengan pemeliharaan tetapi pada kenyataannya kita akan mempertahankan mentalitas ruang ketel yang sama karena itulah yang bekerja untuk kita di masa lalu).

Frasa kunci lainnya: "Saya tahu kisah-kisah ini tidak sepenuhnya didefinisikan tetapi kami lincah sehingga kami dapat memperbaikinya seiring berjalannya waktu."

"Kami sedang melakukan pengembangan tangkas sehingga Anda harus dapat mengakomodasi apa yang saya butuhkan dalam sprint saat saya mengidentifikasinya."

"Kami tidak dapat mengunci cerita komitmen kami di awal sprint karena kebutuhan terus berubah mid-sprint."

Indikator kunci tentang apakah proyek Agile akan berhasil adalah jika pemimpin proyek (scrum master atau peran apa pun) telah memiliki pengalaman atau pelatihan formal tentang memimpin proyek agile. Terlalu sering saya melihat orang membaca tentang Agile dalam sebuah buku atau mengambil kursus dua hari tentang menjadi seorang scrum master dan berpikir mereka punya daging untuk berhasil mengimplementasikannya. Maaf itu tidak terjadi kapten.


4
Saya tidak sepenuhnya setuju pada indikator kunci kesuksesan. Saya akan mengatakan indikator utama adalah komitmen nyata oleh manajemen dan pengembang, dan setidaknya pemahaman dasar dan penerimaan aturan Agile oleh pelanggan. Bahkan pelatihan Agile terbaik di dunia tidak dapat membuat Anda jauh jika manajemen berperilaku seperti yang Anda jelaskan di atas. OTOH dengan tekad dan antusiasme yang cukup, seseorang dapat belajar Agile bahkan dari sebuah buku dan menerapkannya dengan sukses dalam suatu proyek melalui penyempurnaan yang berurutan - jika manajemen mendukungnya dengan sungguh-sungguh.
Péter Török

Di samping itu, dapatkah Anda menjelaskan apa artinya "mentalitas ruang ketel"? Saya pernah mendengarnya sebelumnya, tidak pernah mendengar penjelasan.
Kevin McCormick

2
"lingkungan ruang ketel" adalah area bertekanan tinggi, fix-it-now-by-any-can di mana kondisi kerja selalu tidak menyenangkan. Mentalitas ruang ketel melanggengkan situasi semacam ini.
Hellion

1
"... pemimpin proyek (master scrum) ...": Saya baru-baru ini mendengarkan ceramah oleh Bob Martin dengan mempertahankan bahwa master scrum tidak dimaksudkan untuk menjadi pemimpin proyek pada awalnya: itu adalah peran yang harus diputar di antara anggota tim (pengembang yang terlibat dalam proyek, bukan manajer) dan hanya seharusnya memeriksa bahwa prinsip-prinsip tangkas tertentu ditegakkan di seluruh sprint.
Giorgio

21

Orang yang tidak mengerti apa itu lincah dan menerapkannya pada:

  • klien yang tidak dapat dikomentari hingga batas waktu
    ... dan mengancam akan melakukan tindakan hukum setelahnya;

  • manajer yang menjauhkan pengembang dari klien , (mungkin karena mereka sedikit di bawah bayaran, dan dapat melompat kapal, akan bekerja untuk klien tersebut) dan memainkan permainan " telepon rusak " dalam upaya putus asa (seringkali berhasil, meskipun) untuk terlihat sibuk dan bermanfaat,

    Lihat juga: manajemen jamur , alias "disimpan tidak jelas, diberi pupuk kandang" dan bos-bos berambut runcing . :)

  • tim yang terlalu besar untuk pergi ke mana pun;

  • perusahaan-perusahaan yang mempertahankan gaji para perancang arsitektur sistem yang pernah terkenal, yang dengan putus asa mengalihkan perhatian dari fakta bahwa mereka benar-benar kehilangan pandangan terhadap pembuat kode yang sebenarnya, dengan mendesain familias UML sagrada yang luar biasa, tidak taktis, sulit disadari .


2
Wow, bisikan Cina, benarkah? Kedengarannya rasis.
Mark Canlas

12
Saya tidak setuju dengan kemarahan munafik Anda tentang rasisme. Beritahu rasis ke entri wikipedia tentang topik ini dan ke rujukannya ke kamus oxford 2008.
ZJR

3
@Canlas Anda kedengarannya hella-Amerika Utara.
ZJR

3
Apa yang sebenarnya playing a game of "telephone"artinya? Benar-benar tidak berpikir suntingan itu diperlukan ...
Cocowalla

6
Nama sebenarnya dari permainan ini adalah "Telepon Rusak" (sudah diedit) dan karena ZJR menunjukkan itu bukan ungkapan rasis, saya benar-benar menghubungkan artikel Wikipedia dengan "Telepon Rusak" dan coba tebak? itu dialihkan ke "Chinese Whispers" =)
Chepech

12

Agile tidak cocok untuk kontrak jangka tetap atau harga tetap. Setelah Anda mendaftar untuk binatang seperti itu, Anda harus mengirim. Agile sangat pandai dalam melanjutkan pengembangan untuk selamanya, karena pelanggan berubah pikiran dan 'mengklarifikasi' persyaratan mereka. Itu tidak membantu Anda pada hari uang habis, tetapi masih harus menyelesaikan pekerjaan.

Agile sangat baik untuk fase pasca-proyek ketika Anda melakukan pembaruan inkremental dan perbaikan bug.

Aspek lain di mana Agile gagal bukanlah kesalahan Agile, ini adalah kesalahan orang yang bersikeras pada semua hal lama seperti dokumentasi proyek lengkap, desain muka, dan jalur komunikasi yang buruk. ( Manifesto tangkas setengah arsed ).


Pegang itu. Apakah Anda benar-benar berpikir bahwa sebagian besar proyek Agile dimaksudkan untuk melanjutkan "selamanya"?
user16764

1
itu tergantung pada proyek, beberapa sebagai terbuka dan berlanjut sementara ada persyaratan baru untuk dimasukkan. Tetapi sebagian besar proyek gesit tidak dimaksudkan untuk selesai dan dikirim pada hari yang ditentukan. Saya terutama memikirkan kontrak pemerintah yang telah menetapkan tonggak untuk dipenuhi.
gbjbaanb

Secara formal, sebuah proyek tidak pernah bersifat terbuka; satu-satunya fitur kunci yang menentukan suatu proyek adalah bahwa ia memiliki (mulai dan) tanggal akhir. Produk dan layanan yang Anda jaga jangka panjang.
Donal Fellows

1
"jalur komunikasi yang buruk": Sejauh yang saya tahu, komunikasi yang baik belum ditemukan oleh tangkas, dan metodologi tangkas dapat melakukan sangat sedikit dengan tim disfungsional yang tidak dapat berkomunikasi.
Giorgio

9

Berikut adalah beberapa pertanyaan yang mungkin berguna untuk mencari jawaban dalam hal menemukan contoh di mana upaya Agile dapat berjalan buruk:

Pernahkah Anda mendengar "pseudo Agile"? Berikut adalah beberapa entri blog tentang hal itu:

Ada sesuatu yang bisa dikatakan untuk perusahaan yang dapat mengambil pandangan mereka sendiri tentang apa yang Agile dan membaginya menjadi sesuatu yang lain.


8

Saya bekerja pada tim Agile yang sangat sukses, serta beberapa yang berusaha Agile, tetapi tidak bisa membuatnya bekerja.

Yang sukses memiliki unsur-unsur berikut:

  • Persyaratan yang benar-benar "Agile". Ada kisah-kisah pengguna, dan kami menandainya.
  • Pemilik produk yang tersedia. Jika cerita pengguna yang saya koding tidak lengkap, saya bisa dengan mudah pergi ke pemilik produk, bertanya padanya apa yang harus ada di sana, menambahkannya, dan melengkapi kodenya.
  • Komitmen terhadap proses dan kesadaran bahwa itu adalah kurva belajar.
  • Tim yang fokus.
  • Manajer yang tahu dan mengerti cara Agile dalam melakukan hal-hal yang berkomitmen untuk membuatnya bekerja.

Tim yang sukses melakukan Agile, dan melakukannya dengan sangat baik. Saya akan berpikir bahwa jika Anda tidak memiliki poin-poin di atas, Anda bisa gagal dengan mudah. Hal pertama dan kedua berjalan beriringan, dan jika Anda tidak memilikinya, maka Agile tidak akan berfungsi.

Tim yang saya ikuti yang tidak melakukan Agile dengan baik memiliki beberapa elemen juga:

  • Kurangnya komitmen dari manajemen. Manajemen tidak percaya pada filosofi, dan sebagai akibatnya ragu untuk berkomitmen.
  • Persyaratan didokumentasikan di tempat lain selain cerita pengguna. Lihat di atas tentang komitmen manajemen. Selain itu, kami memiliki analis persyaratan yang dibayar tinggi dan alat persyaratan mahal yang dibutuhkan seseorang untuk membenarkan penggunaannya.

Cukup banyak mencerminkan pengalaman saya dengan Agile, +1. Entah seluruh tim (termasuk perwakilan bisnis dan manajemen) berkomitmen untuk berjalan Agile dan bekerja dengan baik, atau hanya beberapa pengembang yang ingin melakukannya dan ini merupakan kasus crash-and-burn.
Amos M. Carpenter

7

Saya akan menambahkan jawaban bagus yang sudah diposting bahwa, berdasarkan pengalaman saya, lincah dan khususnya Scrum hanya akan berfungsi jika manajemen DAN tim bersedia menaruh banyak visibilitas tentang apa yang terjadi.

Ini berarti bahwa di perusahaan publik (pemerintah misalnya), akan sangat sulit untuk membuatnya berfungsi dengan baik.


5

Agile menurut saya adalah semua tentang budaya tim yang berlatih. Jika budaya menyebalkan, anggota tim tidak rukun, dan orang-orang tidak berkolaborasi untuk memenuhi komitmen sprint maka budaya atau tim kurang.

Namun saya tidak perlu mengatakan bahwa Waterfall akan selalu bekerja di lingkungan seperti itu, ini bukan situasi hitam dan putih, sangat sedikit yang benar-benar hitam dan putih.

Tim Agile yang baik adalah komunal. Mereka memiliki semangat kesukuan di mana semua anggota bekerja menuju tujuan yang sama. Tim berhasil atau gagal bersama. Mereka bekerja bersama dalam memecahkan masalah. Seorang anggota tim akan menghentikan apa yang dia lakukan dengan tugasnya untuk membantu anggota tim yang berjuang keluar. Semuanya tenggelam atau berenang.

Ketika ini tidak terjadi maka dengan cepat menjadi jelas apa yang salah. Jika anggota tim sedang duduk, mengetik di laptop atau mengirim pesan teks, atau membuat zonasi selama standup harian maka Anda tidak memiliki tim Agile yang baik. Jika manajer proyek Anda menegakkan semua prosedur, definisi, dan terminologi Scrum, tetapi semua orang hanya menjaga irama dan membayar layanan bibir, maka ini hanya lelucon yang agak mencolok tentang apa sebenarnya Agile, dan ini dalam banyak hal menyebabkan disfungsi tim, inefisiensi. , tenggat waktu yang terlewat, dan proyek yang gagal.

Agile yang Gagal dalam banyak hal lebih buruk daripada tim Waterfall yang cukup sukses dan mungkin memiliki tingkat keberhasilan proyek yang lebih rendah.


Saya setuju, tetapi pertimbangkan misalnya proyek di mana pemilik produk tidak tersedia hampir sepanjang waktu dan ada tenggat waktu tetap yang telah ditentukan pada proyek karena sangat penting untuk melakukan demo pada konvensi (atau apa pun), dan tim Anda terdiri dari beberapa senior menggiring sebungkus junior. Jadi, ya tidak ada hitam dan putih tetapi ada beberapa karakteristik inti yang harus dimiliki sebuah proyek agar bisa bekerja dengan baik dengan Agile yang tidak ada hubungannya dengan sikap masyarakat, bukan?
Chepech

5

Saya tidak tahu ini dari pengalaman pribadi, tetapi secara hipotetis, ada banyak keadaan ketika lincah bukan pilihan terbaik.

  • Proyek yang produknya penting untuk kehidupan atau properti - Misalnya, Anda tidak ingin menggunakan gesit untuk mengembangkan perangkat lunak yang menjalankan alat pacu jantung Anda. Mengapa? Karena Anda memiliki toleransi hampir nol untuk kesalahan. Pertimbangkan contoh klasik kesalahan pemrograman dalam kedokteran sehubungan dengan Therac 25 . Memang, itu tidak dibangun dengan lincah, tetapi intinya adalah: Mengembangkan kehidupan atau properti kritis bukanlah tempat untuk mengatakan, "kita akan membersihkan itu di sprint berikutnya" atau "kita tidak perlu hebat, hanya baik cukup."

  • Proyek dengan terlalu banyak pengembang junior - Agile mengharapkan sejumlah otonomi dalam kelompok yang berpartisipasi. Jika tidak ada cukup pengalaman dalam tim, maka otonomi itu dapat merugikan Anda.

  • Proyek yang membutuhkan tingkat kontrol atau perencanaan yang lebih tinggi daripada yang ditawarkan secara tradisional dengan Agile.

Saya berasumsi bahwa orang lain akan melompat masuk dan membantu dengan contoh yang lebih baik, atau menurunkan sedikit babat yang telah saya tulis ;-).

Ingatlah bahwa ketika satu-satunya alat yang Anda miliki adalah palu, setiap masalah terlihat seperti paku. Tidak semua proyek paku.


5
Agile tidak menghalangi sistem yang kritis terhadap kehidupan. Jika suatu item tidak sepenuhnya diuji dan diterima oleh pelanggan, itu tidak "selesai" dan tidak dirilis, tidak peduli apakah sprint dilakukan. Mungkin saja barang-barang lain (persyaratan, cerita) telah dilengkapi dan diuji dengan baik selama sprint, sehingga mereka BISA dilepaskan - jika pelanggan menginginkannya. Agile selalu memberikan apa yang dibutuhkan pelanggan, dengan kualitas tinggi.
Matthew Flynn
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.