Proses pengembangan prangkat lunak merupakan proses engineering / rekayasa yang diturunkan dari ilmu computer dan praktek terbaik. Proses tersebut meliputi requirement, analisis, desain, implementasi dan testing, serta evolusi. Rekayasa perangkat lunak selama ini selalu didekati dari sudut pandang ilmu engineering yang sudah matang seperti teknik sipil dan mesin, padahal karakteristik perangkat lunak ini berbeda dengan manufaktur dan sipil. Dalam makalah ini diungkapkan paradigma baru dalam rekayasa perangkat lunak yaitu konsep disain dalam pembangunan perangkat lunak yang dihubungkan dengan pengukuran secara empiris. Disain dan blueprint untuk pengembangan perangkat lunak adalah kode program itu sendiri. Kode program tersebut dapat dibuat mudah dibaca, terstruktur, dan dapat diukur.