Fase iterasi
adalah siklus pengembangan software sering dikenal dengan fase konstruksi. Fase
konstruksi adalah fase terpanjang dan menjadi fase kritis suatu proyek berhasil
dikembangkan atau tidak. Fase iterasi pada GXP melakukan berbagai hal umum yang
dilakukan dalam pengembangan kode software meliputi, (1) Pengembangan dan
desain arsitektur solusi (2) pembuatan dan pengujian unit kode (3) penjaminan
kualitas dan integrasi modul. Pada proyek GXP dapat dimungkinkan satu atau
lebih iterasi.
Solusi
arsitektur, pada pengembangan aplikasi yang berorientasi pada konvensional,
tahapan ini dikenal juga dengan tahapan analisis dan desain system. Pada GXP,
tahap ini secara formal dikenal dengan solusi arsitektur yang banyak dikenal
dengan istilah spike solution. Hal ini menekankan agar tim tidak terlalu focus pada
desain yang berlebihan dan langsung mengaitkan desain yang sudah ada dengan
solusi teknis kode yang ada. Tujuan spike solution, menghindari kondisi
demikian dengan segera menguji desain ke implementasi kode. Ini menjamin desain
dikembangkan divalidasi dalam bentuk implementasi teknis.
Kondisi
lingkungan dan batasan pengembangan, mendiskusikan pemilihan teknologi dan
platform yang dilakukan oleh tim. Hal ini bergantung pada tiga factor, (1)
Legacy system, platform yang dikembangkan sebisa mungkin dapat terintegrasi
dengan system terdahulu (2) Kemampuan teknis, bagian ini meliputi berbagai hal
teknis yang dipahami oleh tim yang dapat diadopsikan sebagai solusi proyek (3) Keterbatasan
kondisi teknis, keterbatasan sumber daya yang memahami dan mau belajar system baru,
keterbatasan anggaran perangkat lunak keras dan lunak, hingga keterbatasan
operasional juga dikemukakan disini.
Kebergantungan
pengembangan solusi berdasar platform klien, solusi yang dikembangkan oleh tim
teknis harus secara tersurat disampaikan kepada klien. Pemilihan teknologi ini
tentu berdasar pada platform yang digunakan oleh klien. Rancangan arsitektur
solusi, arsitektur solusi didefinisikan sebagai suatu model yang menjelaskan
bagaimana suatu model atau komponen solusi paling berintegrasi dan tersusun
dalam suatu struktur dan pola yang dipahami oleh tim teknis dan klien.
Kebutuhan
perangkat lunak dan perangkat keras produksi, sesuatu yang perlu dikemukakan
pada saat penyusunan solusi yang diusulkan pada klien. Hal yang penting dalam
hal ini menentukan perangkat keras dan lunak di sisi produksi dan sisi
pengembangan. Kombinasi hardware dan software dibutuhkan antara system produksi
dan system pengembangan tentu secara general.
Pengujian unit
solusi, pada GXP ada teknik test first, code later yang diusulkan berdasar pada
model utama dari XP. Inti dari test first design pada GXP memfokuskan bahwa
pengujian aplikasi harus terencana dan sama pentingnya dengan pengkodean itu
sendiri dengan mengikuti langkah (1) Memahami user stories dari aplikasi (2) menyusun
arsitektur yang hendak dikembangkan (3) Memahami arsitektur solusi dan
memcahnya menjadi modul terkecil (4) Membuat suatu daftar fungsi dari tiap
modul (5) Mengaitkan daftar tiap modul dengan user stories (6) Menyusun tiap
pengujian fungsi modul berdasar rencana iterasi yang telah dikemukakan pada
fase perencanaan
Proses
pembuatan kode, proses paling menantang dari sisi teknis. Pada tahap ini,
kemampuan logika dan analisis tim teknis diuji dalam menyelesaikan permasalahan
dengan pendekatan yang paling hemat biaya dan juga tentu optimal dari sisi
performa. Hal mendasar yang harus disiapkan adalah (1) penentuan standar
penulisan kode. Tim teknis harus memiliki panduan mengenai standar penulisan
code. Sebagai contoh tata cara penamaan variable, metode, dan class (2)
penentuan framework solusi, salah satu yang penting. Pada tahap ini, tim teknis
diharapkan memiliki kesepakatan dalam pengembangan aplikasi (3) Pembagian beban
kerja pengkodean, pembagian kerja menjadi sesuatu yang esensial untuk memecah
konsentrasi kelelahan dalam pengkodean. Hal ini dapat dilakukan dengan
mengidentifikasi user story yang dikembangkan.
Penjaminan
kualitas dan integrasi modul, hal ini ditentukan oleh klien. Proses pengujian
yang berakhir pada kesimpulan baik atau buruk kualitas pada GXP dikenal dengan
nama User Acceptence Test. UAT disetiap iterasi menjamin beberapa hal (1) UAT
dilakukan berkali – kali sehingga kualitas software lebih dapat terjamin (2)
Perbaikan dan revisi solusi masih memberikan waktu sehingga dapat dilakukan
terencana dan tidak terburu (3) UAT berharap memudahkan tim solusi melakukan
integrasi hasil dan memonitor hasil secara lebih presisi.