I got introduced to Electric Cloud at ESC. They make software automation tools, with a focus on build automation and build acceleration.
The build flow is managed by ElectricCommander, which ties into the IDE and has hooks for the actual tools being summoned during the build process. The idea is that it’s easier and faster to manage the flow this way than by managing complex scripts. They have recently added the ability to define the flows graphically rather than through a form, making the process easier and more intuitive.
ElectricAccelerator can be used to spread the build process over a server farm. While that sounds like a simple load-sharing process, the important step that they manage is dependencies. Ordinarily, the developer has to specify which files get built in which order to make sure that anything needed to compile a particular file is already complete. This can be hard to manage as dependencies morph with the evolution of the project.
This gets to the differentiating value that Electric Cloud touts: automatic dependency management. Essentially, when sending a file off to a server to build, if it detects that dependencies for that file haven’t been met, it aborts and places the file back at the end of the queue. They claim to be able to detect all dependencies, so nothing will get missed. The tool also remembers the ordering so that, for the next build, it has to do less on-the-fly shuffling; it orders things correctly to begin with.
They’ve recently announced a version that runs on a desktop having 4-32 cores.
You can find more on their website…