June 2005 - Posts
Ok, we recently brought up a Team Foundation Server at our hosting company and it’s been a bit of a chore. First, I tried to connect to the TFS without being on the same domain. The first time I connected it would prompt for a userid/password. After that initial prompt, which looked promising, it wouldn’t prompt again on future requests. So that didn’t work. So I joined my laptop to the AD domain and got that part working – which is REALLY cool. Ok…. it doesn’t look any different than running within a VPC, but the idea is still really cool that I’m hitting my TFS over the Internet. I was doing a VSTS presentation at a local company last week and was able to hop on their public WIFI connection and connect VS up to my TFS – I didn’t have the guts to try and do my demo that way, but that could be happening soon. I have a Verizon wireless broadband card, and have this “vision” of doing a demo for people where I use that card to connect to TFS and look at work items, check out code, etc. The card has really fast download speeds, but the upload is very sluggish, so I’m not sure how realistic that idea is.
Now, back on topic, to get connected to TFS, I had to install Visual Studio Team Suite (beta 2) on my local laptop. While this goes against my own advice that I give people, I did it anyway. Just remember – do as I say, not as I do! My laptop hasn’t been formatted in a over a year and half, so it’s overdue and it’s been acting real flaky lately anyway. So I figure when I’m ready to get rid of VS2005, I’ll just rebuild the whole machine. VS2005 runs much faster locally than in the VPC, but I’ve started noticing a couple of things now that I’m not in a clean environment like a VPC.
- MS anti-spyware breaks web and load tests. In order to run web and load tests, I had to turn off the spyware tool.
- VS seems to blow up on me much more often- most recently while running load tests against a server, Visual Studio just gave up and shut down.
- Interactions with TFS are slower – which you would probably expect. I’ve looked at some of the webservices traffic that flows, and it seems more chatty than I would have thought. For instance, turning on the work item checkin policy is about 7 web service calls. That seemed a bit excessive to me. There also seems to be some sort of polling going on. I get regular hits on the web server, though I don’t know if that is from VS or something on TFS itself.
Anyway, I’ll post more info as we start using it more. I hope to get Dave and Omar using the same TFS soon as well, and we’ll move our code into it shortly and start “living the dream.”
Now that I’ve been traveling more with all this Team System stuff, I find myself more and more inconvenienced by the Wright Amendment. For those that don’t live in Dallas, this is a federal law that restricts travel into and out of Love Field, which is where Southwest Airlines flies. Essentially, you can’t fly directly out of Love to any non bordering state. So if I want to fly direct to Chicago, I can’t take Southwest, because I can’t fly direct from Love Field. On top of that, if I don’t mind stopping in Tulsa, Southwest can’t even help me book connecting flights, I have to do that myself – it’s the law. Now, any reasonable person is problem saying “Huh??? That’s crazy!” The reason for all of this is supposedly to “protect” DFW International airport. This is all somehow better for D/FW and better for the area residents, but I’ve never figured out why.
Anyway, while booking a flight on Southwest to go to Houston (I can go there non-stop!) I found out that they are lobbying to kill the Wright Amendment, and included a link to their site with more info on this -> see the banner on the right. I found this interesting, and while I probably won’t take the time to “contact the media”, I figured I’d at least post a bit about this.
Rob Caron's blog has good info on why you might, or might not want it for VSTS.
My recent post about various vendors integration with Team System seems to have caught the attention of someone @ IBM/Rational. I can only assume it's a salesrep. I personally think Microsoft is going to push Rational out of the .NET tools space within a couple of years, and I might as well just outline my issues/concerns with Rational in a post. This got to be too long to just put it in the feedback part.
First, let's address the Robot issue - sure you can buy and run these tools, but they aren't integrated. Ideally, I could run my tests from Team System (VSTE/ST), and have a test type for GUI tests that launches Robot. The results of the Robot test would then be loaded back into Team System and I could publish those results to TFS and run reports on that. Sure, I could run 2-3 different tools and aggregate my results, but that's a pain in the rear. That's why I've been looking for companies that actually plan to integrate - those will be the ones that people will want to use. Automated UI testing is a feature that is sorely lacking from Team System, it sounds like Compuware and AutomatedQA are going to fill that need by actually integrating. I've never used either of their tools (Winrunner and Robot are the market leaders), but if they are decent, I think people will use them for the integration.
Second, I should probably give my thoughts on the source control tools. Team Foundation Version Control (TFVC) and ClearCase are pretty equivalent in features. One feature that Rational will try really hard to sell is the idea of "multisite". This is useful for companies that have large, spread-out organizations and want multiple ClearCase servers that all sync with each other. TFVC doesn't support this in V1. Of course, the customers I've talked to that use ClearCase have a pretty consistent opinion about multisite: 1) It's super expensive - 2) it's awfully hard to setup and administer. I've even talked to a customer that paid for it, and gave up trying to use it. This leads to the number one problem facing ClearCase that I have heard. Every large customer that I've talked to that has ClearCase also has a ClearCase administrator. I did a quick monster.com search on "clearcase administrator", and there are actually openings with that exact title. A common question I get about TFVC is: "How hard will this be to administer?" The first time I was asked this question, I didn't have a good response, because it shouldn't be much trouble at all. The people that ask this are usually using ClearCase and have 1-2 people dedicated to keeping the thing running. I could be wrong and TFVC could be an absolute nightmare to keep up and running, but I doubt it.
That being said, I think one huge barrier to adoption for Team System is ClearCase . Many companies have standardized on it, and they've spent an awful lot of money. The guy that made the decision to spend all that money is going to look awful silly dumping it and buying Team System. I've talked to some companies where the individual teams would love to move to Team System, but the corporate "mandate" is ClearCase , so it would be a political issue. The ideal solution for these companies would be to keep using ClearCase and have it work with all the cool Team System pieces, like check-in policy and work item relationships. According to Rolf Nelson (see feedback on the previous post), this really isn't an option based on the way the VSTS APIs are setup. I think that's unfortunate - maybe that comment will stir up someone on the VSTS team to validate or invalidate that claim.
Over the past few weeks, I've learned about some things in Team System that are different than what I had been thinking for some time. Some of these items are things that I was told by others many months ago, some of them are things that I think I just started assuming were true (because they should be!), but I apparently never validated. I started thinking about this a bit more after having a brief conversation with Eric Lee at TechEd. For those of you that don't know of Eric, of the people I've met at Microsoft, he probably has the most in-depth knowledge of Team System across the breadth of the product (if that makes sense). He admitted that he has things as well that he'd been assuming (some of which that were originally supposed to be in the product) that turned out not to be true. I wonder how many other people have some bad assumptions with Team System? Team System has proved particular challenging, because when Microsoft decides to add a feature - they "announce" it. But when the feature gets cut - there is no such announcement.
So, in the spirit of trying to be transparent with some bad assumptions that I had, the following is a list of items that I once thought were true, but I have found out that they are not!
1. Manual tests can be set up in process templates - nope, the manual test template is actually stored on the local hard drive and cannot be centrally managed. Who missed that?
2. Manual tests can be Excel spreadsheets - I think I heard someone say this once and have been repeating it ever since. Turns out they MUST be either text or Word docs.
3. "Clean build" check-in policy makes sure your code compiles cleanly before a check-in. - This policy seem to just check the errors window - so if you don't compile first, it doesn't complain (of course, VB's background compile will help with this).
4. Check-in policy can be set in a process template - I mentioned this in an earlier blog. I think this was a feature that was cut.
5. You could create test lists from VSTE/SD - VSTE/SD doesn't include Test Manager, just Test View, so you can't create test lists. Where this gets really weird is that you need a test list for the build process... you extrapolate the rest out. This has to change by RTM...
6. You can add a webserverendpoint to a database server in the datacenter diagram. - This may seem odd to some people, but I always figured I could create a "logical" server that had both my SQL Reporting and SQL DB on the same logical box. This can't be done, and they must be separate logical servers. This makes sense when you think about it - I just never really put much thought into it. That said, I'm not sure I like it...
Well, that's it for now, I'll post some more as I learn more and invalidate bad ideas that I might have in my head.
I just finished reading Joel's latest blog. He has a good post about the difficulty of adopting software process in a practical matter. He walks through the reasons and gets to the point of how Team System will help with that. While I haven't seen the tool Joel's team is working on, I'm hoping to soon. I like the idea of editing my work items, etc. in a currently created team project. If you are interested in process customization with VSTS, go over to his blog and let him know. Then maybe that will motivate him to "announce" a feature list or something ;-)
Ok, so TechEd 2005 was fun and exhausting - there were a couple of things mentioned in sessions that are VERY cool and important.
1. Pricing sounds like it's changing again. There was a Cabana talk on Monday where they covered the pricing strategy, and the new thing for me was that they mentioned that if you are an MSDN-U subscriber and want Team Suite, it will only be $1000 more per year (retail price), as opposed to the $2299 previously stated. I looked a bit on the pricing website and haven't been able to find this in print yet - so maybe it's not fully baked.
2. Microsoft will write a provider to allow Visual Studio 2003 and VB6/VC6 to access the new Team Foundation Version Control system. People have been asking for this repeatedly, and Microsoft has listened. I have to give kudos to Microsoft for this, I've never watched a product release as closely as I'm watching this one, and I can honestly say that Microsoft is listening to customer feedback and using that to strengthen their offering.
3. Partner stories - I talked to several partners that are integrating with Team System. Here's my eval based on what I saw/heard:
- SourceGear has the best story with their Allerton product which I saw a couple of demos of hitting Team Foundation Version Control from Eclipse/Linux. There are a lot of companies with both J2EE and .NET developers, and this will help them both be on the same platform. I've had many customers ask me about getting their Java developers on Team Foundation, so it will be nice to have an answer for that desire.
- Rational - I went by their booth, and they have no plans to integrate at all with Team System. The top two questions I get from people about Rational products and Team system are: "Can I keep Clearcase?" and "Does Robot integrate?" The answer to both is "no". I assumed this would be the case, but it's nice to have a real answer to give people now, rather than just saying "you'll have to ask Rational." I understand why they aren't supporting VSTS, and I see a future where J2EE developers are using Rational/Borland products and .NET developers are using VSTS. If Rational doesn't get their pricing down, it's going to drive J2EE developers to .NET simply based on cost.
- Borland - much has been made of their CaliberRM product, as it was announced to have planned support for Team System back at TechEd 2004! I must say that after talking to their reps, I was unimpressed. It sounds like the integration will be minimal (mainly 1-way creation of work items, so that as requirements change, things don't integrate further.)
- Mercury - On the testing side of development, Mercury Interactive is a huge player with Test Director, WinRunner and LoadRunner. The only stated integration they have planned right now is that they will synchronize with work items behind the scenes. Mercury wants you using their products for all of your testing and then syncing those up with Team System's work items. While this makes sense from a business standpoint, it's not what I think most people will want. What I want them to do is allow me to run their tests (mainly WinRunner) from the testing framework in VSTE/ST (Visual Studio Team Edition for Software Testers). Obviously, this make their product little more than a plug-in, so that's not a compelling thing for them to do. Apparently they are still "considering" this, it will be interesting to see if the story changes.
- Compuware - I didn't get a chance to talk to Compuware, but one of my coworkers did, and they seemed to "get it". It sounds like they looked at Team System, looked their own products and determined where they had more to offer than Team System does. They then targeted close integration. Compuware has an function UI testing tool (the type that record mouse clicks, etc.). They are making it so that you can call those test from Team System and report the results to Team Foundation. Assuming they get that working, I'm going to be advocating people ditch Rational/Mercury for UI testing and consider their product.
- AutomatedQA - I didn't talk to these guys either, they seem to have the same story as Compuware. I'm going to try and take a look at their product (and Compuware's) in the coming months to see which I like best, so I have a some direction to point my customers. Automated UI testing is important to people, and Team System doesn't have it, it's a great gap to fill.
In unrelated news - we had a moderate amount of traffic at our booth (Notion Solutions). Our big emphasis at TechEd was Team System training and mentoring. It was interesting to see how many people had a genuine interest in learning more. We have scheduled a public Team System class for the first week of July in Dallas, I'm curious to see how much follow-up interest there is in that class. We're also doing ASP.NET 2.0 classes, but did a really bad job of talking about any of the public classes @ TechEd. I still think the right way to adopt Team System is on-site training, but so far we've only been teaching people who are "exploring" Team System, and public, overview training works great for that.
For those of you that came by our booth, or ran into us at the Cabana - it was great meeting you - hope to see you at PDC!
Microsoft announced that there will be a Team System VPC being handed out at TechEd 2005. This VPC has Yukon, Team Foundation and Visual Studio Team Suite. I've been using this VPC for awhile and it's the fastest I've used. If you miss it at TechEd, it will supposedly be on MSDN at some point in the near future. If you are at TechEd, hit the Cabanas, the VSTS booth (#19) in the Microsoft Pavillion, or drop by the Notion booth (#464) - I plan on grabbing some copies if they'll let me and keeping them handy...
Ok, so I spent all day today at the RD side meeting and the MVP side meeting. Both were good. The new MVP logo is cool and will be available in a couple of weeks. At the RD meeting we got a sneak-peak of part of Monday's keynote, it was interesting. I am curious to see what people think.
I'm looking forward to the VSTS sessions, and the .NET Rocks interview with the VSTS product group, I think that could be interesting.
If you are going to be @ TechEd and want to talk VSTS (or Whidbey, or .NET in general - but especially VSTS) - come by our booth. The Notion Solutions booth is near the Microsoft area and I think we're right next to SourceGear, so I'll have a good time pestering them about Allerton (the Eclipse/Mac/Unix plug-in for Team Foundation). Whlie we do other stuff besides VSTS, we're going to be emphaszing training/mentoring with VSTS while we're @ TechEd. I'm real curious to see what kind of interest level actually exists. Most of the people we've trained so far are getting trained in VSTS to "explore" it and learn it better, but not with the intent of using right away. Obviously that will change once it gets out of beta, and I expect it will change if there is a Release Candidate or another beta that is more stable.