Automatic Seed, Agile, Git Flow

Rehan Hawari
kelompok-propensi
Published in
2 min readApr 18, 2019

Automatic Seed

Simulator yang kami kembangkan membutuhkan data-data awal untuk beroperasi, seperti data pembelian dan data user. Penambahan properties dilakukan pada spring, yakni spring data resource yang di-set always. Kemudian tambahkan data seed pada data.sql. Artinya setiap aplikasi dijalankan, spring akan menginisialisasi kembali data-data pada database berdasarkan data yang ada pada data.sql. Sejauh, ini cara tersebut bekerja dengan baik di local maupun environment development.

Agile

Berikut agile manifesto yang pernah saya dan teman-teman terapkan:

  • Individuals and interactions over processes and tools
    Ketika dihadapkan masalah kami langsung menghubungi client atau dalam hal ini Project Owner. Contohnya pada saat permasalahan di sprint 2 mengenai flow yang kurang jelas, kami sampai phone call untuk menyelesaikan permasalahan tersebut.
  • Working software over comprehensive documentation
    Hampir semua code pada codebase kami minim dokumentasi. Kami menekankan pada code yang mudah dibaca dibandingkan dokumentasi yang menyeluruh. Hal ini juga dikarenakan requirement client yang terkadang dapat berubah seiring berkembangnya produk. Sehingga sulit untuk mempertahankan documentation yang baik di setiap sprintnya.
  • Customer collaboration over contract negotiation
    Sebelum proses development, sudah ada ‘contract’ antara developer dan client. Jika mengikuti waterfall, maka keduanya harus mengikuti kontrak tersebut. Namun, menurut agile, kami dan client lebih mengutamakan collaboration dibanding negotiation. Hal ini berarti, client ikut serta selama proses development.
  • Responding to change over following a plan
    Pada agile, dengan iterasi yang singkat, bisa terjadi penambahan fitur antar iterasi. Agile melihat perubahan sebagai sebuah improvement untuk product. Contohnya pada sprint kedua, terjadi perubahan requirement oleh client. Client menambahkan flow baru yang berbeda dari biasanya. Sesuai dengan agile, kami harus mengakomodasi perubahan tersebut dan tidak terpaku pada rencana awal.

Git Flow

Dalam proses development, saya sempat mengalami git conflict.
Berikut langkah-langkah git conflict yang saya lakukan:

  • Pulling
    Lakukan git pull untuk mengambil update terbaru dari branch tersebut
  • Fixing conflict code in local
    Lihat perbedaan dari code lama dan baru melalui git diff. Kemudian hilangkan conflict dengan menghapus code yang tidak relevan atau copy code yang relevan saja.
  • Pushing
    Setelah membetulkan code yang conflict, push changes tersebut ke remote repository.

--

--