If you want to design software then you should determine a need.