Software is aimed at meeting needs and improving our quality of life and thus it starts from the user and ends with the user. It must be functional, intuitive, responsive and reliable. Developing software means a lot more than writing readable and optimized code, it's about researching, planning, testing and providing support. Ultimately it's about understanding the users and focusing on their experience and satisfaction.