I am not a fan of one-time projects that “get done” at some point, most often a few months after the project contract is signed.
Here's your software and thank you for doing business with us. Goodbye.
Granted, such is the demand of many companies who think they do not have the resources or need for a longer commitment, but the fact remains: software, be it your “simple” homepage or business-critical internal application, is not a one-off expense, it’s a continuous investment.
Businesses who demand small, one-time budgets, get what they pay for… and although the result might satisfy the initial requirements, it lacks this little something that really drives the developers and makes the users smile. As time passes, the project is quietly shuffled under the carpet. Here’s why.
1. The Bugs Won't Die
There are bugs in the code, no matter how well you’ve tested it (you did test it, right?). The bugs range from annoying to especially nasty ones that could flush your days work. The user submits bug reports that…
- a) get put into a long queue
- b) don't get sent to the original developer at all since the contract demands money to fix the bug
As time goes by, the more flexible party - the user - adjusts to the sub-optimal conditions to the point where the bugs become part of the workflow. Billy the intern might scratch his head at the complicated labyrinth of workarounds, but the veteran users know better.
2. The Interface Looks Like Crap
I really appreciate the way the Web has transformed, both technologically and aesthetically, over the past decade. Modern sites have done extensive usability testing and adjusted their interface to both look pleasing and be usable. Unless, of course, you didn’t have the budget to hire any of those fancy-pancy, not-needed-here design / UX people. Or re-hire them to overhaul and improve. There are sites who could greatly benefit from this.
The design should be iterated constantly. Take a look on how eesti.ee has changed in ten years.
Unusable interfaces cause frustration and drive the users away. Ugly interfaces look unprofessional and in the end, have the same effect.
3. The World Has Moved On
Inline CSS was cool - ten years ago. The
global keyword was used quite often - when people didn’t know any better. Zip archives were the norm for deployment - when Jenkins didn’t exist.
The world of software development moves fast. People are talking and collaborating (at least in the open-source world) and finding new and better ways for doing things. The point - you can hardly leave something to the server to collect dust. Third party libraries need updating, the code needs refactoring and new technologies and platforms (smartphones, tablets, retina displays) need supporting.
Your software project needs constant love and attention to grow into a viable, usable and revenue-generating application. Lack of funding or motivation can doom a project into a quiet death.