Well, where is she?

    After publishing that guy’s resume , two good things happened.

    Firstly, that guy began to receive many job offers. More than ever.
    Secondly, more than half of these proposals are related to management - or product development, or streaming service development, or solving project tasks.
    Thirdly, a lot of messages arrived - this time to me - with requests to state methods for accelerating development. Well, those that helped the girl .

    And then I found out that in a publication about a girl I deceived everyone. I said there that she read one article and talked to a guy once. But, it turned out, she was still reading a book.

    I have long wanted to systematize the practice of speeding up development, but there was no reason. And then one company turned to me and offered to develop a course, so that then I could sell it in a certain (which is already there - 1Snoy) environment. It was supposed that this would be a video course, with some presentations and assignments - boring, in general. I decided to kill two birds with one stone - write a text, such as a book, and then make a video course out of it. Thus, two products would be obtained. With minimal effort, a third would have come out of it.

    The structure of the book has long been known, what to write there - too, you just have to sit down and do it. I have written, at the moment, 6 chapters out of 20, i.e. ~ 30%. And, since such a booze went, put them in the form of articles. The girl, by the way, read only 3 chapters.

    Now will be the first, introductory chapter. There is a small specificity - since the book, in fact, was created to order, then it is about development on 1C. Having removed the mention of 1C, I would have made a third product out of it - it would take half a day.

    But now I didn’t clean anything - read it as it is. If it seems to you that development on 1C and javascript are too dissimilar, then do not read. My life has shown that from the point of view of improving efficiency, of course, there is a difference - in javascript development there are even more application points of efforts and, accordingly, the expected effect is higher. Well, let's go.

    Once you get acquainted with this material, I can assume one of two options.

    First, someone made you. Head, director, project manager - it doesn’t matter.

    Second, you study this material of your own free will, because you strive to increase efficiency - a personal or a team that you enter, or maybe even lead.

    It’s easy to guess who you are either: you are either a programmer or a programmer’s manager, or you work for a company of programmers, or maybe you own this company.

    Why am I arguing about all this? Just to say: relax and have fun. The information will be useful to you, regardless of your role in the company.

    This is not a guide for managers how to squeeze all the juices out of unhappy programmers. This is not a guide for programmers on how to fool managers. This is not a guide to trick customers.

    This is a guide to improving efficiency. Your personal, your colleagues, your subordinates or department, team or company as a whole. It was written by a programmer, and part-time as a project, team, product manager. So, I dare to hope, I understand and take into account your personal interests.

    So, let's talk about efficiency.

    Look around at the programmers around you. Which of them is working efficiently right now?

    That guy over there, let's say, plays tanks. Is it effective at the moment? I think no. You can, of course, catch your ears and say that he is so relaxed after solving a difficult task, and in half an hour, with renewed vigor, he will go into programming. But, most likely, after the tanks he will go for a smoke.

    And those two who are arguing animatedly about something? It seems about the architecture of some solution? Are they effective?

    At first glance, yes, of course. After all, the design of architecture, and even in a group discussion, through brainstorming, is both important and useful. As they say, one head is good, and two is better. But let's listen to their words.

    One says - you need to do the accumulation register. Another yells - no, what register of accumulation, why are you, boots? Information register only! How long has this been going on? Half an hour? Hour? You look after them there, otherwise they will fight.

    But he, the wise guy, does not argue with anyone. Sits in headphones, propping his head in his hands. Does not program, this is clearly visible. What is he doing? Ask?

    Says he designs the solution architecture. Well, again. Directly designing? Do you draw a diagram in your head? No, he says, I think - accumulation register, or select information register. Have you been thinking? About two hours already, I broke my whole head. The options are the same in terms of labor costs, and none of them has special advantages. And the client is important, will it be the accumulation register, or the information register? Probably not. The client is Klavdia Eliseevna, an accountant, to her no difference.

    This guy is spending time effectively, what do you think?

    Well, there he is. The hand quickly turns the wheel on the mouse, a focused look fixed on the monitor. What has he got there? Yeah, a familiar list ... These are our tasks! What is he doing? Ask?

    The task, says, I choose. I don’t know where to start. Half are not understandable, half are in thick forms, and I do not know them, for I am young. Here you need to know SKD, but I ... Well this is ... So-so.

    Is this effective?

    Let's look at our champion. This one is definitely effective! He issues such decisions, you’ll sway! In one the hardest projects are pulling! What is it with him? Hmm, like some kind of layout draws. Hey champion, what are you doing? Do you correct TORG-12? And what is wrong there? Is it necessary that instead of the name of the contract, the number and date be displayed? Seriously? Such a task?

    Well, we, of course, understand - the customers asked, it’s necessary - it means it is necessary. But why do you, champion, solve this problem? You seem to have enough large, serious tasks, the level of subsystems and new configurations. What, there is no one else to correct TORG-12? Maybe it’s better that guy who can’t choose a task can handle it?

    Champion is effective, what do you think?

    And what is that guy doing? Why is he sitting near the phone and looking at him like a soldier at a louse? Is there a call waiting? It seems not, the office manager accepts all calls ... Ask?

    Oops. He must call the client, but he is afraid. For two hours now he has been sitting and inventing conversation scenarios, he even wrote something down in a notebook - some phrases, his own predicted answers. Why should he call the customer? He is an introvert to the marrow of bones. So, stop, with us everyone communicates with his clients. Something is wrong here, it seems ...

    Well, okay, these are understandable. What am I doing? I am writing an upload from SCP to Accounting 3.0. There is no way to dig in - effective as hell. Or not? Why are vague doubts in the soul? Maybe their reason is that we already did the unloading from SCP to Accounting 3.0? And more than once. Why am I writing it again? Why not take the finished one? Typical configurations. Damn, I’ll have to work with me ... You

    can continue indefinitely. If you don’t look at people , then alwaysthey seem to work efficiently. Well, or at least they work. In fact, we don’t even think that they are effective - we hope that they are effective.

    We want it to be like this, otherwise the worst thing will happen - we will have to delve into it . Understand, measure, analyze, think and try to change something. Is it much easier to leave everything as it is? And if someone doesn’t succeed in working normally, then it’s his own fault! Drive him to hell, and it’s the end!

    Well, everyone laughed, and now seriously. Efficiency is matter unattainable, like the setting sun. No one is ever so effective that nothing can be improved. You can always get better.

    So where is efficiency lost? First of all, where a person does not work . In our case, where the person does not program . Although, as you understand, programming can be inefficient.

    If we look at the value chain - from the appearance of a problem to receiving money for its solution - we will see a lot of dark places where nothing useful happens. My own research has shown that an ordinary programmer can thus lose up to 97% of his time.

    He can choose a task, argue, think, choose from two equivalent solutions, be afraid of something, try to meet deadlines, repeat the code already written, and so on, to infinity. There are a lot of options for losing efficiency.

    Just take it as an axiom - a programmer is always ineffective. And you - including. And me too.

    If you resist this axiom, come up with excuses, argue and try to prove something to me or to your colleagues, you will never be effective.

    I understand that such a statement - “I am ineffective” - can greatly affect self-esteem. But we agreed a little earlier that you will relax and enjoy. In the end, you can not change anything, leave everything as it is and live on yourself, happily in ignorance.

    But it's still worth a try. Does it happen that your competitors are suddenly studying this material? If they don’t resist, and make efficiency a mission? Not a beautiful piece of paper on the wall in the corridor, but a real red thread of all your activity? Then rules like "believe - do not believe" or "want - do not want" will cease to apply - tough and inexorable laws of the market will come into effect.

    Well, that’s it, I’ll no longer waste time convincing. If you like to exist head in the sand, like an ostrich, then you can not study further. I believe that you want to become more effective.

    There is such a thing - continuous improvement, originally from quality management. They probably heard about the Deming cycle, known as PDCA.



    The main point of this cycle is in isolation. Actually, that's why it is called a cycle, and not a process that has a beginning and an end. The Deming cycle drives perfection that is iterative, and therefore infinite.

    If you are familiar with Goldratt’s theory of limitations, then here’s the picture for you.



    The words are written different, but the meaning is the same - cyclical . Improve, and improve, and improve. There is no limit to perfection.

    Each iteration is an experiment to introduce a change. It either improves efficiency or not. If it increases, then it remains part of the process. If it does not increase, then it is thrown out - this is normal, experiments are also unsuccessful. More precisely, they lead to a negative result, negatively affect the objective function, but in general, such an experiment is a success, because he delivered us from an ineffective method.

    I will offer you two dozen experiments. Each of them, individually, can increase the efficiency of programmers. Or it may not increase it - it depends both on the environment in which the implementation takes place, and on the person who implements it.

    You can try all the methods, you can only part. There are times when the use of only one method increases the efficiency at times. This is called the “principle of leverage” when a key cause of problems is found in the system and its solution is precisely matched. But, as you already understood, there is no limit to perfection.

    Some methods are designed for implementation in a team. If you don’t have a team, you are the only one and will only deal with your effectiveness, then these methods will not help you.

    If you have a team, then you are in luck. You can achieve what is called synergy. Although the word is spoiled by marketers, as well as the word "efficiency", but its meaning has not disappeared. A team can give efficiency more than the sum of the effectiveness of its members.

    There is such a famous synergy formula: 1 + 1 = 11. It literally means that combining the efforts of two people can give a result many times greater than a simple amount. It is clear that this formula was invented by marketers - no one has succeeded in proving it in practice. But the message she gives is correct - a team can do more than a team.

    Therefore, we will devote a lot of time to the work of the team. First of all, these are, of course, methods based on interaction, exchange of experience and mutual assistance.

    Summary



    1. Any person, at any given time, works inefficiently;
    2. Almost any human action may conceal a loss of effectiveness;
    3. If you proactively engage in efficiency, then it will not change;
    4. The effectiveness of any person has infinite potential for improvement;
    5. The effectiveness of the team may be higher than the sum of the effectiveness of its members.

    Also popular now: