Agile Person

Adib yusril Wafi
sinadin
Published in
5 min readMar 20, 2019

Agile software development merupakan suatu metodologi dalam pengembangan suatu aplikasi yang didasari dengan pengembangan yang iteratif dan dapat beradaptasi terhadap perubahan. Disebut iteratif karena dalam praktiknya setiap iterasi harus menghasilkan suatu produk yang siap pakai namun belum memenuhi semua requirement atau biasa disebut minimum viable product.

Agile Iteration

6 steps of Agile Software Development

Define Requirements

Pada tahap ini tim akan berdiskusi dengan Product Owner untuk membahas requirement yang dibutuhkan. Product Owner biasanya akan menyediakan Product Backlog Item (PBI) dan/atau wireframe, persona, atau proses flow yang diperlukan.

IU Design

Tahap ini tim development akan membuat sebuah prototype clickable untuk menggambarkan proses flow pengguna berdasarkan dokumen yang diberikan.

Development

Pada tahap ini tim development mulai menuliskan kode/mengimplementasikan seluruh requirement yang diberikan. Pengerjaan disesuaikan dengan Backlog yang dibreakdown menjadi task-task kecil.

Quality Assurance

Setelah tahap development selesai, tim development harus menguji produk tersebut. Hal yang dilakukan pada tahap ini diantaranya monitoring, uji tes dan memeriksa semua proses dalam produk. Pentingnya tahapan ini adalah untuk uji akhir kualitas produk yang dilakukan oleh Product Owner.

UAT

UAT adalah User Accepting Test yang mana pada tahap ini produk akan diuji oleh pengguna. Deliverable dari tahap ini adalah suatu dokumen yang dijadikan bukti bahwa software diterima dan memenuhi ketentuan.

Release

Tahap ini produk siap dirilis dan 1 sprint dalam proses Agile selesai.

Agile Manifesto

  • Individuals and Interactions Over Processes and Tools.

→ Pengalaman saya dengan prinsip agile yang satu ini contohnya ketika kelompok kami akan mengadakan Daily Stand Up Meeting, tetapi karena keterbasan waktu dan kesibukkan masing-masing anggota saat pekan uts, akhirnya kami memutuskan untuk melakukan kegiatan tersebut secara online melalui messenger LINE, dimana setiap anggota kelompok melaporkan progres, kendala, dan hal-hal yang selanjutnya akan dilakukan dalam Sprint tersebut.

  • Working Software Over Comprehensive Documentation.

→ Dalam pengembangan SINADIN pada setiap Sprintnya, kelompok kami memprioritaskan berjalannya fungsi aplikasi SINADIN ketimbang dokumentasi kode. Hal ini dikarenakan keterbatasan waktu pengerjaan yang berbarengan dengan beberapa tugas kuliah lainnya.

  • Customer Collaboration Over Contract Negotiation.

→ Keterlibatan pihak BPPT dalam pengembangan SINADIN merupakan suatu hal yang tidak dapat digantikan. Hal ini dikarenakan BPPT sebagai klien merupakan pihak yang paling mengetahui kebutuhan dan fungsi apa saja yang dibutuhkan oleh SINADIN. Oleh karena itu dalam pengerjaannya, kami seringkali mengkonfirmasi mengenai beberapa poin yang tidak kami mengerti sebagai contoh ketika kami kurang memahami penggunaan tabel pada database, maka kami menanyakan penggunaan dari tabel tersebut kepada pihak BPPT.

  • Responding to Change Over Following a Plan.

→ Salah satu sifat Agile adalah beradaptasi terhadap perubahan. Sebagai contoh saat pengembangan salah fitur SINADIN, kami memutuskan bahwa rancangan awal tabel database kurang cocok untuk digunakan, sehingga kami memutuskan untuk menambahkan sebuah kolom pada tabel tersebut agar dapat mempermudah implementasi fitur yang ingin dikerjakan tersebut.

12 Agile Principles

Agar suatu tim berhasil dalam menerapkan agile development methods, maka tim tersebut harus mengikuti dua belas prinsip yang ditetapkan oleh Agile Alliance.

Customer satisfaction through early and continuous software delivery
Customers are happier when they receive working software at regular intervals, rather than waiting extended periods of time between releases.

Accommodate changing requirements throughout the development process
The ability to avoid delays when a requirement or feature request changes.

Frequent delivery of working software
Scrum accommodates this principle since the team operates in software sprints or iterations that ensure regular delivery of working software.

Collaboration between the business stakeholders and developers throughout the project
Better decisions are made when the business and technical team are aligned.

Support, trust, and motivate the people involved
Motivated teams are more likely to deliver their best work than unhappy teams.

Enable face-to-face interactions
Communication is more successful when development teams are co-located.

Working software is the primary measure of progress
Delivering functional software to the customer is the ultimate factor that measures progress.

Agile processes to support a consistent development pace
Teams establish a repeatable and maintainable speed at which they can deliver working software, and they repeat it with each release.

Attention to technical detail and design enhances agility
The right skills and good design ensures the team can maintain the pace, constantly improve the product, and sustain change.

Simplicity
Develop just enough to get the job done for right now.

Self-organizing teams encourage great architectures, requirements, and designs
Skilled and motivated team members who have decision-making power, take ownership, communicate regularly with other team members, and share ideas that deliver quality products.

Regular reflections on how to become more effective
Self-improvement, process improvement, advancing skills, and techniques help team members work more efficiently.

Agile SINADIN

Dalam pengembangan SINADIN, kelompok PPL kami menggunakan metodologi Agile dengan model Scrum. Penerapan Scrum itu sendiri dibagi menjadi 6 sprint yang pada tiap sprint-nya harus melakukan langkah-langkah sebagai berikut:

Sprint Planing
Memilihi PBI untuk dikerjan kemudian dan menentukan goal dari sprint. Kemudian membreakdown backlog menjadi task-task kecil yang dapat dipilih dan dikerjakan oleh anggota.

Sprint
Setiap anggota mengerjakan task yang telah mereka ambil.

Daily Scrum Meeting
Seluruh anggota bertemu untuk melaporkan progress pengerjaan task, jika sudah selesai dapat mengambil task baru.

Sprint Review
Melakukan presentasi produk yang telah selesai dikerjakan pada saat sprint kepada product owner.

Sprint Retrospective
Melakukan introspeksi atau meninjau ulang kinerja kelompok pada saat sprint berlangsung, apa saja hal yang sudah baik dan apa saja hal yang masih harus diperbaiki.

Persona

Pada pengembangan aplikasi SINADIN kami memiliki beberapa jenis pengguna yang dapat dikategorikan menjadi 3 kelompok.

The Boss

Persona John Doe

Kategori ini menlingkupi pekerja dengan pangkat diatas Staff, seperti Kepala Bidang, Kepala Balai, dan sebagainya. Kategori ini merupakan sekumpulan orang sibuk yang tidak dapat diganggu dengan User Interface yang membingungkan. Sehingga kemudahan akses dan pemahaman UI merupakan sebuah keharusan agar dapat memuaskan mereka.

The Secretary

Persona Jane Doe

Kategori ini melingkupi staff sekretaris dan tata usaha. Mereka merupakan sekumpulan orang yang senang melihat kerapihan dan keteraturan. Sehingga User Interfacfe haruslah didesain secara rapi, seragam dan teratur tata letaknya agar tidak mengganggu para staff sekretaris.

The Staff

Persona Ryan

Kategori ini melingkupi para staff yang melakukan segala pekerjaan yang diperintahkan oleh The Boss. Pengembangan aplikasi SINADIN bertujuan agar dapat mempermudah mereka dalam melakukan pembuatan surat. Sehingga UI dan UX harus lah didesain dengan simple agar tidak menyulitkan mereka dalam mengakses aplikasi.

--

--