Finally, there’s something to do in Southern California besides surfing, celeb-watching, and working on your tan. Mike Vincent, a VSTS MVP, has taken the lead on setting up this new user group. The kickoff meeting is this month, June 23rd and I’ll be presenting a grab-bag of topics on best practices. Time permitting, I’ll show a bit of VSTS 2010 beta 1. So, if you are in the SoCal area, be sure to come to support this user group, and attend the first meeting. http://www.socalteamsystem.org
I’ve been getting asked more and more about IBM’s CC and CQ products, and not just how to migrate away from them to TFS. Some clients are wanting to know why Team Foundation Server is better. I think it’s obvious, but sometimes have difficulty putting it into an executive summary with all of the details. I happened upon this document today, which gives an overview of IBM Rational, ClearCase, ClearQuest, pricing, licensing, competitive messaging, and other resources. Not quite as gritty as a true “Battle Card” used internally by Microsoft’s sales team, but this discussion guide does provide some good information.
I ran across this document today, which details out Microsoft’s virtualization strategy on implementing 64-bit (Hyper-V) virtualization in the classrooms. As virtual machines do more, and require more resources, so must the hardware/software requirements of the training centers be updated. In a nutshell, here are the requirements for HL6: Hardware · 64-bit Intel Virtualization Technology or AMD Virtualization processor (2.8 GHz dual core or better recommended) · Dual 120 GB hard disks 7200 RPM SATA or better (striped) · 4 GB RAM expandable to 8 GB or higher · DVD (dual layer recommended) · Network adapter · Sound card · Video adapter aero-capable recommended · Super VGA monitor (17 inch/ 43 cm) Software · 64-bit Windows Server 2008 Enterprise Edition · Hyper-V role configured · Microsoft Learning Lab Launcher – Hyper-V version
Ok, I’m on a Microsoft Research kick today. I admit it. Some of you know what I’m talking about – you find one cool project and that leads to another one, and another one and before you know it you’re finding and reading a paper titled “Mining Software Effort Data: Preliminary Analysis of Visual Studio Team System Data”. It seems that some really smart people on the VSTS product team got together to analyze actual VSTS data and prove that (in software development) smaller features can be estimated more accurately than larger ones. In other words, there is a positive correlation between actual estimation error with feature size. Hmm. Now I could insert a wise crack here, but I won’t. Think about it. This is empirical evidence based on actual data. This rocks! I see this as the beginning of many successful data mining adventures of the TFS warehouse. Basically the research focused on the actual development of VSTS 2008 and the product group’s predicted effort estimates for 55 specific features. They then updated the actual and remaining effort tallies throughout the development process and then collected the data directly from TFS, performing statistical analyses to identify estimation error and relationships between error and effort metrics.
I was talking TDD with Doug Seven at Tech-Ed last week. He gave a great presentation on Agile Development with Team System 2010. Afterward we were brainstorming on ways to get people to write unit tests. We both agreed that it has to be understood and driven by management. While we may never get management to understand the intricacies of unit testing or the discipline of TDD, but we may be able to appeal to their desire for software quality. On that point, Doug guided me towards this document on Microsoft Research from January 2008.
The authors (Nachiappan Nagappan, E. Michael Maximilien, Thirumalesh Bhat, and Laurie Williams) conducted case studies with three development teams at Microsoft and one at IBM that have adopted TDD. The results of the case studies indicate that the pre-release defect density of the four products decreased between 40% and 90% relative to similar projects that did not use the TDD practice. Subjectively, the teams experienced a 15–35% increase in initial development time after adopting TDD.
Finally, some empirical evidence supporting the practice of TDD.
I met up with the Altova folks last week at Tech-Ed and asked about any cool improvements or features in their 2009 version of DiffDog It turns out there are two new, albeit surprising, features in there: compare and merge (the contents of) database tables. It looks pretty good, and very similar to Microsoft and Red Gate’s products – just surprising to see it in an XML compare/diff tool.
As I was explaining how the Build > Deploy process is radically different this week, a question came up about licensing restrictions around the vsdbcmd.exe command-line utility that ships with the GDR. Here’s a quick history lesson: The Pre-GDR Way The Build process analyzes the target connection and then assembles all of the various .sql scripts into one large .sql script. The resulting script would contain CREATE or ALTER statements depending on what it found when it studied the target connection. The script also contains other custom scripts and variables you want to define. The problem is that this Build process requires access to that target environment. This was not always a possibility – either the developers didn’t have permissions, or ISVs didn’t have physical access to their customer’s datacenters. Finally, the Deploy process would then just execute the big .sql script against the target connection, which could be done using VS, SSMS, SQLCMD, etc. The GDR Way The Build process generates a .dbschema file which represents the current schema definitions of the database project in a single, easy-to-handoff XML document. This document has accompanying scripts and manifest files as well. The Deploy process then creates the .sql script and (optionally) executes it. The Deploy is now the only connected operation and it can be performed from Visual Studio or by using the new vsdbcmd.exe command-line utility. The major difference is that Build doesn’t need access to the target database, only Deploy does. This rocks, because now you can just give the .dbschema file to that department’s DBA or that customer’s datacenter admin, etc. and only they need access to the target to generate the proper script and to execute it. Problem solved. … but question raised: what about the licensing of the vsdbcmd.exe file? Can the developer or ISV just give it to their respective user to deploy the changes? The answer (thanks to Ted Malone, SQL guru and VSTS MVP) is YES, as explained in this article by Gert Drapers. BTW - GDR R2 is available so you should download it now!
I’m pleased to announce that fellow Accentient Consultants David Starr and Michael Vincent have been named Team System MVPs! David Starr is the founder of the Elegant Code community blog and podcast series, and also organized the recent, highly successful Boise Code Camp. David has over 18 years of experience in software development and has held numerous leadership positions in technology teams. He is a frequent speaker at technology conferences, a writer, and is involved in several .NET and Agile professional organizations. His passions include Agile software development, building strong teams, Application Lifecycle Management, Visual Studio Team System, and .NET. Michael Vincent has been actively involved in user group communities since the early 90's, founding both the SoCal .Net Architecture group, also known as the International Association of Software Architects Southern California Chapter, and the Orange County C# Developers group which became the Orange County .NET User Group. Mike is a frequent presenter at local and regional user groups and Southern California Code Camps and has served with INETA as the California Membership Mentor. Congratulations to both for this well-deserved recognition.
I'm pleased to announce that the Team Foundation Adapters project is up and running on CodePlex. The project description is as follows: Team Foundation Adapters make it easier to do proper unit testing of applications that utilize the Team Foundation Server API, by providing a simple mechanism for mocking the commonly used sealed classes in the API, which cannot otherwise be mocked. This is not vaporware folks. There's a working implementation, complete with sample unit tests. The project does not cover the entire Team Foundation API just yet. But it establishes a clearly defined baseline that will grow as needed. Please have a look at the project and let me know what you think of this approach. If you like it, be sure to tell your friends about it. Many thanks to Jeff Bramwell, William Bartholomew, Martin Woodward and Mitch Denny for joining up as contributors. If you're interested in contributing as well, please let me know.
I’ve really been enjoying my Samsung 128GB SATA 3.0Gb/s Flash-based Solid State Drive (NSSD). Per Doug Seven’s advice, I’ve been copying over my existing Virtual PC 2007 hard drive images to the SSDD, and booting them up with Hyper-V. For the most part, there hasn’t been a problem, except yesterday I started receiving “General Access Denied” error message, something like this: VMMS Account does not have sufficient privilege to open attachment 'E:\Hyper-V\Windows Server 2008\Windows Server 2008.vhd'. Error: 'General access denied error' (0x80070005). There’s a lot of chatter on the forums about this, but essentially it comes down to having to give the Network Service account (for the Hyper-V Image Management Service) adequate permission to the VHD file. There are several ways to do this, but I just gave the Everyone group (Users in Windows Server 2008) full control under the Hyper-V folder. Fixed! As a follow-up, it turns out that this is a bug for systems running Intel motherboards and Intel released a fix back in November 2008.
In this economic climate of cut training, cut travel, and general layoffs, it is more important than ever that we keep our technical chops and strong relationships in the development community. That’s good stuff, because: The 2009 Boise Code Camp and Tech Fest is open for business at BoiseCodeCamp.org. Sessions are already being registered on the site and we are off to a great start. This year we are trying something a little different and are hosting 2 sets of sessions throughout the day. In years past it as been apparent there is an appetite for technology sessions that are not necessarily based on code. Typical interests are in Agile development practices, Project Management subjects, Information Technology topics (read networking, virtualization), and anything infrastructure related like IIS, Exchange, and SharePoint. Yes, Virginia, those people do exist. And, in far greater numbers than those who have the proper usage of “polymorphism” in their vocabulary. Thus, Tech Fest is born. Last year’s Boise Code Camp attracted well over 400 people and with the addition of Tech Fest this year we are hoping for upwards of 600 attendees, making this the biggest Code Camp in the Pacific Northwest. We are lucky enough to attract speakers from all over the west and this is now the single biggest technical event in Idaho. We truly support and welcome first time speakers and there is room for everyone to be involved in some way. Even if you are a short plane ride away from Boise, I encourage you to attend. It will be worth your time and fun will be had by all. I hope you can attend, present a session, and finagle your employer into throwing us a sponsorship so we can pay for coffee. Of course, the only really required here is your attendance. I look forward to seeing you there.
|