Vendor-Supported Solution

There are a few open source projects available that offer continuous integration features, arguable the best known of which are CruiseControl and CruiseControl.NET.� Obviously open source projects do not have associated licensing fees, and therefore appear to have a cost advantage over commercial solutions.� These solutions are not "free" however.� Open source projects often do not come with a wizard-driven setup program and have a high learning curve associated with setting them up.� Open source projects also tend to have inadequate documentation, and almost never offer telephone-based technical support.� With BuildBeat and Timpani Software, we are here to help your project be successful.� We offer a commercial-grade installation program, full documentation, training, telephone-based technical support, and professional services.


 Easiest to Setup

In the course of researching the continuous integration market and developing BuildBeat, we looked at the current offerings in the market place, both commercial and open source.� A common thread among many of the solutions we looked at was difficulty in setting them up.� Many of the tools we looked at required you to manually edit an XML-based configuration file to configure the tool.� In order to edit the XML configuration file, you have to read through the documentation and learn each of the XML tags that are necessary for the configuration process.

With BuildBeat, addressing this deficiency was a high-priority.� Not only do we include a commercial-grade installation program, but we also included a configuration wizard that walks you through each step of the process.� In addition, the visual BuildBeat Administration tool makes it easy to visually configure your projects, source code control integration points, and build tasks.� Each screen is context-sensitive and displays the necessary information you need to enter.� You don't need to dig through the documentation to figure out what XML tags you need to use for each task.


 Integrated Data Warehouse

Many continuous integration tools on the market use a combination of an XML-based configuration file, combined with either text-based or XML-based logging output.� Early on in the development of BuildBeat, we decided to embrace a relational database architecture instead of using text files for configuration input and logging output.� There were several reasons for this.

First, we felt that a complete continuous integration solution was inherently relational.� Each project can be associated with multiple builds.� Each build can have multiple tasks.� Each unit test assembly can have multiple unit test cases.� We felt a relational database architecture was the best way to capture and store all of the related information that came out of a continuous integration process.

Second, we felt that it was best to store all of the information associated with a continuous integration process in a single, professional-managed repository.� If you are relying on text-based logging output, you have to invent your own processes for managing the myriad of files that result from the continuous integration process.

Third, we realized we could leverage all of the inherent advantages of a relational database system to produce first-class continuous integration reports.� Use of data warehousing and online analytical processing techniques become feasible once the relevant information is stored in a relational database.


 Live Build Monitoring via Asynchronous Messaging

Other continuous integration tools we looked at were based on remote-procedure call (RPC) communication from the server to the client, using technologies such as .NET Remoting.� The problem with RPC communication is that it is synchronous and therefore prone to performance problems.� The client must initiate a connection to the server, and then wait for the server to reply.

With BuildBeat, we wanted to provide advanced features such as live build monitoring of builds in progress.� There are times where your build process may take longer than normal to complete, or even "hang" altogether. For example, if you have a time-sensitive or thread-sensitve unit test case, a deadlocking bug could hang the build process. Without an ability to monitor live builds in progress, you would need to wait until the build timeout period elapsed before being notified. Live build monitoring saves you time, and lets you know what is happening on the build server at all times.


 Integrated Support for Unit Testing

Continuous integration and unit testing are inherently joined at the hip. Therfore, it makes sense for your unit testing tasks within your build process to be treated specially. By building awareness of unit testing tasks into the build task list, we can provide extra levels of logging, notification, and error handling. With BuildBeat, all unit test cases are automatically logged into the integrated data warehouse, without you having to do any extra work. Once logged, unit test results can be easily viewed via the web reporting module. Without integrated support for unit testing, you have to invent your own systems and processes for capturing and storing unit test results. Doing this yourself would require writing more complex build scripts. Integrated unit testing support saves time, gives higher-quality log reports, and is easier to maintain.


 Our Team and History of Success

BuildBeat was designed and architected by Kevin Dietz. Mr. Dietz is an expert in high-quality software development and software process management tools, having previously architected two market-leading defect tracking systems, Serena TeamTrack and PVCS Tracker.

In the course of developing these two former systems, Mr. Dietz has worked with thousands of developers on development teams of all types. He knows the challenges that software teams face in delivering high-quality software on time and on budget.

Timpani Software possesses the people, approach, and technology to make your software projects successful.