Fakultas Ilmu Komputer UI

2019-04-02-apt.md 3.55 KB
Newer Older
YOGI LESMANA  SULESTIO's avatar
YOGI LESMANA SULESTIO committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
---
layout: post
title: APT
date: 2019-04-02 9.58.58 +0700
author: yogi
---

Pada blog minggu ini, saya akan menceritakan pengalaman saya mengenai APT, bukan Advanced Package Tool, melainkan:

<!--more-->
Agile, Persona, dan TDD(lagi).
Seperti yang telah dipelajari di mata kuliah Rekayasa Perangkat Lunak, terdapat 4 Agile Manifesto,

berikut adalah pengalaman saya terhadap penerapan Agile di kelompok:

**Individuals and interactions over processes and tools**
Ketika kami menemukan sebuah permasalahan, seperti terdapat conflict ketika akan menge-push sesuatu,
kami akan bertanya langsung kepada individu yang bersangkutan secara tatap muka ketimbang melalui personal computer.
Hal ini menunjukkan bahwa walaupun kami menggunakan peralatan dan teknologi yang canggih, namun hubungan antar insan masih lebih penting.

**Working software over comprehensive documentation**
Secara historis, sejumlah besar waktu dihabiskan untuk mendokumentasikan produk untuk pengembangan dan pengiriman akhir.
Daftar ini luas dan merupakan penyebab keterlambatan panjang dalam pengembangan.
Agile tidak menghilangkan dokumentasi, tetapi merampingkannya dalam bentuk yang memberikan pengembang apa yang diperlukan untuk melakukan pekerjaan tanpa terjebak dalam hal-hal kecil.
Saat membangun kode, kami selalu berusaha agar kode yang dihasilkan dapat dipahami oleh orang lain sehingga tidak membutuhkan banyak dokumentasi.
Hal ini menunjukkan bahwa walaupun dokumentasi merupakan hal yang esensial, namun software yang bekerja lebih krusial.

**Customer collaboration over contract negotiation**
Dalam pengembangan proyek, kami sering berinteraksi dengan Product Owner kami, yaitu BPPT baik ketika memulai proyek maupun ketika sprint review.
Bahkan kami juga pernah bertamu ke sana untuk menanyakan beberapa hal yang masih kurang jelas.
Kami juga memiliki sebuah group whastapp agar dapat mengetahui keinginan dari klien.
Hal ini menunjukkan bahwa walaupun kami terikat, namun kooperasi dengan klient lebih berarti.

**Responding to change over following a plan**
Beberapa perubahan telah kami lakukan ketika mengerjakan proyek kali ini.
Dimulai dari ingin menggunakan bahasa go untuk pengimplementasian back-end hingga penggunaan elastic search yang diperkenalkan Pak Adin.
Hal ini menunjukkan bahwa walaupun terdapat perencanaan yang matang, namun perubahan yang lebih fleksibel akan jauh lebih berharga.

Kesimpulan dari manifesto ini adalah yang mana walau terdapat nilai di sebelah kanan, kita lebih menghargai yang di sebelah kiri.

Sesudah mencerna apa itu Persona, saya akan menjelaskan kaitannya dengan proyek kami:
Tujuan situs kami adalah untuk mendeteksi serangan terhadap website yang ada di BPPT
Goal situs kami adalah dapat menemukan serangan dan menyaringnya berdasarkan kategori
Terdapat 3 orang yang menjadi sasaran dari pengguna website kami, yaitu kepala balai, sekretaris, dan staf.

Setelah membaca-baca mengenai TDD, terutama manfaatnya, saya mempelajari beberapa hal, yaitu:

Bagi tester, TDD dapat mengurangi kebutuhan untuk pengecekan secara manual.
Bagi developer, TDD dapat meminimalisir jumlah bug dan cost of change
Bagi product owner, TDD dapat mengurangi pengeluaran untuk hal-hal yang dirasa tidak penting.
Salah satu penyebab utama dari lambatnya pengembangan adalah miskomunikasi antara PO dan developer.
Dengan menerjemahkan kebutuhan bisnis ke dalam spec sebelum menulis kode, kita dapat menjamin apa yang kita inginkan adalah yang akan dibangun.
Selain itu, TDD dapat dijadikan acuan, sehingga apabila tim pengembang berganti, perubahan dapat dilakukan dengan mudah dan tim QA akan menghadapi lebih sedikit regresi.