Typically, the phases include: Requirements analysis and documentation, design and prototyping, implementation (coding), testing, deployment and maintenance (e.g. via support contract).