How to correctly draw up a technical assignment for a programmer

How to correctly draw up a technical assignment for a programmer

It so happens that the site is already ready, but it lacks some important function: a mailing program, an online calculator, there are no required fields in the CMS, etc. functions were simply not included in the terms of reference. To prevent this from happening, this article will describe in detail how to correctly draw up a technical specification for a programmer so that there will be no problems in the future.

Direct Line
Who are we

Largest agency
Internet marketing outside the Moscow Ring Road:
1200+ projects
70 specialists
fifteen years on the market
TOP 10
the best online promotion companies in Russia 2020

Commercial offer

TK structure

In order to correctly draw up a technical task for a programmer, it is necessary to correctly designate the structure. Let’s highlight the main sections, which in any case should be present in the TK.

Defining the goal of the project

Without a clear understanding of the ultimate goal, it is impossible to create a quality product that would completely suit the customer. Therefore, the better the goal of the work is set for the developer, the more preferable the final result will be.

For the developer, a clearly formulated goal of the entire project gives a complete understanding of the entire essence of the task. For the customer, the goal of the work gives an awareness of all the tasks that are solved as the work progresses.

Complete project budget

For the contractor, the project budget, written in the terms of reference, at the initial stage gives an accounting of all his work agreed with the employer. In some cases, after mutual agreement of labor costs, the final cost of the project is adjusted. The full budget in the TK gives the customer an understanding of how much money will have to be paid to the developer. And already on this data, he can plan his budget.

List of work required

Without a complete list of planned works, it is impossible to imagine a single competent terms of reference. It should be easy to understand and written in the form of paragraphs.

For the contractor, a list of works is needed to understand what technology he should use to complete the task, what program code to use. Also, the list of points to some extent is his guarantor, if suddenly, at the end of the project, the customer did not like something. You can always open the terms of reference and see if this work was included in the conditional list.

Also, programmers during the project always have the opportunity to refuse any tasks that were not previously included in the list. Or include them all the same in the TK, but for an additional fee. For the employer, the listed list of works gives a detailed understanding of the tasks performed at each specific stage.

The finished product is carefully described

In the terms of reference for the programmer, there must be a clause in which there would be a detailed description of the final product. For the performer, this section gives confidence in the correct understanding of the final result. The customer also needs a product description for a complete picture of the finished project.

Assessment of the project result

Evaluation of the result can be preliminary, when it is made after each stage of the work done, or final, after the final completion of the project. Assessment is done using specialized testing programs. The result is compared with the requirements of the task for the programmer.

For the contractor, this point of the TOR is needed so that at any stage of the work he has the opportunity to make sure that the project meets all the necessary requirements of the technical task. The customer needs an appraisal of the work to understand that the investment in the project was not done in vain.

Turnaround time

There can be no TK without a deadline for order fulfillment. Yes, there are situations when it is initially very difficult to define the entire scope of work. Or, as the regular tasks on the project are completed, force majeure circumstances appear that force the deadlines for the work to be shifted. But, in any case, at least a preliminary time for work on the project should be.

For contractors, the deadline for the execution of the order allows already at the initial stage to objectively assess their resource needs and labor costs (hours of work). For the customer – full orientation in terms of work, which allows you to plan all your other projects. It often happens that the work for a given TK is only an integral part of some large project. And he cannot go any further until this particular work is done.

Future project maintenance

Always, even after the most successful project, after some time, errors (“bugs”) may be found, which should be corrected immediately. Therefore, in any technical assignment, all planned work must take into account the future maintenance of the site in the future.

For the contractor, this list of works gives an idea of ​​the future load that will be present in connection with further maintenance. For the customer, this point in the TK provides information that allows you to plan the costs of future site support.

Identifying problems

This clause of the terms of reference includes work that may arise under force majeure circumstances. In order to competently draw up this part of the TK, you need to know the weakest points of the site, and already on the basis of this knowledge, predict the occurrence of future problems in advance.

Typically, the problem identification clause is drawn up by the customer in conjunction with the programmer or a group of programmers who write the code. They know better than anyone else all the bottlenecks of the project.

An example of TOR for a programmer

Let’s give a real example of a technical assignment for a web developer on the topic: “Refinement of fields in CMS”. This TK contains the following items with the task:

  • Project goal: to finalize the fields in the CMS.
  • Initial information. There was confusion about which field is responsible for what, in which template, which functionality. As a result, optimization of these elements has failed. Further details.
  • Description. There are 2 types of pages: posts and pages.
Screenshot 1
Screenshot 1

Posts, example – https: // …
Pages, example – https: // …

An example of the fact that different types have different fields.
For the Record type, there is a field like this:

Screenshot 2
Screenshot 2

For the Page type, there is no such field:

Screenshot 3
Screenshot 3

What fields are needed / what needs to be displayed:

  1. Title tag – the title of the browser window
  2. Meta description tag – page description
  3. H1 tag – heading (main) on the page
  4. Page title in breadcrumbs
  5. Name in the menu on the site
  6. Page title in the admin area
  • Implementation method.
For the following elements, you need to make separate fields:
  1. Title tag.
  2. Meta description tag.
  3. H1 tag.
  4. Page title in breadcrumbs.
  5. Give them clear names (in order to unambiguously understand what this field should do).
  6. Group them on the edit page.

Names for fields:

  1. The title tag is the title of the browser window.
  2. Meta description tag – page description.
  3. The h1 tag is the heading (main) on the page.
  4. Page title in breadcrumbs.
  5. Name in the menu on the site – specify where it comes from.
  6. Page title in the admin panel – specify where it comes from.


It is necessary, on the edit page, the above fields:

  1. place next to each other;
  2. in the above sequence;
  3. assign them the indicated names.

Area for placing fields:

Screenshot 4
Screenshot 4
  • Assessment of the problem. It takes … working days of one developer.
  • The budget is … rubles.

Basic recommendations and explanations for writing TK

Each TOR for a programmer is unique, but general advice applies to all tasks. Here are the main guidelines for writing a technical assignment for a programmer:

  • The larger the project itself, the more people are involved in it, the terms of reference correspondingly increases in volume.
  • If necessary, the terms of reference should contain links and screenshots of the necessary elements of the functions and the development interface with detailed justifications.
  • The terms of reference should be clear and easy to understand. TK cannot be sent to the programmer in the form of a formless “canvas”, it must be divided into points. All stages of the project and sub-items on the most unimportant at first glance works should also be entered.
  • Real terms of work should be set. They also need to include time for the approval of project documentation between the developer and the customer.
  • The TK should only contain a clear wording. Many projects “failed” or their deadlines were disrupted only due to the fact that the customer was not able to properly set specific technical conditions.
  • The customer must write in the TOR whether the programmer can use prototypes if the task does not contain a design for the pages.

The main mistakes in the preparation of the technical assignment

No matter how competent a specialist draws up a technical assignment for a developer, all the same, in fact, in every written technical assignment, there are typical errors. Let’s consider the most basic ones:

  • In the terms of reference, the tasks and goals of the project are vaguely stated.
  • Insufficient technical information. Of course, the programmer can contact the customer at any time, but this is wasting precious additional time.
  • Unclear deadlines for the task.
  • Inconsistency between the customer and the contractor.
  • In the terms of reference, there is no single regulation, which additionally helps to interact between the parties.
  • Responsible persons are not registered in the TK.
  • The lack of a component in the terms of reference that would objectively assess the result.
So, now you can start writing the technical assignment, observing all the above recommendations, you will be able to draw up a really understandable and clear technical task for the programmer.

# Web development
# bitrix

Leave a Reply

Your email address will not be published.