Custom Software Development within Realistic Deadlines.
In custom software development there are some specific features that should be taken into account.
As opposed to the so-called ‘off-the-shelf’ software, developing custom software requires a lot of contact with the customer. Both for the customer and for the developer it is essential to understand what is going on and why, and what the deadlines are.
Deadlines are a common issue for software developers. When developing in-house software for sale, it is easy to play around with deadlines; but when it comes to developing outsource software for a customer, playing around with deadlines is not a good idea at all. By breaking deadlines you can lose your customer’s trust, which has cost you so much time and effort.
For the project to be successful both from the customer’s and from the developer’s point of view, the process should be transparent, i.e. the work and the deadlines should be clear and understandable to the customer.
The above issues are solved by the short-iteration approach that we have used for many years (the term comes from the extreme programming technique).
Our project leader, working together with the customer’s representative, develops a list of requirements to be fulfilled within a short iteration. This iteration can last up to four weeks, but in most cases it is more convenient to use two-week iterations. When the work is finished, it is submitted to the customer to confirm that all has been done correctly, and then the next iteration is planned.
This short-time planning allows us to claim realistic deadlines and to stick to them. Our customer is aware of what is being done, he can see obvious results upon the end of each iteration period, and he can control and adjust the development process.
Thus, working in short, understandable and distinct iterations is a key requisite for successful custom software development projects.

