Understand goals, constraints, and success criteria.
Define phases, deliverables, and timeline.
Iterate in sprints with regular check-ins.
Test, deploy, and hand over with docs.
Optional retainer for iterations and support.
We also take over existing codebases and extend them.