Metode Pengembangan Perangkat Lunak Masa Depan (Baca : Agile)

zain ilham
sinadin
Published in
3 min readMar 20, 2019

Agile development method merupakan metodologi pengembangan perangkat lunak dalam sistem jangka pendek yang memerlukan adaptasi cepat terhadap perubahan dalam bentuk apapun. Poin yang harus digaris bawahi tentang metode agile adalah kemampuannya beradaptasi terhadap perubahan-perubahan yang mungkin terjadi.

Agile Manifesto

Terdapat 4 nilai yang biasa disebut sebagai Agile Manifesto, yaitu:

  • Individuals and interactions over processes and tools — Pada Agile hal yang penting adalah motivasi diri, dan interaksi dengan anggota lain
  • Working software over comprehensive documentation — Mendemonstrasikan software yang sudah selesai adalah metode komunikasi yang paling baik dengan customer untuk mengetahui kebutuhan mereka
  • Customer collaboration over contract negotiation —Requirement biasanya tidak terdefinisi dengan lengkap diawal proyek, maka interaksi dengan customer secara kontinu itu penting untuk mendapatkan requirement yang jelas
  • Responding to change over following a plan — Agile berfokus kepada merespon perubahan secara cepat

Agile Principles

Selain Manifesto, Agile juga mempunyai 12 Principles yang didasari dari Manifesto, yaitu:

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.

Penerapan Agile

Ketika mengembangkan perangkat lunak dengan metode agile, ada beberapa model yang bisa digunakan diantaranya Extreme programming (XP), Scrum, Agile Unified Process (UAT), Continous Integration (CI), Acceptence Test Driven Development (ATDD), dll.

Agile akan menghasilkan suatu produk dalam beberapa rentang waktu antara 2–4 minggu yang disebut sprint. Satu sprint umumnya menghasilkan satu produk. Dalam satu sprint terdapat beberapa langkah yang dilakukan, yaitu:

  1. Planning
  2. Requirement Analysis
  3. Design
  4. Coding
  5. Unit Testing
  6. User Acceptance Test (UAT)

SINADIN feat Agile

Pengembangan perangkat lunak SINADIN menggunakan metode agile. Model yang digunakan adalah scrum. Setiap awal sprint kami akan melakukan planning backlog apa saja yang akan diambil pada sprint ini. Kami juga menentukan sprint goal yang ingin kami capai. Setelah itu kami melakukan task breakdown dari backlog-backlog yang ingin kita kerjakan. Kemudian masing-masing dari kelompok kami mengambil task-task yang ingin dikerjakan. Kira-kira seperti ini gambarannya,

Kemudian task yang diambil itu dibuat designnya. Untuk mendesignnya bisa menggunakan test atau menggambar flow programnya dahulu. Setelah itu barulah bercoding ria~~. Setelah dirasa program berjalan pastikan sudah lolos unit testing yang telah dibuat. Pada akhir sprint kami melakukan sprint review untuk mendemonstrasikan hasil kerja pada sprint ini kepada product owner. Hal ini yang membuat hati meledak seperti bertemu pujaan hati, karena sprint review yang akan menentukan apakah product backlog yang kami kerjakan diterima (CIEEEE~~) atau ditolak (AWW SAKIT). Tapi tidak perlu bersusah hati apabila ditolak. Product backlog yang ditolak dapat dimasukkan ke sprint selanjutnya. Sprint review juga akan membantu kita memahami keinginan dari product owner.

Sekian tulisan saya kali ini. Semoga teman-teman mengerti dan tertarik dengan metode agile.

AGILE IS ROCK !

--

--