diff options
Diffstat (limited to 'content/posts/2015-11-10-software-development-pitfalls.md')
| -rw-r--r-- | content/posts/2015-11-10-software-development-pitfalls.md | 181 |
1 files changed, 181 insertions, 0 deletions
diff --git a/content/posts/2015-11-10-software-development-pitfalls.md b/content/posts/2015-11-10-software-development-pitfalls.md new file mode 100644 index 0000000..6a5d9bd --- /dev/null +++ b/content/posts/2015-11-10-software-development-pitfalls.md | |||
| @@ -0,0 +1,181 @@ | |||
| 1 | --- | ||
| 2 | title: Software development and my favorite pitfalls | ||
| 3 | url: software-development-pitfalls.html | ||
| 4 | date: 2015-11-10T12:00:00+02:00 | ||
| 5 | type: post | ||
| 6 | draft: false | ||
| 7 | --- | ||
| 8 | |||
| 9 | Over the years I had the privilege to work on some very excited projects both in | ||
| 10 | software development field and also in electronics field and every experience | ||
| 11 | taught me some invaluable lessons about how NOT TO approach development. And | ||
| 12 | through this post I will try to point out some absurd, outdated techniques I | ||
| 13 | find the most annoying and damaging during a development cycle. There will be | ||
| 14 | swearing because this topic really gets on my nerves and I never coherently | ||
| 15 | tried to explain them in writing. So if I get heated up, please bear with me. | ||
| 16 | |||
| 17 | As new methods of project management are emerging, underlying processes still | ||
| 18 | stay old and outdated. This is mainly because we as people are unable to | ||
| 19 | completely shift away from these approaches. | ||
| 20 | |||
| 21 | I was always struggling with communication, and many times that cost me a | ||
| 22 | relationship or two because I was not on the ball all the time. Through every | ||
| 23 | experience, I became more convinced that I am the problem and never ever doubted | ||
| 24 | that the problem may be that communication never evolved a single step from | ||
| 25 | emails. And if you think for a second, not many things have changed around this | ||
| 26 | topic. We just have different representations of email (message boards, chats, | ||
| 27 | project management tools). And I believe this is the real issue we are facing | ||
| 28 | now. | ||
| 29 | |||
| 30 | There are many articles written about hyper connectivity and the effects that | ||
| 31 | are a direct result of it. But mainstream does nothing towards it. We are just | ||
| 32 | putting out fires, and we do nothing to prevent it. I am certain this will be a | ||
| 33 | major source of grief in coming years. And what we all can do to avoid this is | ||
| 34 | to change our mindset and experiment on our communication skills, development | ||
| 35 | approaches. We need to maximize possible output that a person can give. And to | ||
| 36 | achieve this we need to listen to them, encourage them. I know that not | ||
| 37 | everybody is a naturally born leader, but with enough practice and encouragement | ||
| 38 | they also can become active participants in leadership. | ||
| 39 | |||
| 40 | There are many talks now about methodologies such as Scrum, Kanban, Cleanroom | ||
| 41 | and they all fucking piss me of :). These are all boxes that imprison people and | ||
| 42 | take away their freedom of thought. This is a straightforward mindfuck / | ||
| 43 | amputation of creativity. | ||
| 44 | |||
| 45 | Let me list a couple of things that I find really destructive and bad for a | ||
| 46 | project and in a long run company. | ||
| 47 | |||
| 48 | ## Ping emails | ||
| 49 | |||
| 50 | Ping emails are emails you have to write as soon as you receive an email. Its | ||
| 51 | sole purpose is to inform the sender that you received their email, and you are | ||
| 52 | working on it. Its result is only to calm down the sender that their task is | ||
| 53 | being dealt with. It’s intent basically is, I did my job by sending you this | ||
| 54 | email, so I am on clear grounds. I categorize this email as fuck you email. | ||
| 55 | This is one of the most irritating types of emails I need to write. This is the | ||
| 56 | ultimate control freak show you can experience, and it gives the sender a false | ||
| 57 | feeling of control. Newsflash: We do not live in 1982 where there was a | ||
| 58 | possibility that email never reached the destination. I really hate this from | ||
| 59 | the bottom of my heart. | ||
| 60 | |||
| 61 | They should be like: “Yes, I am fucking alive, and I am at your service my | ||
| 62 | leash!”. I guess if I would reply like this, I wouldn’t have to write any more | ||
| 63 | of this kind of messages. | ||
| 64 | |||
| 65 | ## Everybody is a project manager | ||
| 66 | |||
| 67 | Well, this is a tough one. I noticed that as soon as you let people to give | ||
| 68 | their suggestions, you are basically screwed. There is a truth in the saying: | ||
| 69 | “Give low expectations and deliver little more than you promised.”. | ||
| 70 | |||
| 71 | People tend to take a role of a manager as soon as they are presented with an | ||
| 72 | opportunity. And by getting angry at them, you only provoke yourself. They are | ||
| 73 | not at fault. You just need to tell them they are only giving suggestions and | ||
| 74 | not tasks at the beginning and everything will be alright. But if you give them | ||
| 75 | a feeling that they are in control, you will have immense problems explaining | ||
| 76 | why their features are not in current release. | ||
| 77 | |||
| 78 | Project mission must be always leading project requirements and any deviation | ||
| 79 | from it will result in major project butchering. And by this, I mean that the | ||
| 80 | project will get its own path, and you will be left with half done software that | ||
| 81 | helps nobody. Clear mission goals and clean execution will allow you to develop | ||
| 82 | software will clear intent. | ||
| 83 | |||
| 84 | ## We are never wrong | ||
| 85 | |||
| 86 | I find this type of arrogance the worst. We must always conduct ourselves that | ||
| 87 | we are infallible and cannot make mistakes. As soon as a procedure or process is | ||
| 88 | established, there is no room for changes or improvements. This is the most | ||
| 89 | idiotic thing someone can say of think. I think that processes need to involve | ||
| 90 | and change over time. This is imperative and need to have in your organization | ||
| 91 | if you want to improve and develop company. We all need to grow balls and change | ||
| 92 | everything in order to adapt to current situations. Being a prisoner of | ||
| 93 | predefined processes kills creativity. | ||
| 94 | |||
| 95 | I am constantly trying new software for project managing and communication. I | ||
| 96 | believe every team has its own dynamic, and it needs to be discovered | ||
| 97 | organically and naturally through many experiments. By putting the team in a | ||
| 98 | box, you are amputating their creativity and therefore minimizing their | ||
| 99 | potential. But if you talk to an executive, you will mainly find archetypical | ||
| 100 | thinking and a strong need to compartmentalize everything from business | ||
| 101 | processes to resource management. And this type of management that often | ||
| 102 | displays micromanagement techniques only works for short periods (couple of | ||
| 103 | years) and then employees either leave the company or become basically retarded | ||
| 104 | drones on autopilot. | ||
| 105 | |||
| 106 | ## Micromanaging | ||
| 107 | |||
| 108 | This basically implies that everybody on the team is an idiot who needs to have | ||
| 109 | a to-do list that they cannot write themselves. How about spoon-feeding the team | ||
| 110 | at launch because besides the team leader, everybody must be a retarded idiot at | ||
| 111 | best? | ||
| 112 | |||
| 113 | I prefer milestones as they give developers much more freedom and creativity in | ||
| 114 | developing and not waste their time checking some bizarre to-do list that was | ||
| 115 | not even thought through. Projects constantly change throughout the development | ||
| 116 | cycle, and all you are left at the end is a list of unchecked tasks and the | ||
| 117 | wrath of management why they are not completed. Best WTF moment! | ||
| 118 | |||
| 119 | ## Human contact — no need for it! | ||
| 120 | |||
| 121 | We are vigorously trying to eliminate physical contact by replacing short | ||
| 122 | meetings with software, with no regards that we are not machines. Many times a | ||
| 123 | simple 5-min meeting at morning can solve most of the problems. In rapid | ||
| 124 | development, short bursts of man to man communication is possibly the best way | ||
| 125 | to go. | ||
| 126 | |||
| 127 | We now have all this software available, and all what we get out of it is a | ||
| 128 | giant clusterfuck. An obstacle and not a solution. So, why we still use them? | ||
| 129 | |||
| 130 | ## MVP is killing innovation | ||
| 131 | |||
| 132 | Many will disagree with me on this one, but I stand strong by this statement. | ||
| 133 | What I noticed in my experience that all this buzz words around us only mislead | ||
| 134 | and capture us in a circle of solving issues that already have a solution, but | ||
| 135 | we are unable to see it without using some fancy word for it. | ||
| 136 | |||
| 137 | The toughest thing to do for a developer is to minimize requirements. Well, this | ||
| 138 | is though only for bad developers. Yes, I said it. There are many types of | ||
| 139 | developers out there. And those unable to minimize feature scope are the ones | ||
| 140 | you don’t need on your team. Their only goal is to solve problems that exist | ||
| 141 | only in their heads. And then you have to argue with them, and waste energy on | ||
| 142 | them, instead of developing your awesome product. They are a cancer and I | ||
| 143 | suggest you cut them off. | ||
| 144 | |||
| 145 | MVP as an idea is great, but sadly people don’t understand underlying | ||
| 146 | philosophy, and they spent too much time focusing and fixating on something that | ||
| 147 | every sane person with normal IQ will understand without some made up | ||
| 148 | acronym. And the result is a lot of talking and barely no execution. | ||
| 149 | |||
| 150 | Well, MVP is not directly killing innovation, but stupid people do when they try | ||
| 151 | to understand it. | ||
| 152 | |||
| 153 | ## Pressure wasteland | ||
| 154 | |||
| 155 | You must never allow to be pressured into confirming a deadline if you are not | ||
| 156 | confident. We often feel a need that we are in service of others, which is true | ||
| 157 | to some extent. But it is also true that others are in service to us to some | ||
| 158 | extent. And we forget this all the time. We are all pressured all the time to | ||
| 159 | make decisions just to calm other people down. And when they leave your office | ||
| 160 | you experience WTF moment :) How the hell did they manage to fuck me up again? | ||
| 161 | |||
| 162 | People need to realize that the more pressure you put on somebody, the less they | ||
| 163 | will be able to do. So 5-min update email requests will only resolve in mental | ||
| 164 | breakdown and inability to work that day. Constant poking is probably the only | ||
| 165 | thing I lose my mind instantly. For all you that are doing this: “Stop bothering | ||
| 166 | us with your insecurities and let us do our job. We will do it quicker and | ||
| 167 | better without you breathing down our necks.” | ||
| 168 | |||
| 169 | If this happens to me, I end up with no energy at the end. Don’t you get it? | ||
| 170 | You will get much more from and out of me if you ask me like a human person and | ||
| 171 | not your personal butler. On a long run, you are destroying your relationships | ||
| 172 | and nobody would want to work with you. Your schizophrenic approach will damage | ||
| 173 | only you in a long run. Nobody is anybody’s property. | ||
| 174 | |||
| 175 | ## Conclusion | ||
| 176 | |||
| 177 | I am guilty of many things described in this post. And I find it hard sometimes | ||
| 178 | to acknowledge this. And I lie to myself and try vigorously to find some | ||
| 179 | explanation why I do these things. There is always space for growth. And maybe | ||
| 180 | you will also find some of yourself in this post and realize what needs to | ||
| 181 | change for you to evolve. | ||
