Call us Toll-Free:
Email us
If you were building a new home, would you jot down your ideas for the house in a short Word document, then send them over to construction workers and expect everything to work out well?

Of course not.

And yet, when it comes to software development, most people do exactly this.

They expect a simple unabridged outline of their thoughts, should be all an accomplished software engineer would need to get the job done.

Architects and Builders

Software engineers need a detailed specification document to work by.

In the real world, when you build a house, you would start with an architect. Your architect's job is to translate your vision into a diagram, with detailed measurements and notes about which materials to use.

A builder then takes the diagram prepared by the architect, orders the required materials, creates a work plan, rounds up the construction workers to do the work and manages them on a day-to-day basis, until the work is completed to your satisfaction.

Product Managers and Project Managers

In the software development world, these two roles are played by a Product Manager and a Project Manager.

The Product Manager's role is to translate your vision, into a language software engineers can understand, using very detailed descriptions, screenshots and visuals, not leaving any room for interpretation.

This document is called a Specification Document. Getting it right is the first step in ensuring your project will be a success.

The Project Manager's role is to manage the software engineers until they successfully build a working program that works looks and feels exactly as described in the specification document.

The Specification document

Ideally, it would be best if you have a professional help you with preparing the specification document.

Try to reach out to a Product Manager, who has experience in preparing such documents.

If you don't have access to a Product Manager, your next best option is to reach out to an experienced software engineer and ask for his/her help.

A good specification document should at minimum include these parts:

1. Overview

Explain what this project is about. Who are the users, what function does it fill and what is the value proposition.

2. Goals

Detailed list of goals. Be as specific as possible about what you want to accomplish with this project.

Include screenshots and examples of similar websites/services as necessary.

3. Technical specification

Define the programming language you want the software engineers to use, the target platform and tools they should use

4. Process flow

Step-by-step description of all the screens a typical end user will go through.

Include screenshots, or mockups - very important!

5. Technical architecture & coding convention

Explain the architecture of the product, which modules you want to have created and how they should interact with each other.

Provide a link to your preferred coding convention, so that it's easier to later manage the code.

6. Budget and timeframe

Your estimated budget and target timeframe for the project.
Ask the software engineers to confirm they can meet these, or work with you on reaching a mutually agreed-upon budget and timeframe, before the project starts.

7. Communication

Include contact information for your project manager (probably you) and be clear about expecting daily updates from the engineer, outlining the progress of the work.

Make yourself available via Skype, email, or phone.

Be sure you are responsive and insist on getting frequent progress reports, along with links to review the project at every milestone.

How to tell if you got it right

Similar to an architectural diagram, a good specification document leaves no room for interpretation.

Two different qualified software development teams, should be able to create the same result, if the specification document is sufficiently detailed.

Bing and Yahoo PPC Webinar

Adrian Singer, November 18, 2010
Free introductory webinar that covers the basics of Microsoft AdCenter and how you can drive traffic to your site from and


* An overview of advertising on Bing and Yahoo! Search with the Microsoft Advertising adCenter platform.
* Tips for setting up search, content, and mobile advertising campaigns.
* Bidding and budgeting best practices.
* Guidance on selecting keywords that will give your ads a better chance of reaching your target audience.

Date: Thursday, November 18, 2010
Time: 10:00 A.M. Pacific Time
Duration: One hour
Cost: Free

Signup here:

View 1 Comment(s)

Recommended Web Shows

Adrian Singer, September 6, 2010
Software Projects, a New York based full-service Internet Marketing firm, is seeking a bright, articulate, detail-oriented, and technical applicant interested in joining our group of software professionals.

As a Technical Account Manager, you will work directly with clients, translating client vision into technical requirements, submit weekly plans, manage teams of engineers and oversee all software development work.

You will brain-storm with engineers, think outside the box, provide direction and leadership, while directly interacting with some of the best minds in our industry.

== Requirements:
* Excellent problem solving skills
* Leader, Motivator, Confidence, Energetic
* Superb communication skills with the know-how to verbalize ideas into technical requirements
* Minimum 2 years programming experience (PHP / C / Perl)
* Experience with FreeBSD/Linux a great plus

== Responsibilities:
* Translate client wants into requirements
* Plan projects, oversee software development
* Solve Problems
* Update clients on progress
* Maintain high client satisfaction

== Location:
You will be working from your home office for the first six months. After that time, you will have the option of relocating to one of our offices or continuing to work from home.

== Next steps:
Send an email to [email protected] with your resume and let us know when is a good time to chat.

Didn't update your resume in the last 2 years? That's fine. It's all about your experience and skills! Send us a quick cover-letter and we'll follow-up.
« Previous Posts

About Us  |  Contact us  |  Privacy Policy  |  Terms & Conditions