How to write a technical assignment

What exactly should be added to the terms of reference depends on the product. For example, if you order a batch of clothes, you need to prescribe the cut features, types of materials and their quality, up to the approximate matte surface of the buttons. 
If you conclude a contract for the development of a site, you need scenarios for its use.

Write unambiguously
When writing a TOR or describing a product to a contractor, try to avoid high-quality adjectives. A "beautiful" jacket for one person will be fitted, while for another, on the contrary, it will be wide cut. So it is with any projects: the more specifics, the better.

A good contractor will concretize and clarify ambiguous lines in the TOR, but this will require additional time for rework. Therefore, it is best to try to minimize misunderstandings. And try to determine for yourself specific requirements for the product even before talking with the contractor.

Check important technical requirements
If you are making an IT product, you should immediately agree on all the technical requirements with your IT specialist and contractors. This is necessary so that the new solution can be integrated into your existing platforms and business processes.

For example, if you order an online store, it is important that its engine can receive data from all your systems - not only exchange current prices with 1C, but also receive information from CRM and self-written services.

The contractor should be warned about the nuances even during the discussion of the general vision of the project and before drawing up the technical assignment. It is important that the performer is able to work with all of your technologies.

Describe product use cases
If you are doing something standard, then you should not dive so much into the features of the product, this will only confuse and add verbosity to the TOR. But in case of something unusual, try to answer the question “What?” In the terms of reference, but the question “How will the user do?”. 

Bad - "Requirement 1. There is a shopping cart on the site, the user, upon an additional request, can receive a list of additional products." In this case, it is not clear what should work and how.
Good - “When a user visits the cart, the site shows him a pop-up banner. This banner should contain products that can be useful to the buyer. He can add any product to the order with one click. Or close the window. " In this case, it is clear how the scenario of using a basket and a block with cross-goods works.
For more information: What does sow mean