
Here it is the first torn deadline. There is still a little bell of big problems.
As time passes, no one remembers the strike strike, and along with a layer of dust on the ping-pong table, tension grows.
The breakdown of the last coffee machine on the floor caused an emergency meeting, and there is only one person who can find a solution.
With the last effort and discarding the beat, you begin your story.
')
And the programmer saw that the crutch is good for the preservation of nerves, and that once is not scary
Any team of programmers will sooner or later begin to deviate from the specification. And the more redundant the specification is in relation to today's needs, the earlier this process will begin. Just think, you didn’t define an exception class, threw out an anonymous name, was too lazy to go into the ORM documentation, and a complex query was written down with plain text, and instead of false returned null - then branching will work. It seems that there is nothing terrible in vain, the architect so dramatized.
But these actions generate uncertainty. Uncertainty increases entropy. Entropy increases complexity. There is nothing worse than software that works "somehow wrong." And with the increase in complexity, the probability that the problems will be in the release increases.
And you know that the worst thing is that none of you, assholes, will repent of the fact that he made a mistake; you will defend your code to the last, pushing the blame on everyone who is not lucky to be near.
Therefore. From today you are banished from paradise.
And this set
Programmers in torment provide 100% code coverage for unit tests,
And the Timlids, not sparing time and energy, conduct reviews of each commit.
There was Abel, he wrote models, and Cain designed interfaces ... Cain rose up on Abel ... Deadline broke both.
You always find justification for your idleness. Especially if you are waiting for someone to do something for you that is not in your jurisdiction. As a result, the Timlides, instead of maintaining the vector, are engaged in the redistribution and rewriting of tasks.
I'm tired of writing 3 different TZ, and now the TZ will be one. Please arrange your own working hours yourself. Timlides should be engaged in quality control of directions and development of tools, rather than throwing tasks.
Therefore. From today you are divided into groups in which there will be enough people to perform the whole range of work that is required.
If you are going to fill up the deadline, prepare explanatory. Those who can not work in a team, we will dismiss.
When people began to multiply on earth and business processes were born in them ... And the architect saw that there were a lot of human demands on earth, and that all thoughts and thoughts of their heart were changeable at all times
Now most of the time is spent on the development of additional modules that are specific to certain customers and support parts of the system that are not developed. In pursuit of quick profits, we are losing strategic advantages. During the time that we developed the system, technology has moved forward, and we are on the verge of lagging. To continue to refine the system in the form in which it is now is a dead-end branch of development.
Therefore. Today we start from scratch. Welcome aboard the ark.
PS: I was surprised how graciously Habrahabr took the
first part . It inspired me to get an old laptop and find some more old essays there. Including a draft outline of the speech, which became the basis of this article. If you do not mind, we deviate a little from the chronology, and the third part will be about Babylon. There's just about the second version of the system - we managed to sell a license to a German company, and she also invested a huge amount in us. But we still managed to blend it :)