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