Through a combination of proven iterative software development methodology and high calibre Java and project management skills, BSG rose to the challenge of developing new functionality for an existing online gambling system on the other side of the world.
An Australian-based online gaming company approached BSG, requesting an extension to their current system. The Java team within BSG`s Technology Consulting division used the opportunity to demonstrate that by following a sound development methodology, this potentially mammoth task of extending an existing system for a client on a different continent, was very manageable.
The challenge
Extending a current system is a challenge for most companies. Add to this the administration and communication issues of doing this across time zones and the challenge becomes quite significant.
The requirement was to create a new sub-system and integrate this into their existing gaming system. The existing system was already in use by a number of their clients. This presented the gaming company with the challenge of upgrading their existing systems that their clients use with as little disruption as possible. It was also essential that the new system did not deviate significantly from the current system, in terms of user experience and performance.
The existing system was web-based and ran on the Java J2EE platform with an advanced Flash front-end.
There were stringent requirements. These included real-time updates, scalability, security and availability. There were also strict functional requirements that had to comply with government specified regulations. An external regulatory body was required to validate these requirements.
Effective communication between the client and the development team is essential in any project. Therefore, in addition to the technical challenges involved in this project, the practicalities of communicating requirements, designs and final code releases with a client across an eight-hour time difference had to be addressed.
Solving the problem
* Sound Development Methodology
A sound development methodology ensures that all requirements are gathered, translated into appropriate detailed designs, constructed and tested thoroughly.
Managing the project according to the methodology and a well-defined, detailed plan, ensured that the iterative milestones were met. This also allowed for well-timed feedback from the client, to ensure that the project stayed on track.
* Iterative Development Approach The iterative approach meant that the client was included collaboratively in the development lifecycle, through an appropriate level of documentation and project management, every step of the way. This covered the entire lifecycle, from the high-level conceptual stage to the final user acceptance testing.
By constantly staying on top of developments in the Java domain, BSG`s software engineers provided a best-of-breed approach to developing the system. This included making extensive use of design patterns, following a pure Object Oriented approach and thorough unit testing.
BSG challenged the functional requirements in order to ensure the most practical, appropriate, and accurate (in terms of regulations) design was used. In addition, BSG was flexible in fitting into the client`s existing coding framework by using the client`s current development and run-time environment.
Conclusion
By following a well-defined software development methodology, the BSG Java team delivered an extended, integrated J2EE solution to their Australian client that was not only functional, but also of a high standard, illustrating at least three of BSG`s core values, namely, focus on delivery, collaboration and practical solutions.
Editorial contacts


