Defining Timeline, Milestones, and Technology Stack

Setting a development timeline

After sending in your scope document to your vetted development firm, you should get a proposal back from them. In this proposal, make sure there is a proper timeline for delivering the project.

In the world of software development there's something called the ninety-ninety rule (https://en.wikipedia.org/wiki/Ninety-ninety_rule) that states the first 90% percent of your code will take 90% of development time, and the last 10% of your code will take an additional 90% of development time.

It's a little tongue-in-cheek, but the gist is that getting a project from "almost done" to "done" can take as much time as it took to get it from "not started" to "almost done," because the complexity of the code has increased with time.

Defining your milestones

We always break down our scope into several milestones, and different items are grouped by functionality and position in the timeline. This allows you, the client, to specifically approve or reject discrete milestones as complete or incomplete. If you define the milestones sequentially, then you can set a ground rule with your development team that the next milestone cannot start until the previous milestone is completed and approved.

There will be a total cost associated with the project as well. Make sure to ask your development partner to break down that cost by milestones if they haven't done so already. If you're following our milestone structure, this also helps to protect you from unfinished or incorrect work.

To help plan your budget, you should also ask your development partner to give you an estimated delivery date for each milestone. In software development, unexpected delays can always arise but at least you'll have a baseline for your budget.

Choosing your technology stack

A technology stack (tech stack for short) is the list of technologies used to build and run your software. This includes everything from the servers you use, to the database that houses your data, to the technology used to run your software on a website or mobile app.

If you have a technical background, you should ask if your vetted firm has available development resources in your preferred tech stack. If you don't have a tech background, your vetted firm will recommend you a tech stack of their choice.

Depending on the firm you work with, some firms use outdated tech stacks to develop their products. Do a bit of your own research online to check and see if what they recommend is the latest, most powerful tech stack available on the market. Don't be afraid to ask questions! If you're not sure why your development partner chose X for your tech stack when you read that Y is better, chances are they have a good reason for it.

If you understand why certain decisions were made regarding your technology stack, you'll have an easier time building upon your product in the future, especially if you switch development partners or move the work in-house.

Table of Contents

Why Outsource

How to Vet Developers

How to scope a software project

How to establish your project structure

Our development process

How to manage your relationship with your outsourcing firm

How to manage expectations with your outsourcing firm

Ready to learn more? 
Hire software developers today.

Running a business is hard,
Software development shouldn't be ✌️