The Different Phases of Software Application Advancement and Methodologies of Coding