Non-technical managers will not always understand how software development works. And your boss is most likely a non-technical manager and because of this, they can make your job difficult. One of the reasons is because they can, and secondly, they have no idea what is involved in software development. They will expect you to meet the deadlines set without caring about the hustle or implications associated with such actions. However, don't blame him. When it comes to software development, it is easy to misunderstand some aspects. If you are curious to know what your boss doesn't understand about your job, here are 8 things your boss doesn’t know about software development;
1. Adding more people in a project only slows things down
Your boss will think that he is helping to speed up things by bringing that one additional person to a project. This move is an inexperienced one only taken by people who don't have an understanding of software development background. From one expert to another, throwing more people to a software development team only slows things down. Instead of putting the focus on moving forward, the team will have to drop everything to get the new member up to speed with their progress. Things will even get slower if such an additional team player is an amateur in software development. Adding more people to a project doesn't help at all. Instead, it only leads to a waste of valuable time that could have been invested in actual tasks.
2. You can't make additional requests in the middle of the project
Bosses who are inexperienced in software development never know how dangerous it is to make additional requests for some features in the middle of a project. It might seem quite easy for them, but little do they know how such requests can affect the quality of the entire project, or whether it is even possible. Such actions put the development team in a tight spot where they have no choice other than to accept the requests. More requests only lead to missed deadlines or shoddy work, a thing the boss will not take lightly. Possibilities of making mistakes are high because of the pressure exerted on the team. At the end of the day, the team delivers poor work that is no good for the company.
3. Software Quality Assurance (QA) can't be 100% sure
When it comes to QA, there is no zero-bug policy. QA can't be spotless clean or completely sanitized. Try telling this to your boss and they will accuse you of having poor software development skills or incompetence. The goal of QA is to get a bug-free program. However, this is quite a difficult objective to achieve. In software development, there are many moving parts to test. As a result, a bug could be triggered at any part of the process. Aside from that, bugs don't behave logically and can't be predicted. Thus, it is a mistake to expect QA to be 100%.
4. You can't rely on generic codes
HR specialist in medicine Sonia Bell claims Bosses seem to think that you can work with other people's code. After all, it will save you precious time, effort, and money. Little do they know how dangerous this approach is to your program. Every business has code written for its unique needs. Therefore, it goes without saying that relying on another person's code is like a suicide mission. It puts the whole program at risk because you can never know when things will come crumbling at your feet.
5. Technical debt always catches up with you
Non-technical bosses will always choose easy to implement code instead of implementing the best possible solution. Such bosses will forego the right code in favor of a faster one. The only problem is that choosing something because it is easy and fast in the short run only leads to a disaster for any future efforts. A code that is full of technical debt only works for a short period. With time, it will be hard even to make a move using it. It slows things down, and at the end, the code will be so bad that coding new features will be next to impossible.
6. Effort and productivity are different things
Many bosses, especially inexperienced ones, tend to think that spending time on something means the project is moving forward. In software development, this is not always the case. Sometimes a development team will spend an intensive amount of time on something while the progress of the overall project is stagnant. Sometimes progress on such projects takes place later after consuming a lot of time.
7. Estimates are mostly crap
Your non-technical boss will never understand that when it comes to software development, it is not easy to estimate things such as the time it takes to complete a job. Every task is quite different from what you did the last time. It not all about putting text on a screen. Things can happen unexpectedly during the process that makes estimating things a challenging task.
8. Some developers are complete losers
Some non-technical bosses never realize that having some developers in the project team costs the company a lot. Abilities and skills vary from individual to individual in software development. With that said, the company is better off without some employees because not all software developers are good at what they do. Some are complete losers and are always hurting the team's efforts. It's not right to let such developers delay your progress. Let your boss know!
If only bosses adopted a proactive approach when dealing with software developers, these misunderstanding wouldn't see the light of day. However, as long as they are still using the confrontation approach, miscommunications will continue arising, deadlines will be missed, and at the end, no one will be happy. Bosses, it is time to foster the productivity of your software developers by letting them be at times. Let them do their thing. Heed to their advice and you will have more successful projects.