Software Development Cost Estimation is Easy!

Brett MillerSoftware Development, Software Development Plan

From the standpoint of a potential client, Software development cost estimation might seem to be a fairly simple task … but in reality it can be quite challenging. An evolving set of Project Requirements, Coding Intricacies, and Interacting Technologies are difficulties that must be tamed on order to create an accurate estimate of hours and costs. These estimates are, of course, part of a larger proposal and project plan that is used to land the new project. Without this, the potential client has little information to base his decision upon.

Clients can be very busy and might not have a complete picture of the technical side of a project. It can be difficult on their side to take the time to document all the background information for a given software project. Yet to provide a valid estimate, this must be done.

Using a project questionnaire can help facilitate the process of documenting all the pertinent background information. It also shows initiative by your company and can set a positive tone for the whole project. This article shares our basic Software Project Estimating Questionnaire so other developers can use it as a guide in getting information on a new project from their client.

Software Development Cost Estimation Questionnaire

Get this info from your client:

Non Disclosure:
First things first. This should allow the client to feel comfortable sharing detailed information about the project with you.

General Project Overview:
What are the objectives of the project? Details Details Details.

Specific Software Development Tasks:
Put together a list that is prioritized in order of importance/urgency.
Clarify Needs vs. Wants.
What specific services do they want you to perform?
What is outside of your responsibility?
Is there an initial task or two that can be used to establish a rapport?

Project Time frame / Budget:
What is a realistic timeframe to start the project?
How urgent is this need?
Do they have a specific budget in mind?

Software Development Technologies:
List Programming Languages, Databases, Platforms, 3rd Party tools etc:
Is the application integrated with any external systems or data?

Where is application hosted?
Is there a Test environment? Development? Production?

Access Details:
Have them setup a test account for you so you can see the application from the User Perspective.
(What’s user id / password?)
Have them setup access for you to their code / database / task management tool.
(Remote Desktop, Hosting account credentials, etc.)
Have them send code / database (via email or ftp) so you can review it from your own environment.

Project Documentation:
Provide any general documentation on the project (technical or user).

Software Development Project Team:
What is the structure of current team?
Relationship with existing or prior developers?
Contact Information (email/phone)
Who is decision maker?

Project Success:
How do they define success on project?
Importance of Price vs. Quickly Finishing vs. High Quality Work?
What is the biggest challenge they see for the project?

Follow Up Call:
Two potential times that they’re are available for phone call to discuss above information.

While it might not be possible to get answers to all of the questions above, do try to get as much as you can. This information acts as the foundation for your entire project. Act as the clients advocate in completing this questionnaire and thoroughly analyzing the information. Put together a solid proposal for them and enjoy the rewards of winning the project and a new client!