The organization has an analyst . He agrees to draw up a document describing the requirements from the customer. But he does not want to write technical specifications for a programmer .
Requirements for TK – draw up a table describing the types of fields, input format, visibility at stages, notification texts and the logic of changing data for some events. The analyst is well aware of the capabilities of the system (talking about SharePoint).
The analyst informs that the programmer should draw up the technical assignment. I am this programmer . And I think something went wrong.
TK – this stands for terms of reference . That is, this is a task from one subject to another, from a boss to a subordinate, from a customer to an executor, etc. The programmer is the link in the production process that must be assigned a task before doing anything. If a programmer writes tasks for himself, this means that he is excluded from the production process, that is, he is not a participant in the production process, but is an independent unit external to the production process.
The analyst's task is to analyze the production process and, on the basis of his analysis, issue technical specifications or recommendations, if he himself is not authorized to issue technical specifications, but, for example, it is done by another authorized employee.
Describing customer requirements is the job of a secretary, not an analyst.
For the analyst, the customer's requirements are just input data , on the basis of which he must issue the output data , which are technical specifications. Roughly speaking, the analyst's job is as follows. He must indicate: this is what the customer requires, and this is what needs to be done.
And for the programmer, TK is the input data , and the program is the output data .
Otherwise, the programmer will have to duplicate the analyst. Why then such an analyst is needed ?!
In fact, in this case, the analyst disclaims any responsibility for his work, since if the final product does not suit the customer, the analyst will simply say that it was you who wrote the wrong statement of work. That is, he completely chopped off the feedback from you and thereby, climbing the chain up from you to the customer, in order to evaluate the result of the work and, for example, evaluate what was done not as expected, and at what stage, then in this process The analyst will no longer participate in the distribution of responsibility. 🙂
How is the process of verification of the result of work carried out?
If tasks go from top to bottom, then the result is verified from bottom to top.
The result of a programmer's work is a program. Its correctness is checked against the terms of reference.
The result of the analyst's work is a technical task. Its correctness is checked against the customer's requirements.
Well, if the customer's requirements in themselves are not correct or inadequate, then the customer will not have to blame anyone but himself. 🙂