Depending on the methodology you choose, your software will go through a varying number of stages. The following activities should be part of it either way:
Planning, gathering of requirements and analysis
Agreeing on a design or a system architecture
Generating code
Testing the produced code
Deployment of the code into a production environment
Continuous maintenance and improvement