Software is a journey
There's an old saying that life's a journey, not a destination. And so it is with software. In my career I've seldom if ever seen software described as finished.
At times you will see software versions frozen - but the software lives on with a new major version number. When software fails to be upgraded it dies - witness the sad death of that great Email client - Eudora, as the Mac OS platform pulls support for older Power PC type applications.
The reasons for this are numerous, but they come down primarily to a few main things:
- Software is complex, and in anything complex there is almost always room for improvement.
- Software rarely lives in isolation, but is governed by external factors such as computer hardware, operating system versions, or the ever changing business, economic, and legislative environment.
- Software today is written by mere mortals, and as mortals we are prone to making mistakes.
So when you contract a software development company, don't go in believing you will receive a shiny, bullet proof, completely finished artifact.Accept that software development is a process.
Here are some tips to get the most yout of our engagement with a software development professional:
- Enjoy the design process. The more time spent up front visualising the end result, the better it will be, and the less time wasted on taking wrong routes.
- Become a good tester (or hire your own). Software developers are perennially bad at checking their code. Like an author that requires an editor, a software developer requires a tester - the more negative in outlook the better!
- Accept that most software developers want to do their best. They are typically more interested in the work than the money - otherwise we would have become lawyers! Engage them on a time and materials basis to avoid the delays and fat added in the fix quoting process.
The process may take longer and cost more than first envisaged. It's just the nature of things. Software is complex. Large software is exponentially more so. Accept this, factor in some contingency, and move on. Ultimately it will be cheaper than demanding a fixed quote and/or ending up in the courts. - Provide constant and prompt feedback. This is the way to a software engineer's heart. Downtime, or lack of response in turning around issues costs money, and forces us to switch between projects. The added delays are costly and frustrating as we ramp up and down on a project.
- Enjoy the journey!
News
Bluff IT's parent company changes name to Bluff Trading Ltd.
Looking for sales opportunities of our Timetracker software.
Bluff IT set to launch new VPS hosting solution
Blog
- 1 of 2
- ››



