Các bước để tạo ra một phần mềm là gì?