Short answer
A typical software development process has six stages: discovery, design, iterative development, testing, launch, and ongoing support. Working in short iterations with regular demos lets you see progress early and change direction before it becomes expensive.
If you haven't commissioned software before, the process can feel opaque. Here is what a well-run project looks like, stage by stage. It is the same process we follow at Mohteknologies; you can see a summary on our process page.
1. Discovery
Discovery turns an idea into a plan. We interview stakeholders and users, map the current process, review existing systems and clarify what success looks like. Outputs include a written scope, a prioritised feature list, key risks and a phased estimate.
2. Design and architecture
User experience designers create wireframes and then visual designs for key screens, often as a clickable prototype. In parallel, engineers choose the technology stack, design the data model and plan integrations and hosting.
3. Iterative development
Work is split into short iterations, typically one to two weeks. Each iteration ends with a demo of working software on a staging environment. You give feedback, priorities are adjusted and the next iteration begins. This is the core of agile development.
4. Testing and quality assurance
Testing happens throughout, not just at the end: automated tests for business logic, code review for every change, and manual testing of critical user journeys on real devices. Before launch, there is a period of user acceptance testing by your team.
5. Launch
Launch includes setting up production infrastructure, migrating data, configuring monitoring and backups, and training users. For larger systems, a phased roll-out to a small group first reduces risk. See our cloud and DevOps services for how we approach this.
6. Support and improvement
After launch, software needs security updates, monitoring and bug fixes, and most systems keep gaining features as users ask for them. A support agreement sets expectations for response times and costs.
What is expected from you
- A decision-maker who can prioritise and approve scope
- Access to the people who will use the system
- Time each iteration to review demos and give feedback
- Prompt access to existing systems, data and accounts
How long does all of this take? We cover that in how long software development takes.