June, 2015

Basic Specifications Guide

Published: 02.06.2015 | 2950

Incorrectly composed specs hit both the developer and the customer: the first one has no clear instructions; the second gets not what he expected. So without the detailed documentation you’ll hardly get even close to the intended final product.

Oh, shoot! You don’t have any specifications at all, right?

Then let’s start this from scratch. Terms of reference are crucial to making any project come true. Sure, you may always contact developers and ask them: “How much would it cost to build something like Facebook?” (Yep, some clients really ask these questions). They’ll tell you: “Big pile of money, mate”. And you’d be like “Oh, okay”.

Clearly, this conversation has nothing to do with the real project development evaluation. To make your venture serious, start from composing requirements without ambiguities and possibility of product’s wrong assessment. Because, when thequality ofterms is poor, you may get something like this:

The customer gets not what he expected for a certain budget, so he thinks that he’s been ditched. Meanwhile, the developer considers that he met all the requirements, so any additional wishes and desires are just an attempt to ditch him instead. Such a conflict happens far more often than it should be, and can be solved in three ways:

  • Client receives the product as it is.
  • Developer makes free alterations.
  • The parties agree and meet halfway.

  • Specifications Are Essential

    In any case, however, someone's reputation will take a huge dent, and the entire story will leave a bad aftertaste. To avoid the negative experience, we need to compose the transparent, comprehensible and detailed terms of reference.

    Let's see how to make this work from the position of an external client cooperating with an outsourcing company.

    Specifications form a full value document regulating the scope of work the contractor should perform. It is a part of the contract between the customer and the provider, oral or written. We, of course, all in favor of the notarized agreement put in black and white. The document clearly and specifically describes the services rendered and reward provided.

    Before writing the terms of reference, it is highly desirable to make a sketch of the future work process. Even if you use an Agile development model, you still need a concept. Although the specs here are replaced with the backlog, the features are still somehow have to be documented.

    The specifications concept allows you to define the key points, reduce the risks and bring your vision to the contractor.

    This means you’ll save a lot of time and energy. Typically, a preliminary plan for the terms of reference includes such points as:

  • The goals and objectives, a description of the business idea
  • Purpose of the project
  • Contractors’ parts
  • Approximate software structure
  • Then all that is refined and collected in the approved format. Depending on the objectives of the project and the degree of formality, you can use the IEEE standard or your individual corporate template.

    Specs Structure

    Making the Structure Work

    Of course, specs are written individually for the particular project and specific details are included on the agreement between the parties. We’ll focus on the must have points:

    1. General Provisions

    This item puts both parties in the way of things and brings the understanding of terminology to a common standard, eliminating the differences between the customer and the contractor. Since we assume that this document is for outsource developers, you are not physically able to be constantly close to the project. Therefore, a team of programmers should immediately understand what is what after reading this part.

    2. Objectives

    We transfer here points composed during the concept consideration. It is important to mention the monetization methods and the specific purpose of the project. It determines not only the development, but also the subsequent promotion strategies. Therefore, the detailed wording will serve the customer well even after receiving the final product.

    3. Functional and Special Requirements

    You can specify the standards of usability, the system requirements for platforms, performance and safety. You also want to prescribe the objective criteria for evaluating the work of coders, which then will help to determine if the particular task is resolved or not. It spots for both parties in the case of a dispute.

    4. Development Process

    Here you can define the approximate project timeline, intermediate deadlines, your task management system to track progress and, if necessary, the development methodology (Waterfall or Agile).

    5. Alterations

    Of course, the terms of reference cannot predict the functionality relevance, so it is important to include a part on the updates to the pre-release product: how they will be discussed, approved and executed. Moreover, if we define the point of no return, after which it is impossible to make any changes, the product has a real chance to fit in the timeline indicated above.

    As we have said, the structure and the maturity of the specs is determined separately for the particular client. However, it is important to treat this document as a contract that clearly defines each phase of the project. Then the communication with the developers would be a breeze, and in the end, you’ll get the tasty product you wanted and you paid for. Have fun and get high profits!