aboutsummaryrefslogtreecommitdiff
path: root/public/software-development-pitfalls.html
diff options
context:
space:
mode:
authorMitja Felicijan <m@mitjafelicijan.com>2023-07-08 23:25:41 +0200
committerMitja Felicijan <m@mitjafelicijan.com>2023-07-08 23:25:41 +0200
commitcd6644ea4ddc78597934ab0ef5ba50e3c3daa927 (patch)
tree03de331a8db6386dfd6fa75155bfbcea6b4feaf3 /public/software-development-pitfalls.html
parent84ed124529ffeee1590295b8de3a8faf51848680 (diff)
downloadmitjafelicijan.com-cd6644ea4ddc78597934ab0ef5ba50e3c3daa927.tar.gz
Moved to a simpler SSG
Diffstat (limited to 'public/software-development-pitfalls.html')
-rwxr-xr-xpublic/software-development-pitfalls.html119
1 files changed, 119 insertions, 0 deletions
diff --git a/public/software-development-pitfalls.html b/public/software-development-pitfalls.html
new file mode 100755
index 0000000..94cc15c
--- /dev/null
+++ b/public/software-development-pitfalls.html
@@ -0,0 +1,119 @@
1<!doctype html><html lang=en-us><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL69vf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv76+/8LBwQkAAAAAAAAAAAAAAAC+vb3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+9vf/Bv78JAAAAAAAAAAAAAAAAu7q6/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC7ubr/vr29CAAAAAAAAAAAy8nJAZ6foP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnqGj/6GipAoAAAAAHLjU/xcXHf/BwsL/I8XY/yPK3v8XGiD/IbjL/yPF2f8XGiD/Fxkf/yLF2f8gnK3/Fxog/62ztv8fwNf/FRcd/x271v8mz93/GRsi/xkXHf8p097/GiIp/xobIv8p0t3/KdPe/xocIv8fYmr/KNPe/xoZH/8aHCL/J87c/xy81/8VFxz/IsPZ/8zS0/8XGiD/Ir/R/yPH2/8XGiD/Fxkf/yPH2/8dd4T/GBog/yPJ3f8jyNr/uru9/xcUGv8cudb/EhITDKi5vRKlvMP/RUpOERwcHRAdOj4QHTk8EBwdHRAdNTgQHTo/EBwcHRAcHB0QSGduEKW4vf+koqQfHzg+EBqz0ewSFRv7EyMr/xq51vsTERb7ExUb+xq41fsau9j7ExUb+xiPp/sZudb7ExUb+xMVG/sZuNX/GKvI/BIUGfMdvdn/IrfL/xcaIP8n1eb/J9Dh/xkcIf8ZGR7/J8/f/xxCSv8ZGyH/J9Dg/ybQ4P8ZHCL/FSQs/yPK3/8UExj/GE1b/ybS5P8ZGB7/Ghwj/ynW5P8p2Ob/Ghwi/yWrtv8p1eH/Ghwi/xocIv8p1uT/J8XT/xkcIv8m1un/Hb7d/xUYH/8hzOr/HtHu/xcaIf8XGB//I8vi/xgxOv8XGSD/I8rg/yPK4P8XGiD/GUFL/yPP6f8SERj/Fhkh/x3A4f8AAAAAJ2f9/ydr//8mZPH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlYu38J2v//ydo/f8AAAAAAAAAAAd8/fkFqf//Iob8sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMY39awWr//8FfP3/AAAAAAAAAAAFm/7/SfD//wR+/f8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOB/f9B7v//BaX+/wAAAAAAAAAAQ878SAyZ/v9n1v4KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADu9v8DDJb+/z3N/XgAAAAA3/sAAN/7AADf+wAA3/sAAAAAAAAAAAAAAAAAAN/7AAAAAAAAAAAAAAAAAAAAAAAAj/EAAI/5AACP8QAA3/sAAA==" rel=icon type=image/x-icon><title>Software development and my favorite pitfalls</title><meta name=description content="Over the years I had the privilege to work on some very excited projects both insoftware development field and also in electronics field and every experiencetaught me some invaluable lessons about how NOT TO approach development."><link rel=alternate type=application/rss+xml title="Mitja Felicijan's posts" href=https://mitjafelicijan.com/index.xml><link rel=alternate type=application/rss+xml title="Mitja Felicijan's notes" href=https://mitjafelicijan.com/notes.xml><style>body{padding:1rem;max-width:760px;background:#fff;font-family:times new roman,Times,serif;line-height:1.35rem}hr{margin-block-start:1.5rem}h1,h2,h3{line-height:initial}footer{margin-block-start:3rem}table{max-width:100%;border-collapse:separate;border-spacing:2px;border:1px solid #000;border-left:1px solid #999;border-top:1px solid #999}blockquote{font-style:italic}table thead{background:#eee}td,th{border:1px solid #000;padding:4px;border-right:1px solid #999;border-bottom:1px solid #999;text-align:left}pre{text-wrap:nowrap;overflow-x:auto;margin-block-start:1.5rem;margin-block-end:1.5rem;padding:.5rem 0;border-top:1px solid #000;border-bottom:1px solid #000}pre code{line-height:1.3em}pre,code,pre *,code *{font-family:monospace;font-size:initial!important}img,video,audio{max-width:100%}header{display:flex;flex-direction:row;gap:3rem}nav{display:flex;gap:.75rem}.pstatus-orange{background:gold}.pstatus-green{background:#9acd32}.pstatus-red{background:#cd5c5c}@media only screen and (max-width:600px){header{flex-direction:column;gap:1rem}a{word-wrap:break-word}}</style><header><nav class=main><a href=/>Home</a>
2<a href=https://git.mitjafelicijan.com/ target=_blank>Git</a>
3<a href=https://files.mitjafelicijan.com/ target=_blank>Files</a>
4<a href=/mitjafelicijan.pgp.pub.txt target=_blank>PGP</a>
5<a href=/curriculum-vitae.html>CV</a>
6<a href=/index.xml target=_blank>RSS</a></nav></header><main><div><h1>Software development and my favorite pitfalls</h1><p>Nov 10, 2015<div><p>Over the years I had the privilege to work on some very excited projects both in
7software development field and also in electronics field and every experience
8taught me some invaluable lessons about how NOT TO approach development. And
9through this post I will try to point out some absurd, outdated techniques I
10find the most annoying and damaging during a development cycle. There will be
11swearing because this topic really gets on my nerves and I never coherently
12tried to explain them in writing. So if I get heated up, please bear with me.<p>As new methods of project management are emerging, underlying processes still
13stay old and outdated. This is mainly because we as people are unable to
14completely shift away from these approaches.<p>I was always struggling with communication, and many times that cost me a
15relationship or two because I was not on the ball all the time. Through every
16experience, I became more convinced that I am the problem and never ever doubted
17that the problem may be that communication never evolved a single step from
18emails. And if you think for a second, not many things have changed around this
19topic. We just have different representations of email (message boards, chats,
20project management tools). And I believe this is the real issue we are facing
21now.<p>There are many articles written about hyper connectivity and the effects that
22are a direct result of it. But mainstream does nothing towards it. We are just
23putting out fires, and we do nothing to prevent it. I am certain this will be a
24major source of grief in coming years. And what we all can do to avoid this is
25to change our mindset and experiment on our communication skills, development
26approaches. We need to maximize possible output that a person can give. And to
27achieve this we need to listen to them, encourage them. I know that not
28everybody is a naturally born leader, but with enough practice and encouragement
29they also can become active participants in leadership.<p>There are many talks now about methodologies such as Scrum, Kanban, Cleanroom
30and they all fucking piss me of :). These are all boxes that imprison people and
31take away their freedom of thought. This is a straightforward mindfuck /
32amputation of creativity.<p>Let me list a couple of things that I find really destructive and bad for a
33project and in a long run company.<h2 id=ping-emails>Ping emails</h2><p>Ping emails are emails you have to write as soon as you receive an email. Its
34sole purpose is to inform the sender that you received their email, and you are
35working on it. Its result is only to calm down the sender that their task is
36being dealt with. It’s intent basically is, I did my job by sending you this
37email, so I am on clear grounds. I categorize this email as fuck you email.
38This is one of the most irritating types of emails I need to write. This is the
39ultimate control freak show you can experience, and it gives the sender a false
40feeling of control. Newsflash: We do not live in 1982 where there was a
41possibility that email never reached the destination. I really hate this from
42the bottom of my heart.<p>They should be like: “Yes, I am fucking alive, and I am at your service my
43leash!”. I guess if I would reply like this, I wouldn’t have to write any more
44of this kind of messages.<h2 id=everybody-is-a-project-manager>Everybody is a project manager</h2><p>Well, this is a tough one. I noticed that as soon as you let people to give
45their suggestions, you are basically screwed. There is a truth in the saying:
46“Give low expectations and deliver little more than you promised.”.<p>People tend to take a role of a manager as soon as they are presented with an
47opportunity. And by getting angry at them, you only provoke yourself. They are
48not at fault. You just need to tell them they are only giving suggestions and
49not tasks at the beginning and everything will be alright. But if you give them
50a feeling that they are in control, you will have immense problems explaining
51why their features are not in current release.<p>Project mission must be always leading project requirements and any deviation
52from it will result in major project butchering. And by this, I mean that the
53project will get its own path, and you will be left with half done software that
54helps nobody. Clear mission goals and clean execution will allow you to develop
55software will clear intent.<h2 id=we-are-never-wrong>We are never wrong</h2><p>I find this type of arrogance the worst. We must always conduct ourselves that
56we are infallible and cannot make mistakes. As soon as a procedure or process is
57established, there is no room for changes or improvements. This is the most
58idiotic thing someone can say of think. I think that processes need to involve
59and change over time. This is imperative and need to have in your organization
60if you want to improve and develop company. We all need to grow balls and change
61everything in order to adapt to current situations. Being a prisoner of
62predefined processes kills creativity.<p>I am constantly trying new software for project managing and communication. I
63believe every team has its own dynamic, and it needs to be discovered
64organically and naturally through many experiments. By putting the team in a
65box, you are amputating their creativity and therefore minimizing their
66potential. But if you talk to an executive, you will mainly find archetypical
67thinking and a strong need to compartmentalize everything from business
68processes to resource management. And this type of management that often
69displays micromanagement techniques only works for short periods (couple of
70years) and then employees either leave the company or become basically retarded
71drones on autopilot.<h2 id=micromanaging>Micromanaging</h2><p>This basically implies that everybody on the team is an idiot who needs to have
72a to-do list that they cannot write themselves. How about spoon-feeding the team
73at launch because besides the team leader, everybody must be a retarded idiot at
74best?<p>I prefer milestones as they give developers much more freedom and creativity in
75developing and not waste their time checking some bizarre to-do list that was
76not even thought through. Projects constantly change throughout the development
77cycle, and all you are left at the end is a list of unchecked tasks and the
78wrath of management why they are not completed. Best WTF moment!<h2 id=human-contact--no-need-for-it>Human contact — no need for it!</h2><p>We are vigorously trying to eliminate physical contact by replacing short
79meetings with software, with no regards that we are not machines. Many times a
80simple 5-min meeting at morning can solve most of the problems. In rapid
81development, short bursts of man to man communication is possibly the best way
82to go.<p>We now have all this software available, and all what we get out of it is a
83giant clusterfuck. An obstacle and not a solution. So, why we still use them?<h2 id=mvp-is-killing-innovation>MVP is killing innovation</h2><p>Many will disagree with me on this one, but I stand strong by this statement.
84What I noticed in my experience that all this buzz words around us only mislead
85and capture us in a circle of solving issues that already have a solution, but
86we are unable to see it without using some fancy word for it.<p>The toughest thing to do for a developer is to minimize requirements. Well, this
87is though only for bad developers. Yes, I said it. There are many types of
88developers out there. And those unable to minimize feature scope are the ones
89you don’t need on your team. Their only goal is to solve problems that exist
90only in their heads. And then you have to argue with them, and waste energy on
91them, instead of developing your awesome product. They are a cancer and I
92suggest you cut them off.<p>MVP as an idea is great, but sadly people don’t understand underlying
93philosophy, and they spent too much time focusing and fixating on something that
94every sane person with normal IQ will understand without some made up
95acronym. And the result is a lot of talking and barely no execution.<p>Well, MVP is not directly killing innovation, but stupid people do when they try
96to understand it.<h2 id=pressure-wasteland>Pressure wasteland</h2><p>You must never allow to be pressured into confirming a deadline if you are not
97confident. We often feel a need that we are in service of others, which is true
98to some extent. But it is also true that others are in service to us to some
99extent. And we forget this all the time. We are all pressured all the time to
100make decisions just to calm other people down. And when they leave your office
101you experience WTF moment :) How the hell did they manage to fuck me up again?<p>People need to realize that the more pressure you put on somebody, the less they
102will be able to do. So 5-min update email requests will only resolve in mental
103breakdown and inability to work that day. Constant poking is probably the only
104thing I lose my mind instantly. For all you that are doing this: “Stop bothering
105us with your insecurities and let us do our job. We will do it quicker and
106better without you breathing down our necks.”<p>If this happens to me, I end up with no energy at the end. Don’t you get it?
107You will get much more from and out of me if you ask me like a human person and
108not your personal butler. On a long run, you are destroying your relationships
109and nobody would want to work with you. Your schizophrenic approach will damage
110only you in a long run. Nobody is anybody’s property.<h2 id=conclusion>Conclusion</h2><p>I am guilty of many things described in this post. And I find it hard sometimes
111to acknowledge this. And I lie to myself and try vigorously to find some
112explanation why I do these things. There is always space for growth. And maybe
113you will also find some of yourself in this post and realize what needs to
114change for you to evolve.</div></div></main><footer><hr><div><h3>Want to comment or have something to add?</h3>You can write me an email at
115<a href=mailto:m@mitjafelicijan.com>m@mitjafelicijan.com</a> or catch up
116with me
117<a href=https://telegram.me/mitjafelicijan target=_blank>on Telegram</a>.</div><hr><p>This website does not track you. Content is made available under
118the <a href=https://creativecommons.org/licenses/by/4.0/ target=_blank rel=noreferrer>CC BY 4.0 license</a> unless specified
119otherwise. Blog feed is available as <a href=/index.xml target=_blank>RSS feed</a>.</footer><script src=https://cdn.usefathom.com/script.js data-site=XHQARKXP defer></script> \ No newline at end of file