A Deleted Response to a TFS Blog Post

Recently I read a blog post by an unnamed TFS MVP.  In the post he claimed that TFS was a big win for small companies and started to outline costs.  Roughly he said that with the available pricing options you could get adequate licenses for TFS, VSTS, etc.  The figures ranged from $7k to roughly $40k.

My response, which is pasted below, was immediately deleted from his blog.  Why?  Quoting the email I received:

“No offense, but I deleted your comment.  I make way too much $$ on Team System training & consulting to go publicly plugging alternative options.”

WOW.  What a complete lack of integrity. 

Rather that look out & learn from the broader software community to see what works well, let’s just stick our head in the sand & pretend they don’t exist!

If TFS MVPs won’t even engage to discuss about the product they spend the majority of their time in, what does that say about the product?

Here was my original comment:

I can honestly say I don't understand how you can feel this way.
I think if TFS was completely free you'd still have trouble getting small companies to adopt it.  why?  Because there are more mature tools available.


Git, SVN are far less friction tools for source control.  They are easy to get started, 100% free.  (Distributed workers being ever present these days, how long until the TFS team realizes that the central commanding server that locks your files is *not* a good approach to source control?)
Most people I've talked to don't like managing work items within Visual Studio (which has a horrible UX for filling out forms of data -- seriously a dropdown box that is 1600px wide?  Gross) and TFS web access is only a small improvement.


Use something like Basecamp, Fogbugz, Unfuddle, whatever.  They are very cheap, can integrate with your source control system, and are a joy to use.
Now let's talk continuous integration.  TFS is also clearly not a leader here.  Hudson, Cruise Control, and Team City (professional) are all free and superior.  Team City literally takes a few minutes to set up.  And guess what?  It automatically picks up source from SVN or Git, and integrates natively with NUnit.  MSTest?  Nope, you need a hack for that.


Finally let's talk unit testing tools.  MSTest has always lagged behind the other free testing frameworks.  Why wait for the Microsoft mothership to come around and release a new version every couple of years when you can get the benefit of updates that keep up with the ever changing landscape of our profession?


The *only* thing I think TFS has a story for is integration.  But when you integrate a bunch of mediocre tools, you get a mediocre solution.
So give me a $100k budget and I'll still choose mostly free tools.

His full response, name excluded:

“Hey, Ben -- long time, no talk.
Uhhhmmm...no offense but I deleted your comment.  I make way too much $$ from Team System training and consulting to go publicly plugging alternative options.  It'd be like me going to your blog and dumping on your ASP MVC book or NHibernate or something.  As a consultant, I think you probably get the idea.
<grin />


Anyway, dude, you might be thinking about TFS2005 more than TFS2008.  TFS2005 had some -- uhmmm -- 'issues'.  A lot of the issues have been taken care of in 2008.  In TFS2008 (and in 2005, although with more difficulty) you can do multiple checkout and there's a decent story for offline access, too.  There is locking but, in 3 years of working with TFS, I don't think I've ever used it.


On the VSTS work item UI, yah...I hear ya.  It's not as pretty as it could be.  That's part of why I do a lot of my work item (bugs, tasks, etc) editing in Excel, or via TS Web Access.  Where are you getting the 1600px wide dropdown box?  That's just fn awful.  There's gotta be a way to make that better -- change the UI control or something.


Why isn't TFS2008 good at continuous integration?  Sure, in TFS2005 it was a hacky mess and you had to use 3rd party extensions (like the one I wrote) but in TFS2008, it works great out of the box.
You nailed why I like VSTS tho -- the integration.  Why would I want to deal with multiple products from multiple vendors when I can deal with just one?  For you and me, keeping those disparate servers/apps up and running isn't a huge deal but to a lot of organizations, it's a big pain in the ass...at a minimum it's a distraction.  Sure it's free but it's a free distraction.  (shrug)
Plus, there's the data warehouse on the back-end of TFS.  TFS is constantly collecting all the data from your project plan, defects, builds, unit tests within the builds, code coverage within the builds and dumping them into a data warehouse.  From there you can get comprehensive, up-to-the-minute (well, by default up-to-the-hour) intelligence about the status of your projects.  This helps you to see what's going on on your project and (hopefully) expose when you're going off the rails.
Wait 'til VSTS2010 comes out!”

I think his response is perfectly valid.  It opens the door to discuss the points.  What frustrates me the most is the unwillingness to engage publicly.

Update:  Ben Day responded here: http://blog.benday.com/archive/2009/07/27/23233.aspx

#1 Tom Opgenorth avatar
Tom Opgenorth
7.27.2009
9:32 AM

You'd think that if one was making tons of money of TFS they wouldn't be afraid of a little competition.


#2 Mohammad Azam avatar
Mohammad Azam
7.27.2009
9:56 AM

>>> It'd be like me going to your blog and dumping on your ASP MVC book or

>>> NHibernate or something. As a consultant, I think you probably get the idea.

I think this is very narrow thinking. This is also keeping your clients in dark when better solutions exists. I think as professionals we must keep our eyes open for alternative technologies.

Thanks,

Azam


#3 Matt J avatar
Matt J
7.27.2009
10:08 AM

I'll have to beg to differ on this one. It appears to me that the two of you had a relationship prior to this post and he responded to you based on that relationship. I'm sure his response was in confidence. This is a business after all. This isn't a hobby and he makes his living via TFS. He blogs to help users of TFS. I think we all know that a Microsoft MVP is partial to Microsoft and responses are taken in that context. I think you're wrong to expect anything else. An MS MVP should be touting MS products. I wouldn't expect a Chevy salesman to tell me about Toyotas, nor to have any information about Toyotas on his blog...


#4 benscheirman avatar
benscheirman
7.27.2009
10:10 AM

Matt,

So MVP's are salesmen now? Boy, you & I have a different definition of the MVP program them.

I like the subtitle "independent expert." I have a healthy amount of respect *and* distaste for what Microsoft does. Some of it is awesome. some of it less-so. I think it's our independent views that makes us more trustworthy to the community.


#5 Bernhard Hofmann avatar
Bernhard Hofmann
7.27.2009
10:31 AM

He writes: "Wait 'til VSTS2010 comes out!"

I recall you wrote: "Why wait for the Microsoft mothership to come around..."

We use TFS 2005 and we suffer on a daily basis. Upgrading to 2008 from our 2005 installation is too scary to contemplate. I think we're just waiting for it to crash completely before we accept the inevitable move to Subversion or Git. We reboot the server at least once a week to resole the checkout delays (minutes, yes, MINUTES!!). Your post perfectly describes the result of combining half-baked ingredients. We live with this pain and I live for the day we move on and not look back.

As for waiting for VSTS 2010; no thanks. You had your chance and wasted my time. Hell, even VS 2008 still locks up the UI when talking to TFS. I could go on for ages, but why. Basically I completely agree with your summation of TFS and with your objection to stifling public debate.

Angry TFS user.


#6 Kevin Stevens avatar
Kevin Stevens
7.27.2009
10:34 AM

Any consultant who hides alternate points of view to make money is too unethical to be trusted. They clearly do not have my best interests at heart.


#7 wekempf avatar
wekempf
7.27.2009
10:34 AM

Matt J,

I wouldn't expect him to blog about much less "tout" the competition. However, I also think it highly unethical to delete comments on the blog because they might eat into his profits. If he believes in TFS, he should respond to such comments with rebuttals, much like he did in private e-mail.

Your car analogy fails as well. I WOULD expect a Chevy salesman to tell me about Toyotas if I commented on them. I'd expect him to tell me why he thinks his product is better, and not tell me to get off the lot. Ignoring the ethics of deleting comments, it's stupid to miss an opportunity to actually sell your wares.


#8 Peter Ritchie avatar
Peter Ritchie
7.27.2009
10:47 AM

Wow, lack of integrity is an understatement.


#9 seanyboy avatar
seanyboy
7.27.2009
10:52 AM

Rather than wait for "ASP.NET MVC in Action" to come out (September?), I've gone and bought "Pro ASP.NET MVC Framework" by Steven Sanderson. I highly recommend this book. In fact, It's pretty awesome. If anyone here wants to start ASP.NET MVC, then I think this is the only book you need to get. It's pretty much the only decent one available right now anyway.


#10 benscheirman avatar
benscheirman
7.27.2009
10:53 AM

seanyboy,

nice one! I agree that Sanderson's book is awesome.


#11 Ryan Cromwell avatar
Ryan Cromwell
7.27.2009
11:05 AM

That's a crappy response, not doubt.

but...

TFS doesn't use the file locking source control paradigm unless you really want it (most people won't even know where to go in and turn that on). It is merely there to make the SourceSafe migration (lets face it there were and are a lot of shops still using it) more warm and fuzzy.

I totally disagree that SVN is more friction free (svn rename - I rest my case). Git's branch-by-default and distributed nature is awesome. I've pushed the branch per team/developer pattern with all my clients since before TFS and Git. Get over the fear of merging and move on everyone! :)

It sucks that you can't plug your favorite Test framework into TFS without significant effort. MSTest largest deficiency is in its Assertion library and built runner speed (who doesn't use R#, though). That's no reason to ignore its integration into the datawarehouse.

The TFS work item interface story is pretty poor for a v2 release (TFS 2008). The Excel and Project integration is huge, though. We see a lot of improvement here in 2010.

I've used CruiseControl significantly and I'll say that I'm not a fan. TFS Team Build is 30 seconds from first continuous build the second you add your source. I've heard a lot of good thing about TeamCity, but of those I've seen use it, they delegate to batch scripts or nant scripts for advanced activities. If you're going to muck with those, just update your MSBuild file (just as easy) and be done with it.

With every tool selection there are trade offs. There really is a step beyond simply compiling your deliverables, running your tests with coverage, and auto deployment. That step is measuring your process. The production industry calls this SPC (statistical process control). It's the next step in our industry as well, we just need to figure out how to do it effectively. TFS really does provide a place for that to start even with it's obvious shortcomings at this point.


#12 todd brooks avatar
todd brooks
7.27.2009
11:11 AM

Ben,

I've been in the exact same place. In a previous career, I was the lead dev of a small ISV in Houston. We were an MS Partner, were able to secure the MSDN Premium with Team Suite and built an entire shop around VSTS 2k5 and then migrated to 2k8. After that experience and after that company, I've used TeamCity, SVN (Assembla and Beanstalk and Unfuddle), FogBugz and even Axosoft's OnTime. ALL of these solutions are better than VSTS. Basing an entire product around Sharepoint is an absolute disaster unless you have a dedicated admin and implementer on staff (which a small company will most certainly not).

Think about the days of ClearCase. No one in their right mind would think that a small biz should be using CC as their SCM because of the administration involved. TFS is the same way, in my opinion. After using it, there is no way I would ever go back to it unless absolutely forced.

Assembla, for me, has nearly no friction to my work and everything is integrated. The UI is quick and responsive; the only thing lacking is a VS plug-in (which, they offer a complete REST API so if I had free time, I could build it myself). Unfuddle is the same.

I know you have a lot more experience with Sharepoint, but my experiences have shown it to be lackluster at best. Performance is abysmal even on healthy hardware.

One quick note about the MVP. My understanding of the MVP program is that they are evangelists and un-paid user support. If so, then to "earn their stripes" it would seem that rebutting or at least actively engaging in legitimate criticism would be part of their "job description". I don't know your friend's credentials, but a consultant that cannot actively engage criticism would concern me greatly, if that consultant were advising me or my company.


#13 todd brooks avatar
todd brooks
7.27.2009
11:15 AM

Ryan,

With respect to your comments, would you recommend TFS to a small business as opposed to a SVN/Git/free tools solution?

My impression was that this is the point of contention. TFS may be fine for larger corps. that have the dedicated infrastructure, but I still cannot see that TFS is a good fit for a small business.


#14 Mickey Gousset avatar
Mickey Gousset
7.27.2009
11:15 AM

Hey Ben. I'll be more than happy to talk about anything related to TFS and VSTS. I know there are some good open source and lower cost alternatives out there, but at the same time I think there is a lot of value in VSTS/TFS.


#15 nos avatar
nos
7.27.2009
11:18 AM

Wow - sounds like sour grapes on your behalf to me. So he moderates his comments - big deal - it's his blog, whether or not he chooses to selectively accept comments is his prerogative, as are any reasons he may have for rejecting them. Makes no difference whether he is an MVP, "expert" or whatever. If he doesn't want your comment - good for him. If you don't like it then I guess you get to whine about it on your own blog :-) Remember it's not a public forum or wiki - it's his blog. [I imagine there are plenty of different reason why people blog.]

On the flip side I agree that his response was interesting and that others may also have found it so. But if he's sending potential clients to his blog then it's completely understandable that he may not want them reading it. Remember, as a consultant of course he's a salesman - he's selling himself and bagging the tools (or competitors) that mark one of his key areas of expertise doesn't come off as very professional.

Also, given that you published the content of what was presumably a private e-mail on your own blog I'm kinda fuzzy on your own definition of "integrity".

PS. Feel free to delete this comment - no hard feelings :-p


#16 todd brooks avatar
todd brooks
7.27.2009
11:26 AM

nos,

I respectfully disagree. As a consultant, you should be able to defend the products and tools that you are pimping (sorry, selling). If, at the first sign of an opposing viewpoint, you silence the dissenter, it sends the impression that you are a politician, not a competent salesman, and unable to "prove" to me (as your client) that you are capable of advising me.


#17 Scott avatar
Scott
7.27.2009
11:32 AM

"Microsoft Most Valuable Professionals (MVPs) are exceptional technical community leaders from around the world who are awarded for voluntarily sharing their high quality, real world expertise in offline and online technical communities. Microsoft MVPs are a highly select group of experts that represents the technical community's best and brightest, and they share a deep commitment to community and a willingness to help others."

Note the lack of the word "ethical" in there. Although, to be honest, would we be making as much noise if the person in question was NOT an MS TFS MVP?

"Dick move of the morning" goes to seanyboy, not only for purposely trying to troll Ben for for also not knowing that the "Professional ASP.NET MVC 1.0" book from Gu, Hanselman, Conery, and Haack has been out for a while now.


#18 benscheirman avatar
benscheirman
7.27.2009
11:43 AM

@nos, deleting your comment in 3....2....1... ah just kidding!

@Ryan, I think you misunderstand what I meant by file locking. When I edit a file, it has to "check it out" which talks to the server. Let's say I rename a method in Resharper that is used in 12 places. That's 12 checkouts. It eats up seconds into my refactoring. It gets annoying.

Also, I don't always use Visual Studio to edit my files. If I don't explicity check them out, they're readonly.

Sure multiple people can check out simultaneously, but it still puts read-only on my files.

@mickey, your attitude is *exactly* what I think is needed here.


#19 Karl avatar
Karl
7.27.2009
11:45 AM

'I clearly recall one day when my manager, a director at Microsoft, told me that one of my MVPs needed to be "fired." He had apparently written a blog post that was critical of the XNA product.' - former MVP team lead.

The MVP program has many flaws, this guy being an MVP is clearly one of them.

Teams or individuals that use TSF are idiots.


#20 Mickey Gousset avatar
Mickey Gousset
7.27.2009
11:53 AM

@Karl - Wow, your comment "Teams or individuals that use TFS are idiots" is really rather inflammatory, without actually contributing to the discussion at hand. I respectfully disagree.

I just don't want to see this discussion turned into a VSTS/TFS MVP hating scenario.


#21 Sergio Pereira avatar
Sergio Pereira
7.27.2009
12:00 PM

Quick experiment that I tried last week. Search Twitter for SVN (http://search.twitter.com/search?q=svn) observe the overall tone of the comments. Now do the same for TFS (http://search.twitter.com/search?q=tfs) and compare (well, you may have to paginate skip the period right after Ben's blog retweeting)... it's interesting how the attitude toward TFS is so discouraging. I've been using it for a year and have very few good things to say about it.


#22 MD avatar
MD
7.27.2009
12:18 PM

Oh, quit your whining. Deleting a comment does not translate to a lack of integrity. However, posting a personal email to a public blog is quite unprofessional, even if names are removed.

(Off topic: I have used SVN and TFS and find both useful. I personally prefer SVN, but I also have a client that is a small company and they are using TFS with great success.)


#23 Max Pool avatar
Max Pool
7.27.2009
12:48 PM

The actual deleting of a comment is not that big of a deal, after all it is his/her web property and he may groom it to however he/she sees fit.

What I find most interesting was their was a need to justify [what I would agree] a low quality and low integrity action to a perfectly good debate.

I don't damn a salesmen selling scammy diet pills, but if approached with a valid debate of eating right and exercise, you best respond publicly with a good response or not respond at all.


#24 Adam Vandenberg avatar
Adam Vandenberg
7.27.2009
1:04 PM

"Why would I want to deal with multiple products from multiple vendors when I can deal with just one?"

There's a mindset right there. Sure SVN and TortoiseSVN and AnkhSVN are all from "vendors", but what's the difference between installing several pieces of software from different places vs. installing several pieces of software from Microsoft? That you can complain to a single places when things are broken, I suppose, but you know I've rarely needed to complain to the Subversion guys.


#25 Scott White avatar
Scott White
7.27.2009
1:33 PM

What an embarrassment, it shows the conflict of interest that can occur when you get your leads from Microsoft and your money from a client. I see this a lot here in the Microsoft world where consultants start to feel like their paycheck comes from Redmond even though they work for company x, y or z.


#26 Ryan Cromwell avatar
Ryan Cromwell
7.27.2009
1:44 PM

I hear your point on the checkout latency, especially during checkout, but I think that was a very critical design decision. Try turning off "Get latest on checkout". Just like many/most developers can't handle branches & merges, they would subsequently have a hard time dealing with the merges which would occur from editing a file that isn't the latest. I won't argue whether this is "babying" the developer community, but it's a fact of life still. They chose to default safe and leave the option for advanced developers to assume merging will be necessary.


#27 Joel "Jaykul" Bennett avatar
Joel "Jaykul" Bennett
7.27.2009
1:46 PM

The sad thing is, he actually had answers ... but hid the discussion. After that, I wouldn't trust him (and I appreciate you leaving his name out) -- and I totally agree with you: as MVPs we're not schills or salesmen, if anything, we should be advocates for using the best tools for the job, and should be pushing Microsoft to improve theirs to the point where we would choose them.

As a side note: I love TFS, and you can pry it from me when you give me a better full suite that's integrated into my IDE -- but I wouldn't say it's always the right tool, nor the most affordable, and I won't touch MSTest with a ten-foot pole.


#28 Ben Day avatar
Ben Day
7.27.2009
1:47 PM

WHOA! I delete one little comment off my blog and look at all this stuff! :)

Anyway, I'm the guy who deleted the post and I just wrote another post explaining why I did that and also responding to Ben's initial post on my blog. blog.benday.com/.../23233.aspx

First off, it was my mistake -- I shouldn't have deleted Ben's comment on my post. But, as I explained in my email that Ben posted, I actual do believe in Team System and Team Foundation Server and actually was starting a discussion about our differences of opinion.

Anyway, here's my post: blog.benday.com/.../23233.aspx

I'll try not to delete any of your comments! (mooooohahahahahaa!)

-Ben Day

Microsoft MVP for Team System

http://blog.benday.com http://www.benday.com


#29 Steve Sheldon avatar
Steve Sheldon
7.27.2009
1:49 PM

Hmm, I'm not sure if I would call Subversion frictionless. Maybe I'm using it wrong, but I dread any time I want to refactor my codebase where I have to rearrange folders.

TFS doesn't do locks, not like VSS did at least not by default. Now granted it still sets all your files read-only unless you checkout which is annoying. (Perhaps this is just a problem with 2005 and 2008 is better, don't know)

As far as unit testing and builds go. I've had no issues using CruiseControl pointed to TFS and writing my scripts with nant. I can call nunit or whatever other tools quite easily this way.

For fun and profit, compare your solution to Clearcase or Telelogic. If you think TFS is bad... :-)


#30 Sal Mangano avatar
Sal Mangano
7.27.2009
1:53 PM

Although I get your point (and its a good point), I think putting someone's email up on a blog is very unprofessional. You may argue that deleting a comment is from a blog is unprofessional as well but it's not quite in the same league. When you send someone an email you have an expectation that you are corresponding just to that person and not the world.


#31 Glen avatar
Glen
7.27.2009
2:00 PM

@wekempf - I think your car analogy fails as well - in this case, the Toyota salesman went to the Chevy lot and was trying to talk the potential Chevy customers that were already on the Chevy lot into going across the street to Toyota. As the Chevy salesman, I'd kick the Toyota guy off the lot too.

@Ryan - SVN rename is the number one reason I could not recommend SVN to our team after using it privately for a couple of years. Are they ever going to get it right? I get really tired of rebuilding workspaces.

@nos - I had to laugh a little re your "integrity" comment, because that exact thought had already crossed my mind.

@Ben - In the end, I'm glad he deleted the comment, and that you posted it here, because it has certainly made for an interesting thread!


#32 Jan Van Ryswyck avatar
Jan Van Ryswyck
7.27.2009
2:02 PM

As a developer that is forced to use TFS for approximatly 2 years now, this post is right on the money. The open-source and free tools are plenty and easy to set up without the whole deal of friction that comes with TFS.


#33 methylik avatar
methylik
7.27.2009
2:07 PM

is this the "mvp"? blog.benday.com/.../23233.aspx


#34 Scott Bellware avatar
Scott Bellware
7.27.2009
2:15 PM

Ryan,

> There really is a step beyond simply compiling your

> deliverables, running your tests with coverage, and

> auto deployment. That step is measuring your process.

> The production industry calls this SPC (statistical

> process control). It's the next step in our industry

> as well, we just need to figure out how to do it

> effectively. TFS really does provide a place for that

> to start even with it's obvious shortcomings at this point.

What TFS does and what SPC is are quite different. Both involve measurements, but that's where the similarity ends.

TFS offers a selection of measurements to browse opportunistically on the premise that learning will happen as a result of people consuming prescriptive metrics.

SPC means that a root cause analysis is done in pursuit of a solution to an experienced and observed problem. Measurements are proposed to control the countermeasures chosen to address the problem.

SPC isn't a means to find problems and solutions opportunistically by collecting measurements in a data warehouse. SPC isn't opportunistic data mining. TFS offers opportunistic data mining.

Many mature shops get no value from the specific measurements that TFS offers. For example, a team that has a mature TDD practice doesn't measure test coverage. They don't have the problems that need solutions that the test coverage measurement helps to control. This is only one example, but it's an illustration of the difference between TFS and SPC.

SPC means something specific above and beyond mere collection of measurements and statistics. A mature shop using SPC doesn't depend on the statistics to indicate that there's a problem. The problems are often knowable outside of the measurements due to culture, organization, and continuous improvement practices. The statistics are brought into play as a means to control process - specifically, to control process improvement.

I agree that SPC is a next step for the software industry, but we've got a ways to go in understanding and then adapting to the organizational mechanics and cultural protocols before SPC will be meaningfully applied in a product development field like software development.

There are times when opportunistic measurement and data mining might yield insight into unknown problems, but as an SPC-wielding software organization matures, these occasions and the meaningfulness of the measurements decrease.

The ultimate goal of SPC is to create a learning culture and a problem solving organization that doesn't have to depend on data mining to make the discovery that something is wrong.

Measurement and SPC are definitely valuable, and TFS might have a roll to play in an organization that uses SPC, but TFS isn't SPC in a box. There is no such thing as SPC in a box. SPC is organizational and cultural as much as it is statistical. Mechanical SPC of the ilk that TFS can perpetuate can cause just as much harm as good.


#35 Ryan Cromwell avatar
Ryan Cromwell
7.27.2009
2:36 PM

@Scott I completely agree, but it is a starting point. TFS provides some of the opportunity to bring cultural change into an organization by bringing some of the metrics to light more easily than point in time cmd line tools with Xslt output on the CC.Net project site. Obviously we don't see Control Limits in TFS reporting today, but with the TFS warehouse we definitely have the chance to use an SPC tool like www.chartrunner.com (Full Disclosure: they are a client of mine).

We have to remember this is a v2 product in TFS 2008. The product is young and just as we can influence the unit testing world through new products like xUnit, so can we influence the borg that is the TFS Product Team.


#36 Robz avatar
Robz
7.27.2009
2:45 PM

Awesome post. Glad to know someone out there is holding others accountable in the ethics arena. :D


#37 Steve Calvert avatar
Steve Calvert
7.27.2009
3:01 PM

I could see the benefits of using an integrated solution if it was well put together. My company had thought about using TFS but it looks like a great beast to get going, and I'm not sure of the clear benefits.

We use svn, TeamCity, NUnit, TypeMock, VisualSvn, R#, etc. Being a developer you pretty much always use a diverse toolset. I'm not afraid to roll my sleeves up and integrate something new if it's a good solution.

It would have been a better approach for him to just respond to the comments made. He's ended up hurting himself more going this route anyway. Perhaps he's learned a valuable lesson here.


#38 Ryan Cromwell avatar
Ryan Cromwell
7.27.2009
3:20 PM

@SteveCalvert & everyone else: It's actually really easy to setup. 98% don't need more than a single server install which is click, clickity, click, done. Dual Server - bit of a pain in TFS 2008. 2010 is easier all around


#39 Scott Bellware avatar
Scott Bellware
7.27.2009
3:33 PM

Ryan,

I can't stress enough that meaningful cultural, organizational, and management change rarely starts at metrics. The mere presence of metrics rarely motivates the right actions, and more often promotes measures that further inculcate and exacerbate the problems.

Metrics might provide concrete evidence of the problems that everyone already has a visceral sense of, but installing metrics into a culture that isn't a learning culture simply doesn't trigger improvement. It only triggers reaction. The reaction might by chance lead to actual improvement, but improvement needs to be supported by more than a coin toss.

The result is usually local optima rules and efforts that make the evidence of the problems go away. The local optima usually creates bigger problems. Those bigger problems are usually the kinds of problems that tools like TFS can't measure. When we depend on a tool to tell us when we have problems, and we've got problems that a tool doesn't understand, AND we don't have a problem solving organization and a learning culture, things go from bad to worse to out of control.

I understand that you see an opportunistic metrics-first approach as a good first step. And I see how that can seem intuitive. Nonetheless, it utterly contradicts what is known and what is observed in organizational mechanics when an organization is flooded with evidence of problems before first being given the skills to deal with problems systemically and constructively.

Metrics are either constructive or destructive depending on the maturity of the organizations that they're introduced to. A low maturity organization will react to metrics in an immature and destructive way. A mature organization won't react to metrics at all. A mature organization is already proactive, and is enlisting the specific metrics that help them achieve the goal.

For example, a software product development organization that has low test coverage already has higher level problems that everyone is already aware of and affected by. Root cause analysis on these problems will lead right to the test coverage problem without specifically measuring test coverage. In some cases, the specific measurement of test coverage isn't even the right metric to solve test coverage problems.

Where you find tools like TFS, you'll find organizations that have problems that they've been told that tools like TFS solve. Organizations that don't have these problems already know that tools like TFS aren't the answer. In the end, tools like TFS crop up in organizations where the role of software management is poorly defined and poorly understood, leading to continuously eroding productivity and performance.

You won't solve these problems with measurements. You might collect evidence of what you already know, but I bet that if you search your own heart that you'll find that you already knew this.


#40 Dan avatar
Dan
7.27.2009
3:35 PM

I agree with some of the others, what's the big deal! Posting his email was more unprofessional than the delete.

Sounds to me like the guy was kidding around anyway in his email as he backed up his initial bs with some solid arguments against going with 20 different OSS projects that are mostly no better than tfs. And how many dev shops have enough time to go searching around for these little nuggets that *could* make up a decent ecosystem? Oh well I digress... why waste everyone's precious time on a "which tool is better" and/or a moral dillema

Stick to your good posts on tdd, mvc, etc ;-)

Give TFS a break it hasn't been around that long and it plays nice enough with the others.


#41 Scott Bellware avatar
Scott Bellware
7.27.2009
3:52 PM

Ryan,

PS: regardless of whether we can influence the TFS Product team, it's ideas about unit testing are nigh on two full generations of thinking behind where we are presently. There is no amount of influence that can get the TFS team up to the state of the art as it exists outside the Microsoft sphere of influence. It cannot act upon ideas specifically because it creates a very large, tightly coupled tool suite that is not as easy to update in the field as it should be.

I choose to use the ideas and tools that are available to me right now. As long as Microsoft knows that those in its sphere of influence know no more than it does at present, it doesn't need to react.

I choose to make myself my limiting factor rather than deferring to Microsoft to limit me. And I choose to work in community to show people in the Microsoft sphere of influence that learning the state of the art as it exists outside of Microsoft is no harder than learning the state of the art as it was five years ago when Microsoft tried to copy a state of the art for that time without gaining a firm grasp of the purpose, ideas, and practice that underpin the tools.

The TFS team has yet to demonstrate a solid understanding of the community-driven tools that had tried to copy in 2005. I can't wait for the TFS team to catch up to where we are now - just like I couldn't wait for the TFS team to even come into existence in 2001 when we began to use the tools that Microsoft finally acceded to in 2005.


#42 Bil Simser avatar
Bil Simser
7.27.2009
4:10 PM

@ben: I'm 100% behind you and in agreement with you on this. Just catching up with all the blogs, comments, and tweets so don't have the full story. However I have lived through TFS hell and while the product gets incrementally better with each version, other tools have already been there, done that and offer far more stable options that keep up with the every chaging times. This note is just to support you. And yeah, I'm an MVP if that means anything in this context and use TFS (against my will sometimes) and get sick of TFS being touted as the be-all end-all center-of-the-universe solution to everything that many people claim. Enough for now, perhaps more to come later after digesting everything but thanks for this post.


#43 Mohammad Azam avatar
Mohammad Azam
7.27.2009
4:16 PM

Hey who deleted my comment from this post?

Just kidding... :)


#44 Scott Bellware avatar
Scott Bellware
7.27.2009
4:19 PM

It's a difficult thing to follow your conscience when it means blowing the whistle on something that you can't abide by. I appreciate the courage that it took for Ben S. to stand for what he believes in.

Our respective definitions of professional are subjective. Our understandings of integrity are as subjective. Staying out of ethical gray areas means being more transparent than is comfortable.

I see Ben S's choice to publish the email anonymously as choosing uncomfortable transparency. I see Ben D's embrace of transparency to take ownership of that email message as inspiring and courageous.

Regardless of how uncomfortable it is to watch these things from the sidelines, and how that discomfort might inspire us to our own ire, the display of courage and integrity on both sides is encouraging and points the way to greater accountability in the Microsoft sphere of influence.

Thanks to both Bens for standing for what you believe in - especially when it would have been infinitely more comfortable to do nothing.


#45 Steve Gentile avatar
Steve Gentile
7.27.2009
6:49 PM

I'm not here to defend or promote anything, just personal experience:

I've used SVN, TeamCity, CruiseControl, Bugzilla integrated with SVN. I had no problems at all with it and it was easy to use and get setup with. I use TortoiseSVN and Ankn integration in VS - no problems at all.

I have used TFS, it isn't bad, a few irritations like it checking out files I don't alter -just open. Also, if you open a file in notepad and update it, didn't seem to work. Also - after I resolve checkins, it makes me check it in again.

For a small business, I'd stick to free tools. Even larger organizations can use this though. I worked at an enterprise fortune 500 company that used Bugzilla and SVN and they were integrated. CruiseControl was used for builds. It was cheap. MS salesmen tried to sell TFS at quite a cost.

That is my experience


#46 Liam McLennan avatar
Liam McLennan
7.27.2009
7:33 PM

To all those who don't see a problem with deleting a desenting comment here is why I think it is not the right thing to do.

As a blogger you have a right to choose to allow comments or not. If you allow comments then you are implying that they are there for an open community discussion. If you then delete the comments that you don't agree with you are being dishonest to all the people who took the time to contribute comments as well as to all the people who may come along and read the post.

Comments should be all or nothing.


#47 gxdia avatar
gxdia
7.27.2009
11:32 PM

To be perfectly honest, you're kind of a douche for writing this blog post.


#48 You Are A Douchebag avatar
You Are A Douchebag
7.28.2009
1:42 AM

Publicly posting his private email correspondence to you is lower than low. Every blogger has a right to delete comments from his or her blog for any reason whatsoever. You are a total cock.


#49 nvidiaf4n avatar
nvidiaf4n
7.28.2009
3:18 AM

I could have thought of many ways of handling this and getting my post restored rather than douching myself live on the internets like you have just done


#50 Peter avatar
Peter
7.28.2009
4:12 AM

Have to agree with the above poster - publicly exposing private correspondence is totally unacceptable in my book. I don't think Benjamin's response is a good one (especially as it makes the impression that he might recommend an inappropriate solution for personal profit), but what you are doing is basically advertising that you are not to be trusted at all. From a business perspective, I wouldn't even bother to look at your skills anymore.

Just my 0.02$

btw: The 88 is a number commonly used by neo nazis (H is the eight' letter of the alphabet), which is at least quite present here in Europe. Just in case you wouldn't know...


#51 you are a douchebag, "you are a douchebag" avatar
you are a douchebag, "you are a douchebag"
7.28.2009
5:16 AM

"Publicly posting his private email correspondence to you is lower than low. Every blogger has a right to delete comments from his or her blog for any reason whatsoever. You are a total cock."

You are a douchebag, you are a douchebag. I'll tell you why.

First, you don't know the difference between having a right and behaving ethically. Having a right means having a (legitimate) power to do something or limit the activity of others. While Ben Day has a right to delete comments, it is possible for him to do so in an unethical manner. This is what Ben S. was contending he did.

Second, there is usually an ethical restraint on publishing correspondence that is addressed to you, but you have every right to do so. In this case, Ben S. committed a minimal ethical wrong to expose a larger one. He is behaving as a whistleblower, and we need more of those. If you don't want the public to know your thoughts, you don't put them down in written mail or email addressed to other people, because you are depending on the addressee not to see it in their interest to publish it, and they are not obligated not to publish it. It's that simple.

If Ben is a cock, then you are the wide-open and expectant mouth.


#52 2wrongs≠right avatar
2wrongs≠right
7.28.2009
5:57 AM

/signed

posting personal emails to drive traffic to your blog ≯ deleting comments to promote business interests

an eye for an eye leaves the whole world blind...


#53 2wrongs≠right avatar
2wrongs≠right
7.28.2009
5:58 AM

/signed

posting personal emails to drive traffic to your blog is no better than deleting comments to promote business interests

an eye for an eye leaves the whole world blind...


#54 Marius Andersen avatar
Marius Andersen
7.28.2009
6:21 AM

Memo to myself: never send personal mail to this blogger.


#55 Bokonist avatar
Bokonist
7.28.2009
6:49 AM

@Marius Anderson

Never send any email to anyone if you really can't accept that it might be made public. What you say to them belongs to them, and they may do with it what they will.


#56 Jimmy Jones avatar
Jimmy Jones
7.28.2009
7:42 AM

LOL, that is pretty funny dude!

RT

www.anon-web-tools.tk


#57 DevinB avatar
DevinB
7.28.2009
8:35 AM

Part of having a blog is about controlling content. When people write blogs, they are usually for a particular purpose or goals, and are dedicated to presented a particular facet of yourself for public consumption.

You can allow comments to encourage discussions and also clarify points that may not have been well articulated the first time around. But, each blogger is still driving towards a particular vision of what he/she is trying to convey.

Ben Day's blog is about publicizing the good things about TFS, which makes sense for him, because he is a TFS consultant, and because he appears to *honestly* believe in the product. So, maybe he doesn't want any "GIT","SVN" or other Google/Bing searches to come up with his blog. He wants his blog to be a TFS-focused blog.

We could all spend many many thousands of hours writing blog posts about why our favorite application is better than XYZ alternative to it, but that would take up all our time. Ben Day has clearly thought about WHY he prefers TFS, as he articulated quite well in his email, but he didn't feel like his blog was where the discussions of relative merit should occur. His blog is NOT about flamewars, but rather about various Microsoft Products, and various good things / helpful tidbits about them.

It also makes sense that he doesn't want to tout 'free alternatives' on his Microsoft Blog. Why should he? And why should he engage in drawn out point-by-point "TFS vs. X-open-source-alternative" which would serve to only create more publicity for those open source options.

His blog post did not attack any of the products you love. He simply promoted the product he loves.

I actually admire his desire to *not* turn his blog into a tool for bad-mouthing other products. He just likes the Microsoft tools he uses, and he'd like to explain/explore that.

You on the other hand wrote an inflammatory comment on his blog. (Short version: "I disagree with you, TFS is terrible for everything") Rather than get dragged into a drawn out discussion, he decided to remove the comment, keep his blog focused, and then have a private discussion so that you could each lay out your points in a private arena.

You then chose to publicly ridicule his prudence, mock his good judgment, and publish *private* correspondence.


#58 Connor avatar
Connor
7.28.2009
8:56 AM

For much less than "$7k to $40k", I can pay someone to setup SVN and Hudson and never pay licensing. Ever!