Personal software process itu apa sih?

Personal Software Process (PSP) adalah kerangka kerja proses pengembangan perangkat lunak yang dirancang untuk membantu pengembang perangkat lunak untuk lebih memahami dan meningkatkan kinerja mereka dengan membawa disiplin cara mereka mengembangkan perangkat lunak dan melacak prediksi dan pengembangan aktual dari kode mereka. Setiap pengembang menggunakan beberapa proses untuk membangun perangkat lunak komputer. Prosesnya mungkin sembarangan atau ad hoc; dapat berubah setiap hari; mungkin tidak efisien, tidak efektif, atau bahkan tidak sukses; tetapi prosesnya memang ada. Watts Humphrey  mengemukakan bahwa untuk mengubah personal process yang tidak efektif, seorang individu harus bergerak melalui empat fase, masing-masing membutuhkan pelatihan dan instrumentasi yang cermat. Personal Software Process (PSP) menekankan pengukuran pribadi dari work product yang dihasilkan dan kualitas hasil dari work product tersebut. Selain itu, PSP membuat praktisi bertanggung jawab atas perencanaan proyek (mis. memperkirakan dan menjadwalkan) dan memberdayakan praktisi untuk mengontrol kualitas semua work product perangkat lunak yang dikembangkan.

PSP menekankan perlunya mengidentifikasi kesalahan sejak dini dan memahami jenis kesalahan yang mungkin dilakukan. Hal ini dicapai melalui aktivitas penilaian ketat yang dilakukan pada semua work product yang dihasilkan. PSP mewakili pendekatan disiplin dan berbasis metrik untuk rekayasa perangkat lunak yang dapat menyebabkan guncangan budaya bagi banyak praktisi. Namun, ketika PSP benar-benar diperkenalkan kepada praktisi perangkat lunak, peningkatan yang dihasilkan dalam produktivitas rekayasa perangkat lunak dan kualitas perangkat lunak adalah signifikan. Namun, PSP belum banyak diadopsi di seluruh industri. Alasannya, lebih berkaitan dengan sifat manusia dan kelemahan organisasiona daripada dengan hal yang berkaitan dengan kekuatan dan kelemahan pendekatan PSP. PSP adalah tantangan intelektual dan menuntut tingkat komitmen (oleh para praktisi dan manajer mereka) yang tidak selalu mungkin diperoleh. Pelatihan relatif panjang, dan biaya pelatihan tinggi. Tingkat pengukuran yang diperlukan secara budaya sulit bagi banyak praktisi perangkat lunak.