If you want to design software then you should plan the software