Programmers sometimes fail. The client came to us after a previous team was unable to deliver
on a specific task. The budget allocated for the task was sufficient for its completion and
the project was on-going. However, the desired result was not achieved. The client was
particularly interested to know why this happened. In his view, with several months to go
before relations broke down, work was progressing very slowly. At the very end of the
contract, work stopped altogether. The contractors did not issue new releases or publish
updated versions of the site, but requested their payments like clockwork over the period,
noting the fact that they were carrying out fixes for system errors. In short, the client
was unhappy with the state of affairs, eventually breaking off relations with the small
company. The client was left empty handed; their game didn't work, and according to the
creators it contained critical defects which meant that the game couldn't even be used.
Nonetheless, the client was no longer prepared to work with a contractor in which it
had lost faith. We can only guess at why the project work failed, but it was presumably
not an act of sabotage on the part of the developers, but more likely a simple lack of
experience in implementing large-scale projects and a lack of quality team members for
project work, with due care not taken during the early design stages.
The client was eventually led to us, with the request: “You are veterans, so tell us what to do
now”. As usual, we offered to carry out
an audit of the pre-existing source code, using our most
experienced in-house specialists. In the long run, when there is a clear plan of action and a
series of concrete tasks to be achieved, communication between specialists is much simpler.
Newcomers are generally not successful when dealing with such tasks: firstly, due to a lack
of experience, they do not notice defects which can lead to problems in the future, and secondly
they do not have the sufficient patient and temperament to deal with such painstaking work.
We received a positive response to our proposal. Our technical enquiry was no simple matter.
We systematically took the system apart, bit by bit, outlined the system architecture and
uncovered the visible and hidden defects. They amounted to some 80 pages. We decided to
put all the bugs into bug tracker and continue the fixing work ourselves. After this was
completed, the client was satisfied and continued working with us on this project and
commissioned us for a further project.