“We are late because of the software”
“We should adopt a new development process but we do not have the time”
“A very interesting tool but there is no budget, I’m sorry”
“Our software development method is very artisanal”
“We do not have time to test because we have to sell the product”
“The test is boring and expensive, we have to cut the times”
“We want to stay focused on our core business”
“We have to recall 10,000 units from the market for a problem”
“Some people are hurting themselves using our device”
“The relatives of our customers who were victims of accidents with our vehicles got organized into a class-action”
If any of these phrases is known to you because happened your company or in that of your competitor, or if just hearing it makes you feel a cold shiver: then this article is for you.
I have been working in the software development sector for over 25 years and I have covered a long series of responsibilities, roles and tasks related to the software life cycle, in various fields: from developer to manager, from modelling to testing, from employee to freelance, from management software to aerospace software, from the safety-critical to the business-critical software.
For years I was forced to fight against all the problems related to software development: delays, misunderstandings, bugs, complaints from customers, managers.
Well, do you know what impressed me in all these years of international experience?
The feeling of powerlessness in seeing how software, although omnipresent in every aspect of our lives, is actually a completely underestimated, underestimated and mistreated discipline but of absolute and ever-increasing importance and above all danger.