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.
Audited socio-economic online game. Conducted technical tests on the software and compiled comprehensive documentation for the product, including:
The gaming software was improved and several illogical errors in game-play were removed. Efficiency was improved with the help of the PreFork model for the preliminary initialization of resources.