📜 ⬆️ ⬇️

Pros and cons of customized development without TZ



At the end of last year, an order for small automation came to our company. A comrade of my boss, an entrepreneur tired of the abundance of errors due to the human factor, wanted to automate the process of preparing layouts for subsequent machining. Layouts were performed in Avtokad and Photoshop. The task seemed to be solved and interesting. The entrepreneur received a positive response. And what came of it, read on.

The most impatient can skip the narrative and go directly to the conclusions, for all the others ... I will tell an instructive story.

To begin with, because of the lack of confidence in the fundamental possibility of solving the problem and how to solve it, the customer did not have a clear algorithm for achieving the desired result. Simply put, he wanted the mock-ups themselves to be cut, preserved, placed on a cutting table. But he had no criteria that the result meets his requirements. There were no such requirements. In fact, all the necessary data was, but passed between employees by word of mouth and were not documented. The issue was resolved by a large joint Skype meeting with a consistent demonstration of the work of designers in both programs. It was decided to write two separate scripts. One, for exporting layout geometry data to XML, for AutoCAD on Lisp. The second is to generate a layout template and then cut it into JavaScript for Photoshop. A work flow chart was created describing the key points that played the role of TK. Everything started so well.
')
By the way, for writing the script in AutoCAD a trial version was installed for 30 days. It turned out that autocad impossible to buy via the Internet and you need to go to the official distributor. Photoshop was purchased with monthly payment.

Then came the winter holidays, the timing and cost, prepayment ... In general, all the boring from the point of view of the programmer. But the lack of a clear TK has already played a role here. More on this later.

In general, when we got down to work, the trial period of AutoCAD ended. Another attempt was made to buy a subscription to the autocad for the quarter. But she again broke about physical delivery in a period of 7 to 14 days. This question does not relate to the topic of TK, but I really want to throw a stone in the direction of Autodesk. I had to put a probe of the previous version.

As for the task within AutoCAD, there was crystal clarity, since the customer’s designer selflessly helped and answered all the questions. We decided how to separate the wheat from the chaff (details from the narrative). The code was written in just a couple of hours. Hey, autodesk, and you wanted to make us wait 2 weeks. We were still in euphoria, how things are going well.

It came to Photoshop. While the preparatory work was being done, a discovery was made that one could write not just a script, but an entire extension. On the one hand, we did not seem to promise anything like that. On the other hand, cool, do better than promised. Immediately an unexpected conclusion: if the client has a bad idea of ​​what he gets, he will not appreciate what he received from you more. Opportunities were explored on the go, ideas were thought out and swept aside during the layout and programming. Something because of complexity, something because of laziness. From here one more conclusion: if the client has a bad idea of ​​what he gets - he will not notice that somewhere you have given up the slack. In our case, this did not concern the functionality, but rather the design.

After the first release, it turned out that some layouts did not want to form normally in Photoshop. After analyzing XML, it turned out that some of the details consist of several unrelated lines. Accordingly, they are perceived by the program as separate parts. If there were a TK, we could say that under the conditions at the entrance we have a part limited by one closed polyline. And so had to negotiate. As a result, they wrote a method that combines the selected segments into one detail. Easy to get off of course. But an hour of time for programming, and some more before that, was spent searching for the cause. And if the customer had rested and said that the search for parts is our problem and the designer will not highlight anything ... Here we would get to look through lines, search for intersections, solve T-shaped intersections and share one line in two adjacent figures. In general, they would also decide, but the price would be completely different for us. Hence the conclusion: TK is your best lawyer.

Further more. Despite the fact that the document is formed according to the previously agreed requirements, the customer did not really trust the program. Therefore, I insisted to add to it a check for compliance with the document requirements before cutting. Apparently, he feared that the designer could change the parameters of the document in the process of registration. This, too, was not in the original agreement. The task seemed trivial, and we decided to meet the client. As a result of some surprises and unhealthy perfectionism, writing a check took 4 hours. Hence another conclusion: TK will protect you from yourself, or at least help to ask for extra money.

The most important and most expensive lesson was learned at the very end, although its roots were at the very beginning. At the stage of forming an agreement in correspondence, a document “flown through” explaining how a part should be placed on a cutting table. He was accompanied by the phrase "for general information, you probably will not need it." It is this “most likely” that should have been paid attention. The document was made in Word and on each new computer it spread out as it was convenient for him. It was very difficult to understand what exactly was drawn there. As a result, we read the explanation as "you do not need." In fact, the essence of this drawing was reduced to the fact that the designer can, at his discretion, place the part along one of the edges of the material. And a couple of typical examples. Naturally, everything that should not happen, surely happens. Therefore, the main conclusion: describe in the TZ the most incredible option and the cost of its solution. Perhaps the customer would prefer to do it manually.

Why am I writing all this? And the fact that work without TZ has a lot of minuses, as well as several advantages, the main thing is to be ready for anything.

Minuses:



Pros:



Of course, the listed “pluses” are a joke. I urge everyone not to repeat our mistakes and always work with a clear and intelligible TK. Want freedom, write it in the TK. Responsibility and initiative enter there. It is better to ask for more money for your reputation as a reliable and honest performer, as well as for the preparation of the TK. The time and effort spent on drawing up the TZ will pay off with the health and nerves saved during the delivery phase. Well, the fact that the heads of the Habr “cook” perfectly, I almost do not doubt.

Interesting to all projects and those literate. jobs!

Source: https://habr.com/ru/post/253715/


All Articles