Moody’s Analytics Moody’s Analytics Builds High-Quality Software Using Go™ for CI and Release Management
www.thoughtworks-studios.com
*Cruise is now Go
Executive Summary Moody's Analytics provides risk management software products to leading financial institutions throughout the world. To maintain its role as the industry leader in risk management, it must quickly meet market demands for product innovation. To answer this need, Moody's Analytics uses Go™* for Continuous Integration (CI) and release management to rapidly build and deploy consistently stable, high-quality software products, which help the company stay ahead in the competitive risk management industry.
The Customer Moody's Analytics is the world's leading provider of risk management solutions to lenders, investors, and corporations. Moody's Analytics products are based on a sophisticated application of modern financial theory and statistical analysis. These software products transform vast amounts of financial data and knowledge into applied insight, providing credit risk measurement and modeling capabilities that allow businesses to better manage their credit exposure. Moody's Analytics products are used by more than 2,000 leading commercial and investment banks, insurance companies, money management firms, and corporations in over 80 countries.
The Challenge Moody's Analytics products offer credit risk models of unparalleled breadth and depth for major markets around the globe. The company's development team must maintain Moody's reputation for delivering high-quality, stable software while ensuring a rapid response to requests for innovative, new features. There is no room for error in a software product that financial institutions rely upon every day to make investment decisions. Moreover, Moody's Analytics products utilize a rich data set of global financial information. Based on the Analytics database, which contains 30 years of information about more than 60,000 public and 2.8 million private companies worldwide, Moody's products are massively intricate. Moody's Analytics products, which are used by most of the 100 largest financial institutions worldwide, are in high demand, especially in today's challenging global market. To meet the timely needs of their customers, the product development process must be highly predictable and visible. The team needs to know and resolve problems when they happen to keep product development moving forward in a rapid, reliable fashion. Moody's is the industry standard for risk management within the financial services industry, and they are expected to quickly provide solid and innovative products in a dynamic environment. In such a challenging market, the development team at Moody's Analytics relies upon modern Agile software engineering practices, which provide them real-time visibility into product development. As part of their ongoing goals to continuously improve, the team wanted to create a new platform to automate and integrate the process of building, deploying, testing, and releasing software product applications. Moody's Analytics had been using a variety of tools for continuous integration (CI) and release management, but needed a standard platform for all their product development to more quickly build and deploy a consistently high-quality product.
Copyright 2011 ThoughtWorks Inc. All rights reserved | www.thoughtworks-studios.com
*Cruise is now Go
The Solution Continuous Integration Moody's Analytics chose Go, a CI and release management platform from ThoughtWorks Studios, to build and deploy their next major release of RiskFrontier™, Moody's popular next-generation risk portfolio management solution to measure and benchmark credit portfolio risk. By using Go, the entire Moody's Analytics team, from developers to business managers, gained visibility into and control over the build, deployment, testing, and release lifecycle for RiskFrontier. Now anyone on the team knows both who is building what portion of the product, and what changes have been made. Go gives the Moody's Analytics development team better metrics on the state of the code base. Go elegantly captures unit test coverage by providing a mechanism to store that information every time a build is run, so the team can pull reports on what percentage of code has been unit tested. In addition, Go records cyclomatic complexity statistics, so the team can not only re-factor complex code, but also continually gain information about overall product health during the development process. Visibility into all aspects of product development also was a primary necessity for the entire Moody's Analytics team. Go automatically provides the data to create a dashboard showing the current status of every project. This information can be seen by everyone on the team, including the engineering executive management.
With (.......................), the whole team has gained insight into the build and deployment process. (.......................) has made the state of our code base and our builds visible to the whole team. This has helped us deliver highquality software to our clients faster.
Keith Berry, Head of Software Engineering Moody's Analytics
Go captures and records the history of product code metrics, which were previously unavailable to Moody's Analytics. With this detailed level of real-time information, management can see the overall quality of the internal code and respond more quickly to potential problems.
Release Management With Go, the Moody's Analytics team developed a customized deployment pipeline, or a sequential set of development and deployment stages, that modeled their build, deploy, test, and release process. This pipeline tracked their code from its initial check-in to Perforce, Moody's configuration management solution, through its release. The pipeline allowed the team to see individual builds at various stages and enabled the team members to selfservice the operations they need. The result is that the entire development and release process now works more smoothly, and the team is able to collaborate more effectively.
Copyright 20112011 ThoughtWorks Inc. All rightsInc. reserved www.thoughtworks-studios.com Copyright ThoughtWorks All |rights reserved | www.thoughtworks-studios.com
*Cruise is now Go
As the team built the RiskFrontier application, Go ran automated tests to ensure that new changes did not break any existing code. If any test failed, the team immediately fixed the code and resubmitted it. Using this deployment pipeline, a feature found only in Go, Moody's Analytics development team controlled the promotion of their code changes and could see at a glance which test suites had been run against those changes and their results. By quickly getting feedback on the health of their software development and fixing problems as soon as they occur, Moody's Analytics can deliver reliable and repeatable product releases more quickly. Also, the quality of the product release has remained consistently high throughout the development cycle. Pipeline visibility has also helped to reduce the build run time because the pipeline includes a system of record for release management. The Moody's Analytics team analyzed this data and made appropriate changes to optimize the pipeline, significantly decreasing the cycle time from code commit to release. Because the cycle time was reduced, the team could execute more builds and perform more testing, which in turn improved product quality and predictability. Go also supports a virtual server environment, a powerful feature which Moody's Analytics used to deploy RiskFrontier throughout the product development process. As part of the deployment of each build, Go instantiated a virtual server instance to deploy and test RiskFrontier. Go also allowed the RiskFrontier product to be tested on both a 32-bit and 64-bit operating system, as Moody's clients use different environments. This automated process has saved Moody's Analytics a significant amount of time and operational expense.
Copyright 2011 ThoughtWorks Inc. All rights reserved | www.thoughtworks-studios.com
*Cruise is now Go
The Results By using Go for both CI and release management, the entire team at Moody's Analytics development department now enjoys increased visibility into their development and product release process. This transparency into the code base helps managers ensure the delivery of a high-quality, stable RiskFrontier product. The team can also address and effectively manage their product complexity with Go. Keeping the code as simple as possible for such as complicated domain was a critical issue for the development team. With Go, the development process has become an automated, repeatable and measurable exercise. Combined with real-time monitoring of the entire build and deployment process, the team now can more accurately predict product availability for its customers. By using Go to build and deploy RiskFrontier, the development team at Moody's Analytics can successfully answer the demands of the market—to quickly and consistently develop and deploy a high-quality product without compromising on the integrity of the software architecture.
Copyright 2011 ThoughtWorks Inc. All rights reserved | www.thoughtworks-studios.com
*Cruise is now Go
About ThoughtWorks Studios ThoughtWorks Studios is a global leader in Agile software development tools, and its products can be found in development organizations seeking sustainable Agile adoption. The company's Adaptive Application Lifecycle Management (ALM) solution provides a platform for managing all aspects of software development, from requirements definition and project management to test automation, quality assurance, and release management. Adaptive ALM comprises the integration of three products: Mingle (Agile project management), Twist (Agile testing), and Go (Agile release management). Each tool is available as part of a complete lifecycle solution or as a standalone product. Backed by more than 17 years of experience in Agile delivery, ThoughtWorks Studios is the product division of ThoughtWorks Inc., a pioneer in Agile development. ThoughtWorks Studios has over 400 customers in more than 20 countries, including 3M, Honeywell, BBC, eBay, Barclays, Vodafone, McGraw-Hill, and Rackspace. The company headquarters is located in San Francisco and Bangalore, with offices in London and select cities in Europe, Asia, and Australia. For more information, visit www.thoughtworks-studios.com.
Mingle, an Agile management and collaboration tool, provides a common workspace for all team members and an automated system of record for all projects. Mingle can adapt any existing workflow process and easily manages daily development activities. Offering true-to-life visibility in the entire development process for all stakeholders, Mingle helps development teams become more open and collaborative.
Go is a solution for Agile release management, which enables businesses to release software on demand. Go improves collaboration between developers, testers, and operations and provides fast feedback on the production readiness of your software. Using Go, teams can model the delivery process, perform push-button deployments, and trace from deployments back to version control.
Go Benefits Automated Release Management Release rapidly with complete control over your release process. Model your entire release process from check-in to testing, staging, and production with Go's unique deployment pipelines. Enable self-service push-button deployments for your entire team.
Get Feedback Faster Drastically shorten your test cycle with dynamic multi-platform parallel testing. Reduce your release time by running builds in parallel.
Visibility for the Entire Team Go's easy-to-use interface gives everyone involved in delivery complete visibility into the production readiness of your application. See changes in realtime as they move through your delivery process.
For more information about Go or to request a demo, please contact: U.S. and Canadian Customers: 415-273-8499 International Customers, ask to speak to a Studios Sales Rep: +91-80-43233722
Twist, an automated Agile testing solution, provides English-like constructs, making the testing process more productive for all team members. As applications grow in complexity, Twist helps to more easily maintain complex test suites. These suites keep pace with application development and are held as long-living assets.
Toll Free: 877 624-8467
ThoughtWorks Studios CALL: 512-467-4956 (sales) 415-238-6497 (main) +91 80-4064-9703
North America Rest of the world
EMAIL:
[email protected] WEB: www.thoughtworks-studios.com
SAN FRANCISCO | CHICAGO | LONDON | BANGALORE | BEIJING | MELBOURNE
Copyright 20112011 ThoughtWorks Inc. All rightsInc. reserved www.thoughtworks-studios.com Copyright ThoughtWorks All |rights reserved | www.thoughtworks-studios.com
*Cruise is now Go