Agile Software Development : 5W+1H

Bramanta Nararya
Kami PeoPLe
Published in
3 min readApr 13, 2020

Agile secara harfiah berarti able to move quickly and easily. Dari pengertian tersebut dapat diinterpretasikan bahwa agile software development adalah proses/teknik pengembangan perangkat lunak yang dapat ‘move’ secara cepat dan mudah. Di bawah ini penulis akan menjelaskan 5W+1H dari agile software development

What

Agile adalah sebuah sudut pandang yang pertama diperkenalkan di dunia pengembangan perangkat lunak dimana sudut pandang ini dipayungi oleh 4 value yang dipopulerkan di ‘Agile Manifesto’ dan ditopang dengan 12 prinsip

4 Value dari Agile adalah:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

Agile’s 12 Principles:

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  2. Deliver working software frequently, from a couple of week to a couple of months, with a preference to the shorter timescale.
  3. Welcome changing requirements, even late in development. Agile’s processes harness change for the customer’s competitive advantage.
  4. Business people and developers must work together daily throughout the project
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  7. Working software is the primary measure of progress.
  8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  9. Continuous attention to technical excellence and good design enhances agility
  10. Simplicity — the art of maximizing the amount of work not done — is essential.
  11. The best architectures, requirements, and designs emerge from self-organizing teams.
  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Why

Alasan dibalik penggunaan agile software development adalah delivery produk yang cepat karena prioritasnya adalah mencapai minimum viable product. Bukan hanya cepat tetapi juga fleksibel dalam praktiknya. Selain cepat dan fleksibel prosesnya pun transparan karena progressnya dapat dipantau dengan mudah.

When

Agile digunakan saat requirement yang ada cukup banyak dan prosesnya cukup kompleks

Who

Siapa yang berperan di dalam agile? Secara umum dapat digambarkan ada 3 role yang berperan:

  • Product Owner: product owner adalah pemilik modal dan juga produk yang akan menentukan requirement, cost dll
  • Scrum Master: scrum master berperan sebagai pelatih yang akan bekerja untuk memonitor progress development team dan menjadi jembatan antara development team dan product owner
  • Development Team: development team adalah tim yang akan mengerjakan produk yang diminta oleh product owner

Where

honestly i don’t know how to answer ‘where’ in agile lol

Tapi secara umum agile dapat digunakan dimanapun

How

Lifecycle dari agile dapat dibagi 4 secara umum:

  1. Planning
  2. Execution
  3. Review
  4. Repeat

Keempat poin diatas disebut sebagai sebuah sprint. Pengembangan perangkat lunak akan terdiri dari banyak sprint dimana dari tiap sprint akan dihasilkan improvement yang disebut dengan increment.

Sebelum memulai planning tentunya ada daftar backlog yang harus dikerjakan dan dalam masa planning beberapa backlog akan diambil untuk dikerjakan sesuai prioritas dalam suatu sprint.

Setelah backlog didapat biasanya akan dibreakdown lagi menjadi task task yang lebih kecil. task-task tersebut akan dikerjakan oleh development team pada masa sprint

Diujung sprint akan ada review dimana akan dibahas backlog mana saja yang sudah selesai menurut ‘definition of done’ dan juga akan ada pembahasan kesulitan pengerjaan dll.

Contoh Penerapan Agile

Implementasi agile yang dapat menjadi contoh adalah penerapan agile di PPL Fasilkom UI. Di sini kami memakai framework scrum yang mana scrum adalah salah satu framework dalam implementasi agile. Dimana prosesnya belangsung dalam 5 sprint. 1 sprint berlangsung selama 2 minggu.

Mulai dari sprint planning kami mengambil backlog yang ada untuk dikerjakan pada sprint tertentu. Lalu backlog yang kami tetapkan untuk sprint itu di breakdown menjadi beberapa task dan kami masukkan ke board.

Daily standup kami lakukan 1 minggu 2 kali bersama dengan scrum master.

Semoga artikel ini bermanfaat!

--

--