Untuk kejelasan, batas waktu adalah:
Batas waktu atau tenggat waktu adalah bidang waktu yang sempit, atau titik waktu tertentu, di mana tujuan atau tugas harus diselesaikan.
Dari wikipedia
Seluruh karier pengembangan perangkat lunak saya, saya telah melakukan "Agile" yang di mana-mana tampaknya berarti setidaknya praktik berikut dipatuhi:
- Sprint Mingguan atau Bi-Mingguan
- Perencanaan Sprint Retrospektif
- Seorang pemilik produk
- Scrum
- Kisah Pengguna
Namun, setiap proyek yang pernah saya ikuti bersikeras untuk menetapkan tenggat waktu. Mengingat bahwa Agile berusaha untuk fokus pada perencanaan adaptif, fleksibilitas, dan perubahan; apakah tenggat waktu Agile?
Pendapat saya sendiri adalah mereka tidak, karena saya melihat tenggat waktu mengarah pada kurangnya fleksibilitas dan kualitas. Sebaliknya, saya pikir itu memberikan nilai lebih untuk fokus pada Sprint dan pengiriman awal. Namun tampaknya, di setiap lingkaran saya telah berada, ini tidak terjadi, dan tenggat waktu dipandang berjalan seiring dengan pengembangan Agile.
Jawaban:
Tenggat waktu adalah kenyataan. Sering kali Anda harus memiliki sesuatu pada tanggal tertentu. Itu tidak bisa dihindari. Tanpa tenggat waktu, bahkan proyek yang gesit dapat tunduk pada Hukum Parkinson :
Dengan kata lain, jika proyek Anda dapat berlangsung selamanya, itu akan berlangsung.
Sehubungan dengan tenggat waktu, Agile mencoba melakukan beberapa hal:
Dengan begitu, ketika hari yang tak terhindarkan datang, Anda tidak memiliki setumpuk kode yang tidak berguna, tetapi produk yang berfungsi dan telah diuji dengan, mudah-mudahan, hanya hal-hal yang paling tidak penting yang belum selesai. Dan tidak ada yang terkejut dengan produk jadi.
Jadi iya. "Agile" dan "deadline" bisa sangat kompatibel.
sumber
Tenggat waktu adalah fakta kehidupan. Ada hal-hal yang memiliki tanggal yang sangat tegas.
atau
dan sejenisnya. Seseorang tidak dapat menunda Comdex atau Black Friday - seluruh dunia tidak berfungsi seperti itu.
Sasaran yang dimiliki Agile adalah bahwa hal-hal yang tidak memenuhi tenggat waktu akan gagal lebih cepat (dan itu adalah hal yang baik), atau cakupannya dapat diperiksa kembali lebih cepat sehingga sumber daya dapat difokuskan pada ROI yang benar dalam suatu lebih tepat waktu.
Batas waktu adalah tanggal yang sulit yang ditetapkan dengan tegas. Agile adalah alat yang memungkinkan seseorang untuk menyadari sebelumnya dalam siklus bahwa perangkat lunak akan memakan waktu dua kali lebih lama untuk berkembang seperti yang diharapkan semula. Penting bagi manajer proyek untuk dapat merealisasikan masalah-masalah ini lebih awal daripada kemudian sehingga sumber daya yang lebih banyak dapat ditambahkan, ruang lingkup berubah, batas waktu disesuaikan (dalam situasi di mana ia merupakan perusahaan daripada tenggat waktu yang padat) atau proyek dibatalkan.
Transparansi yang dicari Agile adalah menunjukkan masalah dan kemajuan di awal siklus. Kegagalan pengiriman air terjun klasik adalah salah satunya Anda menghabiskan waktu berbulan-bulan di balik pintu tertutup dan mengirimkan produk seminggu sebelum tenggat waktu dan diberi tahu bahwa Anda melakukan semuanya salah dan Anda membuang-buang waktu berbulan-bulan (dan sekarang benar-benar telah menghancurkan tenggat waktu) . Kegagalan air terjun klasik lainnya adalah mencari tahu seminggu sebelum tenggat waktu Anda masih punya waktu berbulan-bulan. Agile berusaha membuat masalah ini diketahui sejak awal dalam proses.
Bagian lain yang ingin dilakukan oleh Agile dalam konteks tenggat waktu adalah bahwa meskipun hanya sebagian dari fitur yang disepakati yang lengkap (untuk alasan apa pun), versi perangkat lunak saat ini bermanfaat dan dapat digunakan.
sumber
Beberapa tenggat waktu harus dipenuhi. Kewajiban kontraktual, konvensi, persyaratan peraturan. Beberapa dipaksakan oleh manajer yang ingin dapat menempatkan pengembangan perangkat lunak dalam bagan yang sama dengan manufaktur pada spreadsheet mereka. Apa pun penyebabnya, kebanyakan orang tidak dapat melepaskan diri dari mereka.
Jika Anda bekerja dalam tim yang berfungsi maka komunikasi antara pengembang dan manajemen / pemangku kepentingan berarti bahwa orang-orang yang perlu mengambil keputusan diberi informasi dengan baik untuk memutuskan apakah melewatkan tenggat waktu atau melanjutkan pengembangan lebih penting.
Bahkan jika Anda mengirimkan cerita pengguna yang telah selesai seminggu sekali, atau dua kali sebulan Anda mungkin masih memiliki tenggat waktu. Ketika seseorang muncul, pastikan pemangku kepentingan Anda tahu apa yang menurut Anda cocok dengan tenggat waktu dan menetapkan harapan.
Jika Anda terus-menerus membangun perangkat lunak terbaik yang dapat Anda lakukan dengan persyaratan yang Anda miliki saat ini di setiap tahap, maka tenggat waktu di akhir setiap sprint seharusnya tidak menjadi masalah. Praktis, ini biasanya tidak terjadi, tetapi kemudian tidak ada tenggat waktu yang muncul dari udara tipis. Tenggat waktu paling penting yang pernah saya berikan dikomunikasikan kepada saya jauh sebelumnya, itu adalah harapan dari kualitas dan fitur yang menjadi masalah.
sumber
Tenggat waktu sewenang-wenang yang tidak memiliki konsekuensi jika terlewatkan tidak terlalu gesit, tetapi ada situasi di mana karena alasan di luar tenggat waktu kontrol tim pengembang harus ditetapkan dan dipelihara. Untungnya, jika tenggat waktu masuk akal ada banyak cara untuk membalikkan persamaan dan menangani tenggat waktu dengan cara Agile.
Tenggat waktu tidak selalu salah. Seperti yang kita semua pelajari dari Obi-Wan:
Adalah adil untuk mengatakan bahwa dalam kebanyakan kasus tenggat waktu konyol, tidak perlu, dan tentu saja tidak Agile, tetapi akan bodoh untuk mengatakan bahwa ini selalu terjadi. Kasing architypal adalah perangkat lunak yang diperlukan untuk penggunaan yang sensitif terhadap waktu, seperti perangkat lunak pelacakan pemilihan. Jika perangkat lunak tidak siap pada waktunya untuk pemilihan, itu tidak masuk akal atau praktis untuk menunda pemilihan, dan itu tampaknya tidak terlalu berorientasi pelanggan untuk hanya mengatakan 'Maaf, sepertinya kita butuh waktu terlalu lama. Saya tahu perangkat lunak yang Anda bayar ini sama sekali tidak berharga, tetapi tenggat waktu tidak Agile, jadi bagaimana Anda dapat benar-benar menentang kami karena tidak memenuhi mereka? '
Tidak terlalu gesit untuk memberitahu pelanggan Anda untuk mendorongnya karena menginginkan sesuatu yang peka terhadap waktu, dan pada akhirnya seseorang harus membangun barang-barang ini. Jadi bagaimana kita masih bisa membuat pelanggan senang dan masih memberikan solusi yang tampaknya masuk akal untuk hal-hal yang sensitif waktu? Nah, jika mengembangkan perangkat lunak membutuhkan waktu yang tidak pasti, dan tenggat waktunya tidak berubah-ubah, sesuatu yang lain hanya perlu variabel untuk menangani ketidakpastian itu ...
Jika tanggal pengiriman dijaga konstan, beberapa aspek lain menjadi variabel.Seperti yang kita semua tahu, ada banyak ketidakpastian dalam proyek perangkat lunak. Sesuatu harus dibuat variabel dalam menanggapi ketidakpastian ini jika Anda ingin sukses dalam proyek Anda, dan biasanya itu adalah tanggal pengiriman. Sepertinya cukup alami. Tapi itu bukan satu-satunya pilihan Anda. Jika Anda terjebak berkomitmen pada tenggat waktu yang sulit, cara untuk mengatasinya adalah membuat variabel fitur yang Anda kirim menjadi variabel. Prioritaskan daftar fitur, komunikasikan dengan jelas bahwa ada ketidakpastian dalam jumlah fitur yang dapat dikirim pada tanggal tersebut. Bekerja dengan pelanggan untuk memprioritaskan fitur-fitur ini sehingga yang paling penting akan memiliki kemungkinan lebih tinggi untuk dikirim. Kemudian, itu bisnis seperti biasa, hanya ketika tenggat waktu bergulir di sekitar Anda mengirimkan apa pun yang siap dikirim. Dalam model ini,
sumber
Jika seseorang ingin menetapkan tenggat waktu maka itu baik dan tenggat waktu dapat diperbaiki, tetapi yang harus mereka pahami adalah bahwa jika tenggat waktu ditetapkan, maka ruang lingkup harus tetap fleksibel.
tl; dr
Dalam dunia yang ideal kita tidak akan memiliki tenggat waktu dan hanya mengirimkan barang ketika sudah siap. Kenyataannya adalah bahwa orang membayar untuk hal-hal yang biasanya ingin tahu kapan mereka selesai. Metodologi lincah memang mengenali ini tetapi juga mengakui bahwa tidak semuanya dapat diikat.
Ini memastikan bahwa Anda dapat menjaga kualitas pengiriman pada tingkat yang tepat untuk produk. Jika Anda memperbaiki tenggat waktu dan ruang lingkup (dan anggaran), maka segala sesuatunya menjadi tergesa-gesa dan Anda berakhir kembali di dunia air terjun lama dengan waktu krisis yang gila-gilaan di akhir proyek. Meningkatkan anggaran biasanya bukan jawabannya, karena menambahkan lebih banyak pengembang dan penguji tidak menyelesaikan masalah lebih cepat. Ini adalah pandangan yang terkenal (dan saya setuju dengan itu dari pengalaman), bahwa semakin banyak orang yang Anda tambahkan (masing-masing dengan kelemahan mereka sendiri) semakin banyak waktu yang dibutuhkan.
Sekarang, biasanya (kecuali mereka benar-benar mengerti metode Agile) orang yang membayar perangkat lunak tidak suka diberitahu, kami dapat memenuhi tenggat waktu Anda, tetapi kami tidak dapat melakukan semua yang Anda inginkan. Ini dapat dikelola dengan memprioritaskan fitur yang membentuk perangkat lunak. Diskusi prioritas Anda mungkin seperti:
Sekarang Anda dapat mulai bekerja melalui fitur-fitur dalam urutan prioritas. Memang membantu juga melihat ke depan dengan tim Anda ke item-item yang lebih rendah dalam urutan prioritas dan membuat beberapa perkiraan awal, mengetahui bahwa Anda dapat mengubahnya ketika Anda mendapatkan pengembangan ketika Anda memiliki lebih banyak informasi. Ini dapat digunakan untuk mendefinisikan ulang atau membuat peta jalan Anda jika Anda belum memilikinya. Ini kemudian membentuk dasar dari rencana rilis Anda. Peta jalan dapat didiskusikan dengan pelanggan yang mengakui bahwa ruang lingkup dapat berubah tetapi Anda memiliki urutan hal yang harus disampaikan.
Salah satu keuntungan agile adalah bahwa Agile mengakui bahwa segala sesuatu berubah ketika Anda melalui pengembangan dan Anda menyesuaikan diri sebagaimana mereka lakukan. Berlawanan dengan pendekatan yang lebih tradisional, prinsip ini, dalam hubungannya dengan kiriman sprint reguler dan komunikasi berkelanjutan dengan pelanggan, berarti bahwa Anda secara alami dipaksa untuk lebih transparan tentang kemajuan, yang merupakan hal yang baik.
Kadang-kadang pelanggan tidak suka bahwa mereka tidak akan mendapatkan apa yang mereka inginkan pada tanggal tertentu tetapi mereka akan mengerti mengapa dan apa yang mereka dapatkan akan memiliki kualitas yang baik. Dan 6 bulan setelah fitur dikirimkan, pelanggan tidak akan peduli atau ingat bahwa Anda dikirim pada tanggal tertentu, mereka akan mengingat kualitas produk yang masih mereka gunakan.
sumber
Tenggat waktu secara tradisional didasarkan pada siklus hidup bisnis. Perangkat lunak pajak harus masuk paling lambat 15 April. Pelaporan untuk tahun fiskal berikutnya mungkin perlu dilakukan pada bulan Juli.
The Agile Manifesto negara:
Tenggat waktu adalah kontrak. Mereka adalah rencana. Mereka tidak menanggapi kecepatan tim Anda. Mereka tidak berubah jika Anda kehilangan tiga pengembang terbaik Anda.
Tenggat waktu bukanlah Agile, tetapi Agile dapat memberi kami umpan balik tentang tenggat waktu. Agile beritahu kami jika kecepatan kami tidak akan membiarkan kami membuat tenggat waktu tanpa fitur terpotong. Ini juga memberi tahu kami jika kami perlu menyewa untuk membuat tenggat waktu. Dan dalam beberapa kasus, ini memberi tahu kami bahwa tenggat waktu tidak mungkin, ketika tidak ada fitur yang tersisa untuk dipotong.
Hal terbaik yang bisa dilakukan oleh tim Agile, adalah membiarkan kecepatan mereka dan jaminan simpanan yang diprioritaskan mendorong tenggat waktu. Ini akan memberikan perkiraan tanggal pengiriman. Jika mereka berada di luar batas waktu, maka sudah waktunya untuk pembicaraan serius dengan klien dan menentukan apakah batas waktu itu bisa dilakukan.
sumber
Saya akan mengatakan bahwa pengiriman setiap sprint tidak dapat dinegosiasikan. Anda menilai pekerjaan, Anda meletakkan ukuran kartu di atasnya, dan Anda memuat cukup untuk membuat tim Anda sibuk sampai sprint berakhir (dan sprint harus kecil - apa saja dari seminggu hingga sebulan). "Batas waktu pengiriman" harus didasarkan pada tren historis pekerjaan yang diselesaikan terhadap pekerjaan yang diantisipasi. Agile menambahkan / menghilangkan apa pun dari gagasan kendala "biaya / waktu / ruang" lama, ia hanya menggunakan ruang lingkup sebagai metode yang lebih disukai untuk mengelola selip berdasarkan bahwa prioritas yang lebih baik terhadap ruang lingkup umumnya lebih disukai daripada menghabiskan lebih banyak uang atau waktu.
Beberapa orang tampaknya bingung lincah untuk "barat liar". Agile tidak berarti apa pun berjalan. Agile berarti kita berhenti membohongi diri sendiri tentang seberapa baik orang yang masuk akal bisa memperkirakan. Pada dasarnya kita dapat memperkirakan pengembangan perangkat lunak sekitar 2 - 4 minggu ke depan. Di luar itu, semuanya berbagai tingkat curian dan tebakan. Lebih buruk lagi, biaya menyediakan perkiraan untuk hal-hal lebih jauh dan lebih jauh ke masa depan mendekati biaya hanya melakukan pekerjaan. Untuk alasan apa pun, Manajer Proyek secara historis tidak mau mengakui kebenaran absolut ini kepada pelanggan. Agile hanya menyesuaikan pemikiran itu dengan menyatakan bahwa ada batas seberapa baik kita dapat memprediksi masa depan dalam rekayasa perangkat lunak, dan membuat peralihan halus ke "estimasi berbasis bukti" untuk peramalan jangka panjang.adalah mampu memperkirakan, dan kami dapat memberikan perkiraan yang cukup masuk akal pengiriman masa depan jangka panjang berdasarkan apa yang telah kami memberikan sejauh ini.
sumber
TL; DR
Banyak jawaban di sini cenderung berfokus pada aspek teknik dari pertanyaan. Sebaliknya, saya akan membahas ini dari perspektif manajemen proyek.
Tenggat waktu menyiratkan banyak perencanaan di muka yang tidak sejalan dengan prinsip tangkas. Alih-alih, model pengembangan berulang mengandalkan kotak waktu, irama, dan rilis siklus yang mencakup perencanaan tepat waktu, tetapi bukan "perencanaan besar, di muka" yang umumnya terkait dengan tenggat waktu manajemen proyek tradisional.
Masih dimungkinkan untuk melakukan perencanaan rilis dengan metodologi lincah, tetapi rencana umumnya didasarkan pada perkiraan jumlah iterasi yang diperlukan untuk memenuhi tujuan daripada target manajemen yang ditetapkan oleh fiat. Itu bukan untuk mengatakan bahwa tanggal pengiriman tidak dapat ditetapkan, atau bahwa tujuan tidak dapat dipenuhi, tetapi cara mereka didefinisikan dan dipenuhi sangat berbeda dari pada metodologi manajemen proyek tradisional.
Pikirkan Time-Boxes, Bukan Tenggat Waktu
Ini adalah kesalahpahaman umum tentang prinsip gesit. Kerangka kerja yang gesit seperti Scrum dan Kanban tidak berfokus pada tenggat waktu, tetapi pada waktu-tinju dan irama pengiriman yang berkelanjutan.
Di Scrum, misalnya, Sprint bukanlah "tenggat waktu." Ini adalah kotak waktu yang diisi dengan jumlah pekerjaan yang diperkirakan oleh tim akan masuk ke dalam kotak waktu tanpa meluap, dan kemudian "selesai" atau "tidak dilakukan" ketika kotak waktu kedaluwarsa. Setelah pergi, kotak waktu hilang selamanya; pekerjaan apa pun yang tidak dilakukan harus direncanakan ulang dan diperkirakan kembali dalam kotak waktu baru yang sama-sama fana berdasarkan kebutuhan proyek saat itu (daripada sejarah).
Pentingnya time-box adalah bahwa ia menciptakan irama yang dapat diprediksi bagi para pemangku kepentingan untuk meninjau kemajuan, dan kecepatan berkelanjutan bagi tim untuk memberikan peningkatan nilai yang berpotensi dapat dikirim . Pekerjaannya bersifat inkremental, dan mengikuti irama; konsep batas waktu yang besar di muka tidak sejalan dengan prinsip-prinsip lincah.
Perencanaan Rilis Berdasarkan Waktu-Kotak
Mungkin satu area di mana orang-orang paling sulit memetakan proses lincah ke kerangka kerja tradisional adalah perencanaan rilis. Perencanaan rilis seringkali melibatkan kiriman dengan cakupan tetap atau tanggal tetap. Dalam kerangka kerja tangkas, perencanaan rilis biasanya dilakukan melalui proses estimasi di mana ruang lingkup secara eksplisit didefinisikan sebagai variabel yang bisa berubah, sementara tanggal rilis diperkirakan dalam iterasi.
Sebagai contoh, sebuah proyek dapat berkomitmen untuk merilis v1.0 proyek di akhir 20 iterasi; ruang lingkup dari apa yang dirilis dapat berubah sepanjang umur proyek (sebagaimana ruang lingkup, fitur, dan prioritas dapat berubah pada awal setiap Sprint), tetapi tanggal target untuk setiap rilis ditetapkan dalam rencana proyek. Tim berusaha untuk memberikan peningkatan yang berpotensi dapat dikirimkan setiap Sprint, dan Definisi Selesai mencakup pemeriksaan kualitas seperti integrasi berkesinambungan untuk memastikan bahwa proyek berada dalam kondisi yang dapat dirilis di akhir setiap Sprint.
Kadang-kadang, Anda akan melihat proyek gesit di mana ruang lingkup ditetapkan, tetapi karena ruang lingkup adalah variabel yang bisa berubah dalam proyek tangkas, tanggal rilis dapat berubah seiring waktu ketika ruang lingkup setiap iterasi menyesuaikan, mengubah, atau menyesuaikan dengan kebutuhan proyek yang berkembang. . Saya tentu saja tidak merekomendasikan pendekatan lingkup tetap untuk tim tangkas, terutama tim yang tidak berpengalaman, tetapi ada kalanya pendekatan yang tepat.
Lihat juga
sumber
Pikirkan tenggat waktu sebagai komitmen. Fakta bahwa proyek ini gesit bukan berarti Anda tidak harus berkomitmen untuk memberikan fitur yang diberikan untuk tanggal tertentu.
Yang dibawa oleh ketangkasan adalah apa yang terjadi di antaranya. Alih-alih memiliki dokumen spesifikasi persyaratan perangkat lunak yang ketat yang menetapkan bahwa Anda harus memberikan fitur A yang terdiri dari sub-fitur B, C, D, dan E untuk tanggal tertentu, Anda berkomitmen untuk memberikan fitur A untuk tanggal tertentu, mengingat bahwa pada tahap awal, baik Anda maupun pelanggan Anda tidak tahu seperti apa bentuknya, atau apakah sub-fitur B, C, D dan E atau mungkin B dan C, atau selusin sub-fitur lainnya.
Bayangkan sebuah perusahaan yang sebelumnya mengirimkan barang ke perusahaan kecil saja dan baru saja menandatangani kontrak dengan perusahaan besar. Perusahaan besar ini menggunakan EDIFACT, dan tampaknya perangkat lunak akuntansi saat ini yang digunakan oleh perusahaan Anda tidak menangani EDIFACT. Anda diminta untuk membuat sebuah plugin yang melakukan itu, mengingat bahwa kontrak, perusahaan Anda harus siap untuk April 15 th .
Kelincahan akan berarti bahwa langkah perantara akan disampaikan secara progresif, dan didasarkan pada umpan balik yang teratur. Pada dasarnya, Anda akan menunjukkan kemajuan Anda kepada akuntan, dan mereka akan memberi tahu Anda apa yang mereka pikirkan tentang hal itu, apa masalah yang mungkin terjadi, dll. Ini juga berarti bahwa mungkin awalnya, akuntan memiliki ide bagus yang, menurut mereka, dapat meningkatkan secara substansial pengalaman pengguna. Tiga minggu kemudian, tampaknya bukan saja tidak meningkatkan sebanyak itu, tetapi juga akan menghasilkan satu bulan pengembangan tambahan. Berkat Agile, Anda kemudian dapat mengalihkan upaya Anda dari fitur ini ke sesuatu yang lain, memastikan pengiriman tepat waktu.
Anda juga harus memahami sudut pandang pelanggan:
Seringkali, bisnis memerlukan tanggal pengiriman tertentu. Misalnya, Anda tidak dapat memberikan layanan streaming online game Olimpiade setelah pertandingan Olimpiade berakhir. Dari segi bisnis, ini hanyalah sebuah kegagalan, dengan konsekuensi negatif yang sangat besar.
Tanpa memiliki komitmen, sangat menggoda bagi pengembang atau subkontraktor untuk menjadi perfeksionis atau menjadikan proyek prioritas rendah. Meskipun keteraturan sprint membantu, sprint tidak sepenuhnya mencegah risiko ini.
Saya tidak suka tenggat waktu untuk itu, terutama karena slip tenggat waktu terjadi dengan sangat mudah, tetapi saya masih mengerti mengapa banyak perusahaan melakukan itu. Tidak selalu mudah untuk melihat bahwa proyek berada di belakang jadwal dengan hanya melihat sprint: tenggat waktu yang terlewat, dalam konteks ini, mungkin menjadi pengingat yang jelas bahwa sesuatu berjalan di luar kendali dan harus ditangani, saat ini.
sumber
Status Pemrograman eXtreme tentang perencanaan rilis:
Tampaknya adil. Itu juga menyatakan itu
Dan seperti yang sudah dicatat oleh br3w5 , meningkatkan sumber daya adalah solusi terbatas. Anda mungkin dapat menambahkan beberapa orang yang sudah menjadi bagian dari tim jika mereka dikirim pada sesuatu yang lain. Tetapi Anda tidak bisa begitu saja meningkatkan ukuran tim dengan cepat dan tanpa batas, setidaknya tidak tanpa pengaturan ulang tim yang membutuhkan banyak waktu.
Jadi, dengan kualitas yang tidak dapat direduksi dan sumber daya tetap: tenggat waktu menjadi batasan waktu, itu berarti Anda perlu menyesuaikan ruang lingkup. Dan menggunakan kelincahan memberi Anda cara untuk memenuhi tenggat waktu dengan ruang lingkup yang paling produktif. Namun, Anda biasanya dapat menjamin bahwa beberapa bagian dari ruang lingkup akan selesai tepat waktu. Ini adalah bagian yang Anda dapat memperkirakan waktunya untuk terikat di bawah batas waktu. Biasanya sesuatu yang benar-benar dekat dengan apa yang telah Anda lakukan beberapa kali dan tidak banyak diketahui.
sumber
Tujuan dari metode pengembangan perangkat lunak, ketika dipahami dengan benar, adalah untuk membuat kita lebih produktif dengan memfokuskan pikiran kita, dan untuk menyediakan bahasa umum untuk situasi yang khas. Ini tentang inspirasi dan kemampuan, bukan tentang kontrol pikiran dan rasa bersalah.
Mengikuti metode pengembangan perangkat lunak secara harfiah tanpa kompromi apa pun sesuai dengan apa yang disebut radikalisme atau fundamentalisme dalam konteks lain. Bentuk murni penyimpangan ini jarang terlihat dalam praktik karena biasanya mengarah pada kegagalan yang cepat di pasar. Tapi tentu saja ketika pengembang bersaing dalam tugas berat menerapkan metode tertentu, melampaui tanda adalah kejadian alami.
Masalahnya diperburuk oleh fakta bahwa misionaris dan penginjil terutama menargetkan mereka yang masih perlu diyakinkan untuk menggunakan metode ini sama sekali; dan bahkan jika mereka memberitakan moderasi, sifat manusia memastikan bahwa itu kurang diperhatikan.
sumber
Tenggat waktu tidak gesit, yaitu:
1) Air Terjun, dan 2) Salah.
Perangkat lunak dan tenggat waktu tidak berfungsi dengan baik dan tidak pernah ada. Dalam banyak hal, metode Agile adalah reaksi terhadap masalah besar tenggat waktu yang terlewat atau perangkat lunak yang ditinggalkan ketika menjadi jelas bahwa tenggat waktu tidak dapat dipenuhi (serta masalah anggaran juga).
Agile berupaya menyuntikkan kenyataan ke dalam situasi dengan mengatakan "Anda tahu tenggat waktu atau fitur akan tergelincir dan / atau berubah, kita tahu itu, jadi mari kita turun dengan kaki kanan dan bahkan tidak berpura-pura".
Kuncinya adalah batas waktu menjadi tanggal rilis untuk versi pertama perangkat lunak. Itu mungkin masih ditulis dalam batu - katakanlah, perangkat lunak ini untuk penggunaan akademis dan HARUS dapat digunakan pada awal semester - tetapi apa yang akan Anda sampaikan tidak. Anda memiliki produk yang layak minimum yang setiap orang sangat yakin dapat dikirim pada saat itu, dan Anda memiliki banyak "ingin kaya". Alih-alih semua orang mengangkat tangan ketika ternyata seluruh daftar tidak akan dikirimkan oleh "tenggat waktu", Anda pastikan Anda mengeluarkan MVP keluar dari pintu dan karena banyak dari "ingin memiliki" sebagai mungkin dan kemudian menilai biaya / manfaat sisanya pada saat itu.
Siapa pun yang pernah bermain game komputer untuk waktu yang lama tahu persis cara kerjanya! Jika rilis pertama hingga standar beta banyak gamer senang, harapan yang begitu rendah dari apa yang "tegas, tenggat waktu nyata" berarti dalam kehidupan nyata.
Jadi tenggat waktu tidak gesit, mereka peninggalan dari hari-hari ketika orang berpikir bahwa perangkat lunak dapat diperlakukan seperti perangkat keras dan teknik baja. Kami telah belajar bahwa ini tidak mungkin dan tidak diinginkan, karena ia membuang kelebihan terbesar yang dimiliki perangkat lunak daripada perangkat keras: lunak.
Agile mencoba untuk mengeksploitasi kelembutan ini dengan memungkinkan tujuan untuk berkembang dan berubah selama proyek dengan cara yang tidak pernah bisa dilakukan oleh desain jembatan.
sumber
Jawab "mungkin tidak"
The Project_management_triangle menyatakan bahwa biaya, waktu dan ruang lingkup (dan juga kualitas) bergantung satu sama lain. ("pilih dua dan dapatkan yang ke-3")
Scrum sprint memilih waktu tetap (yaitu 7 hari = panjang sprint) dan biaya (yaitu anggaran untuk 7 anggota tim) dan memperkirakan ruang lingkup (jumlah cerita yang harus dilakukan dalam sprint)
Jika manajemen atau departemen penjualan mencoba mendefinisikan ketiganya (biaya, waktu, dan ruang lingkup) maka itu tidak tangkas dalam arti scrum karena tim tidak dapat tidak dapat berjanji untuk mencapai tujuan (tanpa melanggar kualitas = definisi yang dilakukan)
Manajemen profesional mencoba mendefinisikan biaya dan waktu dan mengurangi ruang lingkup jika perlu jika ada tanggal tertentu yang harus dipenuhi.
sumber
Apakah ini tidak dapat dijawab secara sederhana dan langsung?
Tidak ada tenggat waktu yang tidak gesit.
Intinya adalah untuk membangun apa yang Anda bisa dalam mode belajar berulang dan beradaptasi saat Anda pergi.
Batas waktu adalah "Anda harus mengirimkan x per tahun" yang gagal dalam kedua hal tersebut karena Anda menjanjikan hasil pengiriman tetap dalam skala waktu yang telah ditentukan sebelumnya (di mana agile mengatakan kami tidak yakin apa yang kami coba berikan, dan belajar dari lincah mengajarkan kita bahwa bahkan jika kita tahu sangat sulit untuk memiliki kepastian tentang rentang waktu - atau itu adalah masalah yang diselesaikan dan kita seharusnya tidak melakukannya).
Setelah menetapkan bahwa jawaban untuk pertanyaan adalah "Tidak, tenggat waktu tidak gesit" - maka kita dapat memiliki percakapan yang menarik yang menjawab pertanyaan "bagaimana kita mengatasi tenggat waktu dalam konteks lincah" dan ada banyak hal baik memikirkan hal itu di jawaban yang lain.
Bagi saya, jawaban yang masuk akal bagi yang terakhir adalah bahwa kami akan memberikan peningkatan nilai lebih awal dan sering dan kami akan melihat di mana kami berada pada waktunya - tetapi tidak ada satu ukuran yang cocok untuk semua.
sumber
Tingkat kelincahan yang dibutuhkan dalam pekerjaan seseorang berbanding terbalik dengan seberapa tinggi posisi mereka di bagan organisasi.
"Agile" itu baik, apa adanya. Agile "Agile" berarti "berpikiran terbuka ditambah dengan kompetensi yang memadai." Mendengus di bagian bawahlah yang paling gesit.
Jika, pada level manajemen, bos berambut runcing itu cukup gesit untuk memahami bahwa mendorong tenggat waktu satu minggu ke belakang akan menghasilkan produk yang lebih baik, atau akan membuat kode yang lebih bersih, lebih bebas bug, dan lebih dapat diupayakan sehingga perusahaan ( atau pembagian) menghemat dua minggu di masa depan, itu adalah tenggat waktu yang tangkas.
Tetapi seperti kepentingan pribadi yang tercerahkan, itu tidak benar-benar ada.
sumber