---
title: "TFS or not? Being a perfectionist in a realistic world"
url: "https://osherove.com/blog/2007/4/29/tfs-or-not-being-a-perfectionist-in-a-realistic-world.md"
canonical: "https://osherove.com/blog/2007/4/29/tfs-or-not-being-a-perfectionist-in-a-realistic-world.html"
published: "2007-04-29T01:02:27"
updated: "2007-04-29T01:02:27"
tags: ["General Software Devel...", "Team System"]
author: "Roy Osherove"
description: "Oren pointed out that he would run away from TFS because it’s not a “zero friction tool”. He does have some valid points, mostly about the length of time some of the source control actions might take, though personally…"
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/"
---

# TFS or not? Being a perfectionist in a realistic world

By Roy Osherove April 29, 2007 In [General Software Devel...](https://osherove.com/blog/category/general-software-devel), [Team System](https://osherove.com/blog/category/team-system)

**Historical article** · Originally published April 29, 2007; technical details may be outdated.

Oren pointed out [that he would run away from TFS](http://ayende.com/Blog/archive/2007/04/29/Passonaite-at-Team-System-Depending-on-which-direction.aspx) because it’s not a “zero friction tool”.

He does have some valid points, mostly about the length of time some of the source control actions might take, though personally I haven’t found this to be much of a problem. I'd usually say "stay clear of all-or-nothing recommendations" but Oren's is a special case because I know him and respect his opinion on many matters.

However, I think that Oren is making one big mistake: he's throwing the baby out with the bath water. Just because the **source control** is not as zero-friction as some open source alternatives, does not mean that TFS is not a valuable suite of tools, with more added value than most open source tools that I know of.

- The ability to associate a work item with a check-in action is very powerful in determining and reporting “delta” between failing builds
- Builds are also connected to checkin, and build history allows you to ‘drill down” to see all the source differences between the last success build and the current failing one
- The ability to use “workspaces”, which map current source control into local directories is powerful because it allows you to work concurrently on multiple versions of the same product, and switching between them in a couple of clicks from the IDE
- Powerful automated reporting
- Distributed and extensible build capabilities
- Task and bug management

I mean, Oren, c’mon! You don’t like a part of a part of team system – the source control aspect is not perfect for you, but what alternative do you have for a suite of tools that works together so powerfully?

Also, it’s still a version 1.0 product, and you **know** that version 3.0 is usually the one to remember, but as a version 1.0 product, and compared to most OSS tools (working together), VSTS gives me something that I find hard to get anywhere else – true collaboration.

There are parts of TFS that I personally still have problems with:

- The build management and maintenance could be far better. So I turn to [3rd party tools](http://www.finalbuilder.com/) and integrate them in to solve my problem.
- Unit Testing has some bugs and is generally slower. But it still works just fine and I’d use it in **combination** with other testing products to get what I need. I’m not even going to discuss how annoyed I am that unit testing is not part of all VS.NET SKUs
- Lacking ability to do GUI testing. 3rd party tools again.
- Requirement management solution is not enough for some organizations. Again, [3rd party tools](http://info.borland.com/techpubs/caliber_rm/mvs/EN/Install.htm) if you need them

None of these means I’m giving up using VSTS when it makes sense, and for many organizations, it makes a lot of sense. Especially compared to what they currently have. Take an organization using ClearCase and have them move to VSTS Source Control, then ask them about zero friction. It’s a matter of perspective.

Giving up a full range of possibilities just because one of them is not perfect is kind of narrow minded – the total is greater than the sum of all of it’s parts in this case. A slower moving source control system is not enough justification for me. Being a **perfectionist** is problematic when talking about system tools. **Realistic** is much more likely to solve more problems.

## More in General Software Devel...

[All posts in General Software Devel...](https://osherove.com/blog/category/general-software-devel)

- Apr 29, 2007

    ### [What build tool do you use? And TFS Vs. Open Source Round 3](https://osherove.com/blog/2007/4/29/what-build-tool-do-you-use-and-tfs-vs-open-source-round-3.html)

- Apr 29, 2007

    ### [What Source Control tool do you use? And more on TFS Vs. Open Source tools](https://osherove.com/blog/2007/4/29/what-source-control-tool-do-you-use-and-more-on-tfs-vs-open.html)

- Mar 16, 2007

    ### [Remote Pair Programming with collaborative text editors](https://osherove.com/blog/2007/3/16/remote-pair-programming-with-collaborative-text-editors.html)

- Mar 16, 2007

    ### [The 46 Best-ever Freeware Utilities - By DonationCoder.Com](https://osherove.com/blog/2007/3/16/the-46-best-ever-freeware-utilities-by-donationcodercom.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/
