Pengembangan Perangkat Lunak Agile untuk ConnectDot

Yudhistira Erlandinata
Energizer AAA
Published in
4 min readApr 3, 2019

Pengembangan aplikasi ConnectDot oleh tim developer EnergizerAAA akan menjadi studi kasus PPL agile pada artikel ini. Saya akan go through poin-poin penting agile satu per satu.

Agile Manifesto

Individuals and interactions over processes and tools

Kami mengutamakan tim kami ketimbang proses yang komprehensif maupun tools canggih. Kami ingin yang terpenting adalah tim nyaman dalam mengembangkan aplikasi ini. Proses yang akan kami rencanakan pun sebisa mungkin adalah proses yang semua orang dalam tim nyaman melaksanakannya. Begitu pula dengan alat-alat yang kami gunakan untuk pengembangan perangkat lunak. Ada anggota kelompok kami yang tidak familiar dengan linux-based-OS, maka kami tidak paksakan semua orang menggunakan linux untuk mengembangkan aplikasi, walaupun linux sangat powerful dalam pengembangan aplikasi.

Working software over comprehensive documentation

Tentu kami mengutamakan aplikasinya bekerja ketimbang dokumentasi yang komprehensif. Tim pengembang hanya terdiri dari 6 orang, maka dari itu dokumentasi yang singkat dan padat pun sudah cukup seharusnya. Apabila ada pertanyaan, bisa langsung ditanyakan ke orang terkait dalam tim. Tujuan kami membuat dokumentasi pada pengembangan aplikasi ini adalah agar tidak ada pertanyaan yang diulang berkali-kali, bukan agar orang dapat paham API yang kita buat dengan sekali membaca dokumentasi.

Salah satu contoh dokumentasi yang kami buat. Untuk hal yang sudah sangat jelas, kami tak jelaskan lagi secara rinci.

Customer collaboration over contract negotiation

Kami menjaga komunikasi dengan client kami. Kami berdiskusi tentang apa-apa saja yang seharusnya dikembangkan terlebih dahulu, dan bagaimana desain tampilan aplikasinya. Kami tidak membuat kontrak semacam “dalam dua minggu, harus sudah seperti ini…”

Responding to change over following a plan

Di tengah-tengah, kadang rencana yang kami buat tampak terlalu sulit untuk dilaksanakan. Padahal, awalnya nampaknya cukup jelas apa yang harus dikerjakan. Salah satu anggota kami ada yang menceritakan bagaimana rencana yang sudah dibuat di awal ternyata perlu “belok” pada sebuah blog post.

The Principles Behind Agile

1. Agile first priority is to fulfill the customer need from beginning to end and continuous improvement to add into valuable software.

Kami selalu mengirimkan sebuah software bekerja di akhir sebuah sprint, sehingga semua “improvement” bersifat incremental terhadap sebuah software yang sudah bekerja, sudah punya nilai.

2. Agile allow change in requirements in the late in the development as well.

Kami selalu harus siap mendengarkan client kami apabila ada perubahan requirements. Agar perubahan requirement tidak terlalu menyakitkan, maka pengembangan perangkat lunak harus incremental, tidak bersifat sekaligus jadi. Kami pun menerapkan scrum dalam mengembangkan ConnectDot

3. Agile works on delivering software regularly interval i.e. from couple of weeks to couple of month based on project.

Kami mengadakan sprint review dua minggu sekali bersama client. Pada saat sprint review itu, kami menyajikan perangkat lunak “deliverable” kepada client.

4. Close, daily cooperation between business people and developers throughout the project.

Kami pun punya grup whatsapp bersama dengan client agar semuanya bisa saling mudah menghubungi, kapan pun dan di mana pun.

5. Key point is to trust, support and motivate individuals to get it projects build on time.

Kami saling percaya bahwa tiap-tiap anggota mampu bekerja dengan baik. Apabila ada yang mengalami kesulitan pun, kami saling membantu.

6. Daily face-to-face conversation is key point in agile testing. This is most efficient & effective way of communication.

Kami bertemu setiap hari dan membicarakan ConnectDot setiap hari, walaupun hanya sebentar. Kami membuat pertemuan yang lebih formal antaranggota tim dua kali dalam seminggu dalam sebuah “standup meeting”.

7. Measuring progress by the amount of completed work.

Kami tidak mengukur progress dari banyaknya pekerjaan yang belum selesai. Kami mengapresiasi dengan baik pekerjaan yang diselesaikan oleh masing-masing anggota.

8. Continually seeking excellence

Kami menjaga kualitas kode program yang kami buat dengan menerapkan TDD dan memaksa code coverage 100%, serta menerapkan segala macam best practice.

9. Harnessing change for competitive advantage

Kami siap berubah demi keuntungan kompetitif, bagaimana pun caranya itu. Kami adakan sprint planning dua minggu sekali agar kami bisa berubah dengan cepat ketika memang diperlukan untuk berubah.

10. Simplicity

Kami mementingkan proses yang sederhana ketimbang proses yang terbukti dan teruji tetapi rumit. Kami juga memilih teknologi yang implementasinya tidak rumit agar tidak menghabiskan waktu kami.

11. Self-organizing team come out with best architectures, requirements, and designs.

Masing-masing individu tim kami saling menyalurkan dan memperbaiki ide-ide yang sudah kami punya, kapan pun ada kesempatan untuk melakukannya.

12. Regular adaptation to changing circumstances with more effective way.

Dengan komunikasi yang baik dan sering, dengan cara diadakannya “standup meeting” dua kali seminggu dan komunikasi lewat group chat kapan pun itu, kami siap beradaptasi pada perubahaan apa pun dengan baik.

--

--

Energizer AAA
Energizer AAA

Published in Energizer AAA

We post stories all about an app we develop called ConnectDot.

No responses yet