---
title: "18 Questions to ask yourself when choosing continuous integration and build automation tools"
url: "https://osherove.com/blog/2010/1/21/18-questions-to-ask-yourself-when-choosing-continuous-integr.md"
canonical: "https://osherove.com/blog/2010/1/21/18-questions-to-ask-yourself-when-choosing-continuous-integr.html"
published: "2010-01-21T14:57:02"
updated: "2010-01-21T14:57:02"
tags: [".NET", "Agile"]
author: "Roy Osherove"
description: "In a previous post I explained the different between Continuous Integration tools and Build automation tools , but there’s also lots of be said for HOW to pick a specific CI or BA tool. What do I look for in a CI tool?…"
usage: "Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page)."
license: "https://creativecommons.org/licenses/by/4.0/"
---

# 18 Questions to ask yourself when choosing continuous integration and build automation tools

By Roy Osherove January 21, 2010 In [.NET](https://osherove.com/blog/category/net), [Agile](https://osherove.com/blog/category/agile)

**Historical article** · Originally published January 21, 2010; technical details may be outdated.

[In a previous post I explained the different between Continuous Integration tools and Build automation tools](http://weblogs.asp.net/rosherove/archive/2010/01/14/the-difference-between-continuous-integration-tools-and-automated-build-tools.aspx), but there’s also lots of be said for HOW to pick a specific CI or BA tool.

**What do I look for in a CI tool?**

- first and foremost – **how intuitive and usable is it?** how easy is it to add, remove or change build configurations? How long will it take me to explain to a new dev on my team how these builds are connected?, and how long will it take them to change or fix a build related problem?
- Does it have the ability to run builds on “slave” machines or just on the local machine where its installed?
- Do I need to use XML to configure it?
- How easy is it to see the status of a build, history of builds?
- can I “kill” and detect a “stuck” build?
- How long does it take to setup?
- Does it have good metrics?
- does it contain ability to launch random “exe” or “command line” batch files?
- Does it allow for build hierarchies? (builds that depend on each other’s output, or that trigger each other automatically, or that all have to pass )
- Is there a large community or product support in case of a commercial product?
- How much does it cost? will it cost me more to use a “free” tool given the questions above?

**What do I look for in a build automation tool?**

- first and foremost – **how intuitive and usable is it?** is the configuration interface visual? XML based? tree based? how easy is it to add, remove or change existing scripts? How long will it take me to explain to a new dev on my team how the build works, and how long will it take them to change or fix a build related problem?
- How many built in tasks are there with the tool? the more “custom” tasks i need to create to make my build work, the less productive I am
- How easy is it to create a custom task? in what language? how easy is it to integrate a custom task into a build flow?
- Can a script run other scripts ?
- How easy is it to read the log generated by the build tool?
- How well does it play with my existing toolset? (if I use TFS – can I easily invoke it from TFS? can it invoke TFS related things like add new TFS task items?)
- Is there a large community or product support in case of a commercial product?
- How much does it cost? will it cost me more to use a “free” tool given the questions above?

**Bonus question:**

- Am I choosing this tool blindly because someone I respect is using it, or did I check other options and this choice is based on the actual pros and cons of the tool?

## More in .NET

[All posts in .NET](https://osherove.com/blog/category/net)

- Feb 10, 2010

    ### [Working on a new product](https://osherove.com/blog/2010/2/10/working-on-a-new-product.html)

- Jan 30, 2010

    ### [TDD master class – Vienna Feb 15-19](https://osherove.com/blog/2010/1/30/tdd-master-class-vienna-feb-15-19.html)

- Jan 14, 2010

    ### [January at Israel .net user group: Unit Testing!](https://osherove.com/blog/2010/1/14/january-at-israel-net-user-group-unit-testing.html)

- Jan 14, 2010

    ### [The difference between continuous Integration tools and automated build tools](https://osherove.com/blog/2010/1/14/the-difference-between-continuous-integration-tools-and-auto.html)


---

## About the author

**Roy Osherove**: Senior Solutions Architect at AWS working on AI for production and AI-driven development; author of The Art of Unit Testing and Elastic Leadership, with about 20 years of consulting and training on unit testing, TDD, team leadership and continuous delivery.

### Sites

- [RobotPaper](https://robotpaper.ai/): This blog: AI patterns and anti-patterns, AI and coding agents, and engineering leadership.
- [osherove.com](https://osherove.com): Roy's personal site. Author of The Art of Unit Testing and Elastic Leadership; consulting and training on unit testing, TDD, team leadership and continuous delivery, plus about 20 years of blog posts.
- [The Art of Unit Testing](https://www.artofunittesting.com): The Art of Unit Testing, 3rd Edition (Manning): readable, maintainable, trustworthy unit tests, plus TDD workshops in C#, JavaScript, Java and Kotlin.
- [5whys.com](https://www.5whys.com): Roy's writing on software team leadership: self-organizing teams, surviving chaos, learning mode and the Elastic Leadership model.
- [Pipeline Driven](https://pipelinedriven.org): Continuous delivery and DevOps practices: build patterns, pipeline-friendly testing, DevOps metrics and enterprise DevOps.
- [Elastic Leadership](https://www.elasticleadership.com): Elastic Leadership, Roy's framework for software team leaders (survival, learning and self-organizing modes).

### Social

- X: https://x.com/royosherove
- LinkedIn: https://www.linkedin.com/in/osherove/

### Contact

- Contact form: https://forms.gle/jQSx5KoXvrVA1JCK7

### License

Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page). License: https://creativecommons.org/licenses/by/4.0/
