Proses pembuatan software tidak cukup hanya dikerjakan dalam waktu beberapa hari saja. Ada beberapa tahapan yang harus dilalui dalam proses pembuatan software. Setiap tahapan bisa memerlukan waktu cukup lama, bisa satu bulan, dua bulan, atau bahkan satu tahun. Tahapan-tahapan itu yaitu : requirement (perencanaan dan analisa), design (pembuatan), dan testing (pengujian dan pemeliharaan). Setiap tahapan yang dilalui terdapat beberapa permasalahan-permasalahan yang timbul. Pada makalah ini akan dibahas beberapa permasalahan yang timbul dengan studi kasus pembuatan software Sistem Informasi Akademik. Pada makalah ini juga akan dibahas solusi yang dapat diambil untuk mengatasi beberapa permasalahan tersebut. Pembahasan permasalahan ini dibagi dalam setiap tahapan pembuatan software.

Tahap Requirement
Pada tahap ini, kegiatan yamg paling banyak dilakukan adalah dengan melakukan interaksi dengan user. Permasalahan dalam proses pembuatan software yang dapat timbul pada tahap ini adalah :
o Permasalahan spesifikasi kebutuhan
Kebutuhan akan fitur dan report yang diinginkan sering kali tidak sesuai dengan sistem yang ada. Misalnya pada sistem Informasi Akademik, user menginginkan report pembayaran SPP, sedangkan sistem ini hanya mengenai masalah akademik perkuliahan,
o Ketidak sepahaman sistem antara developer dan user
Seringkali antara developer dan user dikarenakan perbedaan pemahaman, terjadi ketidak sepahaman mengenai alur Sistem Informasi Akademik, misalnya alur mulai dari mahasiswa bayar SPP, daftar ulang, pengisian FRS, proses perkuliahan sampai nilai akhir UAS keluar.
o Metode analisa sistem
Metode analisa sistem yang digunakan oleh developer tidak sesuai dengan kondisi/ behaviour user.

Tahap Design
Pada tahap ini, merupakan tahap yang dilakukan oleh developer. Permasalahan dalam proses pembuatan software yang dapat timbul pada tahap ini adalah :
o Metode pembuatan software
Metode dan tools yang digunakan hasilnya tidak optimal, sesuai dengan keinginan user.
o Organisasi pembuatan software
Tidak adanya koordinasi pada saat proses pembuatan software, sehingga terjadi modul-modul yang tidak dapat digabungkan. Misalnya tidak sesuainya nama tabel, field, atau tipe data yang digunakan.

Tahap Testing
Pada tahap ini, merupakan tahap pengujian software yang dilakukan antara developer dan user, dan diakhiri dengan pemeliharaan software. Permasalahan dalam proses pembuatan software yang dapat timbul pada tahap ini adalah :
o Perubahan regulasi sistem
Adanya perubahan regulasi sistem, misalnya perubahan evaluasi penilaian dari 5 tingkat penilaian (A, B, C, D, E) menjadi 7 tingkat penilaian (A, AB, B, BC, C, D, E). Hal ini menyebabkan perubahan tabel dan fieldnya.
o Ketidaksesuaian keinginan user dengan software yang telah dibuat.
Pengujian software yang dilakukan antara user dan developer tidak memenuhi keinginan user.
o Tidak adanya Risk Management
Hal ini menyebabkan tidak ada langkah-langkah yang akan dilakukan apabila terjadi revisi ataupun pada masa garansi/ maintenance.

Untuk mengatasi beberapa permasalahan tersebut diatas, perlu dilakukan analisa untuk mendapat solusinya. Ada beberapa solusi yang dapat diambil, antara lain :
o Membuat dokumen kontrak antara developer dan user sebelum proses pembuatan software.
o Perlu adanya assessment pada saat survey data, wawancara, ataupun analisa data. Assessment ini ditandangani kedua belah pihak, user dan developer.
o Menggunakan requirement tool untuk proses requirement sehingga dapat dihasilkan requirement yang sesuai dengan kebutuhan user.
o Menentukan Proces Model yang akan digunakan pada awal proses pembuatan software, dapat menggunakan waterfall model, RAD model, spiral model, atau model lainnya.
o Membuat project management pada proses pembuatan software dengan dikoordinasi seorang penanggung jawab.
o Menentukan software programming untuk semua modul yang akan dibuat, termasuk tabel, relasi, dan struktur data.
o Membuat dokumen Berita Acara Pengujian Software sehingga dapat dinilai tingkat kepuasaan user terhadap software yang telah dibuat
o Developer melakukan evaluasi total setiap selesai pembuatan software sebelum pengujian.

Solusi yang lain secara teknis adalah membuat software Sistem Informasi Akademik yang dinamis, dimana user dapat melakukan update sistem secara mandiri dan berkala tanpa perlu berhubungan dengan developer kembali. Misalnya, membuat perubahan evaluasi penilaian, evaluasi absensi, aturan penilaian, perubahan kurikulum, dan sebagainya. Tetapi untuk membuat software Sistem Informasi Akademis yang dinamis tersebut memerlukan waktu yang tidak sedikit dan juga membutuhkan biaya yang cukup besar.

Maka hal yang paling penting dilakukan dalam proses pembuatan software Sistem Informasi Akademik adalah komunikasi yang intensif dan efektif antara user dan developer, baik itu pada tahap requirement, design, maupun testing. Dengan adanya komunikasi yang intensif dan efektif tersebut maka dapat diketahui sampai seberapa jauh software dinamis yang dibutuhkan oleh user. Sehingga tingkat kepuasan user dapat terjaga.