Setting a Realistic Timeline for Building Custom Software
Rome wasn’t built in a day, and neither is great custom software. Lucky for us it can, however, be built in a few months. To better understand the time it takes to build custom software, we need to dissect the overall process. Let’s talk about the three main phases nearly all custom software projects go through and how long each one takes.
Requirements & Design
Time to Completion: 2-4 weeks
This is the fastest phase of the development process, and it's the part you're most involved in.
During this phase you will:
- Provide APAX with all your must-haves (we call these requirements).
- Work with the design and development team to choose the colors, fonts, and overall look of your application
- Review everything with your team and give the final thumbs up for development to begin
The length of this phase almost entirely depends on your ability to give feedback to the development team quickly, so that they may adjust or elaborate on designs as needed. If you’re eager to get the project underway, make yourself available as much as possible, and the 2-4-week timeline should cover it.
Planning, Architecture, and Development
Time to completion: 3-6 months (depending on project size)
Before the project can begin coming together, the development team will do a quick planning activity – usually 2-3 days. This is where your list of requirements will be considered and the work will be divided into timeline sections, and tasks will be assigned members of the development team.
Once everyone has their goals and tasks in front of them, the meat of the project can begin – the development. This is the phase where your software begins to take shape through code.
Time to completion: 3-6 weeks
Your new software should undergo several types of testing to ensure you’re getting a well working, reliable piece of software. Examples of some types of testing your Quality Assurance Engineer (QA) may perform are:
- End-to-end testing (all features/functions of your new system)
- Load testing (how many people can use your system at once?)
- Multiple browsers (Can you use your software on Google Chrome, FireFox, and IE without performance/display issues?)
- Integration testing (Can your system play nicely with other systems if need be?)
The QA engineer isn’t the only one performing tests, though. At this point, you will get to try the software in front of your team, check for any hiccups, and give the final approval to finalize delivery.
Adding It All Up
We see most custom software development projects taking 3-6 months from beginning to end. The size and complexity of the project are the biggest factors in overall duration.
A project is considered large or has a greater complexity if any of the following apply:
- Involves 25+ screens
- Includes an administrative portal as well as a user application
- Supports multiple platforms (web, tablet, phone, iOS, Android, Windows Phone)
- Involves data migration from an older system
- Has complex business logic or reporting requirements
Although size and complexity are the biggest factors in the length of time it takes to design and develop, there are a few more factors that can impact the project length.:
- Changing directions mid-project
- Missing requirements or critical assets
- Working with new technologies that require learning
- Fixing bad data or missing data in a data migration
Part of the job of a Project Manager is to monitor these types of risk so they can be identified early and mitigated to keep the project on track.
If you’re ready to share your software ideas, tell us! We’ve been creating realistic software timelines since 2007, and we’d love to work with you on yours.
Ready to Learn More?
Custom software development is not always a quick process, but it’s worth your time. A true software partner should help you navigate uncertainty so you can build the right software at the right speed. At APAX, we don’t just develop software – we team with our clients to deliver increased productivity, flexibility, and a chance to grow. Shoot us an email for questions and guidance regarding your next project.