Go – Agile Release Management: FAQs

1. What is the difference between Go Community Edition and Go Enterprise Edition?

Go™ Community Edition is designed to allow small and medium sized teams to do continuous integration and release management. Go Enterprise Edition provides advanced functionality such as environment management, templates, and role-based security which enable medium and large organizations to implement continuous integration and release management across their entire software portfolio.

For a detailed comparison of the two products, click here.

2. What is Agile Release Management?

ITIL® defines release management as "The process responsible for planning, scheduling and controlling the movement of releases to test and live environments. The primary objective of release management is to ensure that the integrity of the live environment is protected and that the correct components are released."

Effective release management enables frequent, low-risk deployments of valuable, high quality software while protecting the stability of production environments. Go™ provides a platform for agile release management by providing control over the delivery process, and fast feedback on the production readiness of your organization’s software portfolio, enabling developers, testers, operations, and management to collaborate more effectively.

For more on Agile Release Management, download our white paper here

3. What is the difference between Cruise and Go?

Go replaces Cruise in ThoughtWorks Studios’ Adaptive ALM platform. Cruise was designed as a continuous integration system for small and medium teams, which pioneered the implementation of deployment pipelines as a pattern for modelling, controlling and providing visibility into the delivery process so that developers, testers and operations could collaborate more effectively on releasing software.

Go provides a complete platform for agile release management, which enables all sizes of organizations from small teams to enterprises to implement an agile, collaborative process for building, deploying, testing and releasing software. Go also enables large organizations to consolidate their continuous integration and testing environments and provide continuous integration and release management as a centralized service to teams.

4. Is Go restricted to a particular platform or set of technologies?

No. Go can run any tool or application that has a command-line interface. Although Go has a thin wrapper to make running Ant, Nant and Rake tasks more convenient, it can be used with any technology. Go can aggregate reports from any tool, storing them in its centralized artifact repository for access by all team members. Any report that can be displayed in a web browser can easily be embedded in Go’s UI so that you have the reports you need at your fingertips. You can also configure Go to harvest properties from reports in XML format, so that you can track key metrics such as code coverage and cyclomatic complexity over time.

5. Is Go a continuous integration system?

While Go is designed to be a platform for end-to-end release management, including continuous integration, you can certainly use Go as a continuous integration system. Indeed, Go provides several unique features which make it a leader in the continuous integration space such as its groundbreaking deployment pipeline functionality, and parallel test intelligence which allows you to run tests across a grid and then aggregates up information on which tests are currently broken, which check-in broke them, and who was responsible for the check-in (see our video demonstrating this feature).

Go also allows medium and large organizations to provide continuous integration as a centralized service to teams, which means that continuous integration and testing infrastructure can be consolidated and standardized to make it more production-like, improving feedback on the production readiness of your software, and visibility into the state of your entire software portfolio.