In light of the recent fiasco over the NDP website, I thought it would be apt for me to share my thoughts on how I believe web development in Singapore has ended up in this dismal state today. This is definitely not an isolated case, the series of breaches by Messiah last year being proof.
Lack of regulation
Unlike engineering or architecture, software development is not a profession. Therefore, developers do not need licenses to practice, they do not need to pass exams or abide by the rules set down by professional bodies. In short, anyone can attend a 3 day crash course on web design and call himself a web developer.
Case in point:
It might have been for a good cause but what happens if the website gets compromised. Our buildings are designed by licensed architects who are held responsible in the event of a collapse. Yes, people may lose their lives when buildings collapse, but software bugs have the potential to affect thousands or even tens of thousands if the website is very popular. However, developers are not held accountable for bugs in their code. Often times, the client even has to pay the developers an additional amount to maintain the code. Unfortunately, due to the complex nature of software development, a certain amount of bugs are unavoidable.
Better, cheaper, faster
This is what happens when lack of regulation intersects with better, cheaper, faster. The project is awarded to a contractor without proper expertise and qualification, corners are cut and cheaper materials are used. The construction industry has already moved beyond that. Sadly, this is currently where software development actually is. Projects are awarded to the lowest bidder who then turn to unqualified people who are willing to accept lower wages. They produce work of poor quality and cycle repeats.
What's next
We cant simply wait for the government to impose regulations. Businesses must start to consider the financial impact of poor software quality. Other than the cost of a potential security breach, poor software quality affects productivity and costs more to maintain. Only when they start awarding contracts to those who can provide value for money will the software industry get the message and step up their game.
As the saying goes, if you pay peanuts, you will get monkeys.