Software application development
This blog is intended to provoke discussion and exchange between like minded software application developers, engineers, architects, project managers - and keen hobbyists too.
Monday 22 September 2008, 12:41 PM
SPM tools for games development
SPM seems to feature when vendors are talking about ‘continuous integration’ – that practice within Agile that promises to speed development and improve quality, but is argued to potentially slow down development and lower quality software engineering by introducing frequently broken builds.
An SPM system/product/offering/solution (chose your own favourite) can, so say the vendors, provide a sort of preview window into a build-test-deploy cycle so that high volume builds (such as games development) can be exposed to continuous integration techniques with less fear of disaster.
So who is doing SPM and do their arguments hold water? Electric Cloud has a product called ElectricCommander 3.0 that promises to produce results in this space. Despite sporting a name that makes it sound like an electric phaser gun, the company says that once code has been through the SPM treatment that it can then be checked into the SCM system. This does tally with things I’ve said before about SCM and games programming.
Looking further, analyst Theresa Lanowitz of voke reckons that, “Highly optimised organisations are experiencing tremendous return on investment -- in some cases upwards of US$2M per year -- by treating SPM as a critical component of the application lifecycle.”
Other vendors angling for a slice of the SPM pie include IBM with its Rational Build Forge, Borland with Gauntlet and there’s open-source tools too such as CruiseControl.
It’s amazing to think that my reports on the game’s progress are being fed into these kinds of systems (if they indeed are) and are impacting the live development of the software that I am seeing evolve every week. More as it happens…
Comments on this post
Hi Adrian,
For medium or large software development projects, a full integration build and test can take hours, during which time developers can check in additional changes to their SCM tool that may cause a build or test failure. The risk of build failure increases exponentially as the number and locations of developers grow. In a continuous integration environment, build failures have an immediate impact on the productivity of entire development teams as the problem is diagnosed and fixed.
The integration between ElectricCommander and AccuRev solves this problem by combining and extending several continuous integration best practices:
ElectricCommander is an enterprise-class solution for automating and managing the software build-test-deploy process. It is language- and build tool-agnostic, and makes this process more repeatable, more transparent, and more efficient, whether teams use Java, Ant, C/C++, Make, etc. ElectricCommander distributes individual jobs or job steps in parallel across multiple servers for faster throughput and efficient resource utilization. Unlike traditional “continuous integration servers,” ElectricCommander has an extensible and secure 3-tier architecture that can scale to manage any size project or development organization. It will also help teams respond nimbly to change, requiring minimal changes to existing build or test scripts.
AccuRev integrated with ElectricCommander facilitates a multistage continuous integration environment by automating event-triggered builds at different stages of a team’s development release process represented in the AccuRev stream-based GUI. AccuRev streams act as temporary buffers and changes linger only as long as necessary. The result is that the impact of a build or test breaking change is limited to just a single team instead of all development teams typical of continuous integration in mainline development, with zero changes to a developer’s day to day activities.
Best,
Alex
Thanks Alex,
You clearly know this area inside out - more proficiently that I do, but then I have to cover a whole load of topics across a whole load of platforms in a whole load of languages in a whole load of deployment scenarios.
That said, I think you've added to and expanded upon my blog superbly which I hoped would add to interest in this area - the technology in question is not covered as much as other more "popular" segments of the IT spectrum. So - great stuff basically.
Once again - thanks for keeping your finger on the pulse.
Adrian
This comment has been deleted at the users request


