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