staf tidak tersedia untuk implementasi lengkap dengan tenggat waktu yang telah ditetapkan untuk proyek. Awal increment dapat diimplementasikan dengan lebih
sedikit orang. Jika produk inti diterima dengan baik, maka staf dapat ditambahkan untuk mengimplementasikan peningkatan berikutnya. Selain itu, penambahan dapat
direncanakan untuk mengelola risiko teknis. Sebagai contoh, sebuah sistem utama mungkin memerlukan ketersediaan hardware yang baru dalam pengembangan dan
jadwal penyelesaian produk yang tidak pasti. Sangatlah mungkin untuk merencanakan increment awal dengan cara yang menghindari penggunaan
menggunakan hardware yang baru, sehingga memungkinkan fungsi yang tidak lengkap untuk yang diberikan kepada pengguna akhir tanpa penundaan berlebihan.
Menurut Pressman 2010: 15 Pemodelan ini menyangkut aktivitas berikut:
2.10.1. Komunikasi
Sebelum pekerjaan teknis dapat dimulai, sangat penting untuk berkomunikasi dan
berkolaborasi dengan pelanggan dan stakeholders lainnya. Tujuannya adalah untuk
memahami tujuan proyek pelanggan dan untuk mengumpulkan persyaratan yang
membantu mendefinisikan fitur dan fungsi perangkat lunak.
2.10.2. Perencanaan
Menetapkan rencana proyek software dengan menggambarkan tugas-tugas teknis yang akan dilakukan, risiko yang mungkin, sumber daya yang akan
dibutuhkan, produk yang harus dihasilkan dan jadwal kerja.
23
2.10.3. Modeling
Pembuatan sketsa diperlukan untuk memahami gambaran besar. Jika diperlukan, dapat membuat sketsa menjadi lebih besar dan lebih detail dalam upaya
untuk lebih memahami masalah dan bagaimana menyelesaikannya. Seorang insinyur perangkat lunak menciptakan model-model untuk lebih memahami persyaratan
perangkat lunak dan desain yang akan mencapai persyaratan tersebut.
2.10.4. Konstruksi
Menurut Pressman 2010: 111 kegiatan konstruksi meliputi serangkaian pengkodean dan pengujian yang mengarah ke pekerjaan rekayasa perangkat lunak,
mungkin coding penciptaan langsung dari bahasa pemrograman source code misalnya Java, pembangkitan otomatis dari source code menggunakan representasi
desain tingkat menengah dari komponen yang akan dibangun, atau pembangkitan otomatis dari executable menggunakan bahasa pemrograman generasi keempat
misalnya Visual C + +. Fokus awal pengujian adalah pada tingkat komponen, biasanya disebut unit testing. Tingkatan lain dalam pengujian termasuk pengujian
integrasi yang dilakukan ketika sistem dibangun, pengujian validasi yang menilai apakah persyaratan telah dipenuhi untuk sistem yang lengkap atau software
increment , dan tes penerimaan yang dilakukan oleh pelanggan dalam upaya untuk
melaksanakan semua fitur dan fungsi yang diperlukan. Menurut Pressman 2010: 112 jika pengujian berhasil dilakukan, pengujian
ini akan menemukan kesalahan dalam perangkat lunak. Keuntungan lainnya,
24
pengujian menunjukkan bahwa fungsi perangkat lunak muncul untuk dapat bekerja sesuai dengan spesifikasi, dan bahwa persyaratan kinerja dan perilaku tampaknya
telah dipenuhi. Selain itu, data yang dikumpulkan sebagai pengujian dilakukan memberikan indikasi yang baik pada keandalan perangkat lunak dan beberapa
indikasi kualitas perangkat lunak secara keseluruhan. Tetapi pengujian tidak bisa menunjukkan adanya kesalahan dan cacat. Ini hanya dapat menunjukkan kesalahan
dan cacat yang terjadi pada perangkat lunak.
2.10.5. Deployment