QUALITY OF SOFTWARE MATTERS
Quality of software matters, especially for early stage companies.
Hi guys! I have been in software development for a while. Looking over different projects, it’s safe to say that quality has a big impact on software lifetime. Just to clarify, quality of software is not about how much tests you run, but overall value of software that starts with well-designed architecture and ends with clean codebase. You may hear someone saying – „This is a legacy system”. These words for some may bring negativity – to address something old that no one wants to work with. But as a business owner, you should be happy to hear words like „Legacy” of your software, it means that money is well spent - software has lived for a long time and brought a lot of profit for company. No software lives forever, each of them has a time when you will have to throw it out. Luckily, it’s usually after a long time when you have earned lots of money with it, but it’s not always like that. Poor quality causes software to be rebuilt before it’s launched or more common, it’s launched but it doesn’t get further than that. There are some reasons for that: -
1-Bad software architecture and tools. Software need to be well designed for current needs and easy adoptable in future. Also tools have to be correct for particular software. 2-Codebase quality problems. We can divide this into two parts. If you, as a user, notice lot of non-stopping issues with quality (that’s most likely only the visible part of an iceberg). Maybe it doesn’t look bad; you just try to fix this and that. But in reality, it could be small portion of problems that you are facing. This is an indicator that the code of the software is in bad condition. This nonvisible part could be an iceberg that you really should be worried about. Bad quality of code means that it will take longer time to deliver features and quality of software won’t get better. Each new feature is added on top of previous features. That means that to build a good solution you have to fix everything that is previously built.
These are the things that define the core of software. If there are problems with one of them, then the software goes into wrong direction and sooner or later you will have to rebuild it. It’s not a surprise that most common software failure happens in smaller companies/startups that are missing technically knowledgeable person. Common tactic is to hire development at low cost, and it can mean two things – 1) Developers are unfortunately not skilled enough to make a good architectural decision and setting up project codebase. 2) When writing a software, it is like writing a book. Every development team has their own style of coding and working towards a vision. If it is an unqualified development team that starts working on the software, there is a big risk that they
won't be able to have the correct vision or even understand the vision that is being explained by the core business idea. To mitigate these things, it’s best to have a person that understands software development and can assist and oversee problems before project is too far away. Follow up your technical side and mitigate issues before it’s too late. Early problem detection and correct actions, protect you! If you have some questions or comments, or you want assistance to oversee your software development, feel free to reach out to me! Let us build something that holds long enough to be called „Legacy”!