Proses Proses adalah kumpulan aktivitas yang dilakukan Ketika sebuah produk dibuat Dalam software engineering, proses merujuk pada suatu kegiatan yang dilakukan oleh pengembang software (baik sendiri maupun tim) Semua proses yang dilaksanakan dalam target mutu dan waktu yang harus tercapai demi memenuhi target dari client/customer
Generic software process Generic artinya semua jenis software baik sederhana maupun kompleks seharusnya bisa menerapkan Langkah-Langkah/proses ini. Ada 5 proses generic dalam pembuatan software: Communication Planning Modeling Construction Deployment
Communication Proses paling awal dari pembuatan software adalah berkomunikasi dengan pemesan atau klien atau calon pengguna yang disasar (ingat jenis software generic!) Calon pengguna/client/customer ini dikenal sebagai stakeholder. Di proses ini, semua kebutuhan dari stakeholder dikumpulkan dikenal juga sebagai proses requirement gathering
Planning Setiap perjalanan yang rumit dapat disederhanakan jika ada peta. Proyek software adalah perjalanan yang rumit, dan aktivitas perencanaan menciptakan "peta" yang membantu memandu tim saat melakukan perjalanan. Proses planning bertujuan mendefinisikan pekerjaan membuat software dengan menggambarkan : tugas teknis yang akan dilakukan, risiko yang mungkin terjadi, sumber daya yang akan diperlukan, produk kerja yang akan diproduksi, dan jadwal kerja.
Modeling Siapapun kita apakah seorang penata taman, pembangun jembatan, insinyur penerbangan, tukang kayu, atau arsitek, kita akan bekerja dengan model setiap hari. Kita perlu menyusun "sketsa" dari suatu benda sehingga kita akan memahami gambaran besarnya misal: akan seperti apa tampilannya, bagaimana bagian-bagian penyusun bisa digabungkan , d st Sketsa inilah yang sering disebut model Seringkali perlu sketsa yang lebih detail , yang lebih besar untuk lebih memahami masalah dan bagaimana menyelesaikannya . Seorang insinyur software melakukan hal yang sama dengan membuat model untuk lebih memahami apa yang hendak dikerjakan/dipenuhi software dan desain yang akan memenuhi hal tersebut.
Construction Aktivitas ini menggabungkan penyusunan kode (baik manual atau otomatis) dan pengujian yang diperlukan untuk mengungkap kesalahan dalam kode. Penyusunan kode lebih dikenal sebagai coding
Deployment Software diserah terimakan ke client (custom software) atau dipublish untuk dipakai/dibeli targeted user (software generic) Proses pemasangan di sistem sesungguhnya misal: di mesin/komputer client, di HP pengguna, dll Terjadi proses evaluasi dan proses umpan balik oleh user
Mitos dalam Software (Myths) Mitos artinya hal-hal yang dianggap benar tetapi sebenarnya salah atau tidak sepenuhnya benar. Dalam software banyak mitos karena karakteristik dari membuat software berbeda dengan bidang Teknik lain. Ada banyak mitos, namun berikut hal-hal yang perlu diketahui.
Mitos 1 Jika suatu proyek pembuatan software sudah mengalami keterlambatan, maka dengan menambah programmer maka software bisa lebih cepat diselesaikan Fakta: Pengembangan software bukanlah proses mekanistik seperti manufaktur. Menambah orang baru di sebuah proyek yang molor, maka akan membuat proyek semakin molor. Alasan: D engan bertambahnya orang baru, orang yang bekerja harus meluangkan waktu untuk mendidik pendatang baru, sehingga mengurangi jumlah waktu yang dihabiskan untuk upaya pembangunan yang produktif. Orang dapat ditambahkan tetapi hanya dengan cara yang terencana dan terkoordinasi dengan baik
Mitos 2 Menjelaskan tujuan umum program sudah cukup untuk mulai menulis program , kita memikirkan detailnya nanti. Fakta: Meskipun semua kebutuhan software yang akan dibuat seringkali tidak lengkap atau sulit dicapai , “ kebutuhan " yang ambigu adalah awal dari bencana. Kebutuhan yang jelas dan tidak ambigu (biasanya harus dicapai dengan proses yang berulang – dgn wawancara pengguna dll ) hanya bisa dicapai melalui komunikasi yang efektif dan berkelanjutan antara pelanggan dan pengembang
Mitos 3 Kebutuhan software terus berubah, tetapi perubahan dapat dengan mudah diakomodasi karena software bersifat fleksibel Fakta: Memang benar bahwa kebutuhan software berubah, tetapi dampak perubahan bervariasi dengan waktu di mana ia diperkenalkan. Ketika perubahan persyaratan diminta lebih awal (sebelum desain atau kode dimulai), dampak biayanya relatif kecil. S eiring berjalannya waktu, dampak biaya tumbuh dengan cepat—sumber daya telah berkomitmen, kerangka desain telah ditetapkan, dan perubahan dapat me mbutuhkan sumber daya tambahan dan modifikasi desain besar.
Mitos 4 Ketiga software telah di coding maka pekerjaan pengembang telah selesai Fakta: Seseorang pernah berkata bahwa "semakin cepat Anda mulai 'menulis kode', semakin lama waktu yang Anda butuhkan untuk menyelesaikannya." Data industri menunjukkan bahwa antara 60 dan 80 persen dari semua upaya yang dikeluarkan untuk software akan dikeluarkan setelah dikirimkan ke pelanggan untuk pertama kalinya.
Mitos 5 Sampai program / software betul-betul jadi, maka tidak ada waktu untuk mengujinya Fakta: Salah satu mekanisme jaminan kualitas software yang paling efektif dapat diterapkan sejak awal proyek yaitu tinjauan teknis . Tinjauan teknis adalah "filter kualitas" yang terbukti lebih efektif daripada pengujian untuk menemukan bug atau error pada software.