Mengapa Agile, Bagaimana dengan Waterfall?
Waterfall Model memiliki proses dan jeda yg panjang antara requirement dan product delivery, sehingga riskan terjadinya pembatalan proyek.
Selain itu, metode
waterfall ini tidak memungkinkan untuk banyak revisi jika terjadi kesalahan dalam prosesnya. Karena setelah pengembangan aplikasi memasuki tahap pengujian, sulit untuk kembali lagi dan mengubah sesuatu yang tidak terdokumentasi dengan baik dalam tahapan sebelumnya.
Pada Februari tahun 2001, dicanangkan oleh Jon Kern, Kent Beck, Ward Cunningham, Arie van Bennekum, Alistair Cockburn, dan 12 orang lainnya, terciptalah nilai baru yang disebut
Agile Manifesto. Nilai-nilai Agile Manifesto ini yang mendasari Agile Software Development.
Agile Manifesto memiliki 4 nilai sebagai
Agile Value yaitu:
- Individuals and interactions over processes and tools,
- Working software over comprehensive documentation,
- Customer collaboration over contract negotiation, serta
- Responding to change over following a plan.
Keempat nilai tersebut, dijabarkan ke dalam 12 prinsip sebagai
Agile Principles
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity--the art of maximizing the amount of work not done--is essential.
- The best architectures, requirements, and designs emerge from self-organizing teams.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Berikut ini
perbandingan Waterfall dan Agile
|
|
| Agile versus Waterfall comparison chart |
| Comparison |
Waterfall |
Agile |
| Inception |
1950 |
2001 |
| Roots |
Infrastructure and engineering |
Software development |
| Client interaction |
Minimal |
Encouraged |
| Founding artifact |
Managing the Development of Large Software Systems by Winston Royce |
The Agile Manifesto |
| Implementation frameworks |
Agilefall, Sashimi, Incremental Waterfall, Wagile |
Scrum, Kanban, Lean, XP, Crystal, FDD, DSDM |
| Preferred by |
Banks, governments, insurance companies, large teams |
Startups, small teams, SaaS products, small companies |
| Highest priority |
Deliver an end product that matches initial requirements |
Continuously deliver working software to the client |
| Benefits |
Enables organizations to do extensive, upfront estimation and planning |
Enables teams to rapidly respond to changing requirements |
| Drawbacks |
Lack of customer involvement and an overwhelming amount of upfront documentation |
Software delivery timelines can be difficult to estimate if requirements frequently change |
Bisakah kita menggabungkan Agile dan Waterfall?
Masih terdapat orang-orang yang fanatik di kedua sisi perdebatan Agile vs. Waterfall. Dan dalam praktiknya, belum banyak yang menggunakan kombinasi dari kedua pendekatan ini. Kombinasi Agile dan Waterfall dalam bahasa sehari-hari bisa disebut sebagai Agilefall atau Wagile.
Bank, perusahaan asuransi, dan pemerintah cenderung melakukan pengumpulan dan analisis requirement sejak awal inisiasi. Ruang lingkup project benar-benar dijaga, dan ada keharusan untuk melakukan analisis anggaran serta mendapatkan persetujuan (sign-off) dari berbagai pihak yang berkepentingan. Cara kerja seperti ini merupakan cara kerja Waterfall.
Kemudian, ketika pengembangan sudah dimulai, akan digunakan kerangka kerja Agile seperti Scrum atau Kanban dan melakukan pengembangan berulang (iterasi). Perubahan pada paket yang sebelumnya telah disusun, bisa diperkenankan karena pengembangan perangkat lunak (aplikasi) secara terus menerus dikirimkan ke pelanggan (user). Dan cara kerja ini adalah inti dari kelincahan (
agility).
Tren industri selama 20 tahun terakhir telah mulai menjauh meninggalkan Waterfall dan merangkul pendekatan dan implementasi Agile. Strategi pengembangan dengan pendekatan ini dapat menjadi pilihan bagi perusahaan.
Prev
Next