Monday, July 02, 2012
Sunday, March 11, 2012
- Planning. Yes, it will change but think the process through. It will identify missed elements and incongruent deliverables. “Wait, we can’t complete X before Y.”
- Contingency plans. Stuff happens. Shipping gets delayed. “If the part doesn’t make it to the house that day, is there another day we can make the repair?”
- Risk management. An experienced technician would know a week is not enough time for the part to arrive. Empower your folks to spend $15 to expedite shipping (as an example).
- Timely communication. I’m religious about weekly status reports. However, this needs to be followed up with a face-to-face meeting. There’s too much ambiguity around an email or even more formal written communication. Have a consistent, single point of contact for me.
- Humility. If you mess up, come clean as soon as possible. If there’s a problem, I want to know about it. Stuff happens. Likely, it’s ok and I’ll respect you more for working with me rather than burying a problem that will multiply into a monster over time.
- Respect. Don’t blame me for the problem. Own the problem. Make it right. I will contribute to the solution. Don’t use automated calls. Call me. Talk to me. If it’s just a reminder, an email is fine/perfect. Treat my situation as though it were your own. If we’re in this together, I’ll treat you like a trusted partner.
- Inspection. Is the process flawed? Are the right people in the wrong roles? Are our tools insufficient? How are we doing? What quantitative and qualitative metrics can we monitor over time to judge our effectiveness?
Sunday, November 13, 2011
Both Alexei and I enjoy working on the COALMG group. However, within the last few months, both of us took on new roles in our careers and struggle to find the time to line up speakers and keep things running smoothly.
To that end, we would like to open up COALMG to new leadership. Alexei and I would still remain involved (as well as Brian Prince) from a "board"/guidance perspective but we want someone to really drive: schedule strong presenters, question the current setup, drive membership, sponsors, etc.
We have a great following and there's tons of potential. COALMG is a fantastic opportunity for someone with energy, a passion for great software and a desire to get involved in the community.
We look forward to hearing from you! If you're interested, shoot me an email at jeff dot hunsaker at gmail.
Thursday, June 09, 2011
TFS Error | The type initializer for 'Microsoft.TeamFoundation.Build.Server.BuildInformationNodeBinder' threw an exception.
I encountered this at a client recently. The root cause was that IIS logs had filled up the OS drive (C:\). I switched IIS logging to the applications drive (D:\) which cleaned up the OS drive and resolved the issue.
TF53010: The following error has occurred in a Team Foundation component or extension:
Date (UTC): 6/7/2011 4:18:53 PM
Application Domain: /LM/W3SVC/8080/ROOT/tfs-1-129519118182628600
Assembly: Microsoft.TeamFoundation.Framework.Server, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a; v2.0.50727
Service Host: 7ecfbd77-b386-4d75-b038-b05474782696 (DefaultCollection)
Process Name: w3wp
Process Id: 3676
Thread Id: 5752
Account name: DOMAIN\SomeUser
Detailed Message: TF30065: An unhandled exception occurred.
Web Request Details
Url: http://tfs.internal.somedomain.com:8080/tfs/_tfs_resources/Build/v3.0/BuildService.asmx [method: POST]
User Agent: Team Foundation (devenv.exe, 10.0.40219.1)
Local Request: False
Host Address: 10.10.10.10
User: DOMAIN\SomeUser [authentication type: NTLM]
Exception Message: The type initializer for 'Microsoft.TeamFoundation.Build.Server.BuildInformationNodeBinder' threw an exception. (type TypeInitializationException)
Exception Stack Trace: at Microsoft.TeamFoundation.Build.Server.BuildInformationNodeBinder.Bind()
at Microsoft.TeamFoundation.Build.Server.TeamFoundationBuildService.UpdateBuildInformation(TeamFoundationRequestContext requestContext, IList`1 changes, IdentityDescriptor requestedFor)
at Microsoft.TeamFoundation.Build.Server.BuildController.StopBuilds(TeamFoundationRequestContext requestContext, IdentityDescriptor requestedFor, BuildServiceHost serviceHost, IList`1 builds, Boolean force)
at Microsoft.TeamFoundation.Build.Server.TeamFoundationBuildService.StopBuilds(TeamFoundationRequestContext requestContext, IList`1 uris)
at Microsoft.TeamFoundation.Build.Server.BuildWebService.StopBuilds(String uris)
Inner Exception Details:
Exception Message: There is not enough space on the disk.
Exception Stack Trace: at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.WriteCore(Byte buffer, Int32 offset, Int32 count)
at System.IO.FileStream.FlushWrite(Boolean calledFromFinalizer)
at System.IO.FileStream.Dispose(Boolean disposing)
at System.IO.StreamWriter.Dispose(Boolean disposing)
at Microsoft.CSharp.CSharpCodeGenerator.FromSourceBatch(CompilerParameters options, String sources)
at Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromSourceBatch(CompilerParameters options, String sources)
at System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, XmlSerializerCompilerParameters xmlParameters, Evidence evidence)
at System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping xmlMappings, Type types, String defaultNamespace, Evidence evidence, XmlSerializerCompilerParameters parameters, Assembly assembly, Hashtable assemblies)
at System.Xml.Serialization.TempAssembly..ctor(XmlMapping xmlMappings, Type types, String defaultNamespace, String location, Evidence evidence)
at System.Xml.Serialization.XmlSerializer..ctor(Type type, String defaultNamespace)
at Microsoft.TeamFoundation.Build.Server.BuildSqlXmlColumnBinder`1..ctor(String columnName)
Wednesday, January 12, 2011
Finally, when I added the account under "Account for accessing data sources" under the "Analysis Services" tab to the SQL Server Tfs_Warehouse database TFSEXECROLE role, processing began to succeed again. Whew.
Thursday, December 09, 2010
What’s new in the December 2010 Refresh?
The version of this virtual machine
which was refreshed on December 9, 2010, includes the following additions:
Visual Studio 2010 Feature Pack 2
· Team Foundation Server 2010 Power Tools
(September 2010 Release)
· Visual Studio 2010 Productivity Power Tools
(these are disabled in VS so that the screenshots of the hands-on-labs still
match; you can quickly enable the Productivity Power Tools via Tools ->
Extension Manager from within Visual Studio)
· Test Scribe for Microsoft
· Visual Studio Scrum 1.0 Process Template
· All Windows
Updates through December 8, 2010
· Lab Management GDR (KB983578)
Visual Studio 2010 Feature Pack 2 pre-requisite hotfix (KB2403277)
Microsoft Test Manager hotfix (KB2387011)
· Minor fit-and-finish fixes based
on customer feedback
· A new expiration date of June 1, 2011
Thursday, October 14, 2010
Update (11/03/2010): I posted my deck on SkyDrive...but you still need to attend in person! (Lots of demos...)
Wednesday, September 15, 2010
- The MSI installer does not apply the process template nor install the SharePoint feature. You need to upload the template manually and run STSADM.exe commands to deploy the TFS WSP. Follow the ReadMe.txt files in the installation directories for the template and the feature, respectively.
- The path in the SharePoint installation ReadMe.txt file refers to the STSADM.exe path in the "12 hive" but this switches to the "14 hive" for SharePoint 2010. Just replace the paths to ../12/.. with ../14/..
Wednesday, August 25, 2010
QA: "What's the status on defect #4874?"
Dev: "Yeah, I fixed that Tuesday."
QA: "Err, ok. Well where is it? I mean where can I verify it?"
Dev: "No clue. I committed it Tuesday. It passed unit tests and built successfully."
QA: "Alright. I'll track it down."
Invariably, QA speaks with the build manager (if there is one) to find the build in which that defect was repaired. After discovering the correct build, now QA needs an environment stood up to house that build. But wait, the UAT environment is currently testing the next release. It can't be disturbed for another week.
At this point, the QA person's blood pressure heads for unsafe levels and the Dice.com browsing begins. But it doesn't have to be this way...
Lab Management in Visual Studio 2010 along with TFS solves many of these pains. Here's what the above scenario might look like with Lab Management:
QA doesn't inquire to the Dev about #4874 because it's already marked Resolved and back in QA's list of Defect Work Items. It's associated with a Continuous Integration Team Build instance which is marked with a Build Quality of Ready for UAT (meaning all unit tests passed and the build compiled successfully). Behind the scenes, as part of the build, Lab Management spun up a virtual web server, application server and database server. Team Build deployed the solution to this virtual environment and even sent an email to the build manager and the QA person (they chose to be alerted) saying this environment was ready for testing. This shop is currently testing four pending releases along with a production hotfix that's going out later today--all at the same time in completely separate environments.
Best of all, it's an amazing value. If you made/make the investment in Visual Studio 2010 Ultimate, you get Lab Management for free. Yes, that's right: free. That said, you will need some not insignificant hardware to serve as a host for these virtual servers...but you have that already, right?
Tuesday, July 06, 2010
Rather than suffering the life-shattering disruption of an unrecoverable drive, I called a Code Blue...and here's what I did:
Background: I have Win7 64-bit running on a Dell Latitude D830 with a bay-mounted SATA external 500GB drive and an external USB 500GB drive.
- Download Paragon Backup & Recovery Free Edition; install
- Use Paragon B&R to create a full backup of my existing hard drive (including MBR/Master Boot Record) onto my external USB drive (about 1/2 the size of my total hard drive)
- Use Paradon B&R to restore from the external USB drive to the external bay drive
- Shut down Windows7
- Swap primary hard drive with external bay drive
- Start up Windows7
- Order new hard drive to replace old, busted, Kerklunk drive...
Unbelievably, that's it. Everything (including Windows Activation) just worked. I will shout to the hills about the awesome-ness of Paragon's tools. Yea Paragon. Seriously. Booyah.
Saturday, June 12, 2010
Saturday, May 29, 2010
Sunday, May 23, 2010
Tuesday, May 18, 2010
Recently, I had an inquiry about where the "Changeset Comments Policy" went for Check-in Policies...check the Power Tools.
Before installing Power Tools…
After installing Power Tools…
Tuesday, May 11, 2010
Congratulations to the Microsoft team for recently releasing the much anticipated Visual Studio and Team Foundation Server 2010. My firm is embarking on several roll-outs right off the bat so I wanted to capture some of our efforts. To start, lets just provide the basics:
Sunday, April 25, 2010
I'll be speaking along with Alexei Govorine on managing Scrum projects leveraging the recently released Visual Studio 2010 and Team Foundation Server 2010.
Click here for COAAH write up and registration. My firm, Cardinal Solutions is a sponsor.
Regards to the Safelite folks who organized a safe, fun and entertaining event. Held in Las Vegas, I typically think of one (or two) things: gambling. However, out by Lake Mead is gorgeous. The event utilized the lake, trails and some serious up-and-down hills through rocky terrain to deliver a challenging run, swim and bike.
Sunday, March 14, 2010
Tuesday, March 09, 2010
Q. Has security administration improved with 2010?
A. Yes, fellow MVP Paul Hacker points out the new TFSAdmin 2.0 tool on CodePlex.
Q. Is anyone doing hosted TFS?
A. Yes, again see Paul Hacker's firm SaaS Made Easy.
Tuesday, February 16, 2010
…went great. I followed the PDF posted here and only encountered a single issue (which I wanted to record here).
[ Reporting ] TF255275: The following Web service for SQL Server Reporting Services could not be accessed: http://win-4h5rozlea69/ReportServer/ReportService2005.asmx.
Sunday, November 15, 2009
Had a fantastic audience Friday for my VSTS 2010 Overview presentation at DogFoodII. Thanks for coming. I wanted to follow up on some of the questions with more complete responses.
Q. Will 2008/5 custom SSRS reports fail following the upgrade?
A. One key aspect here is “custom”. 2010 significantly changes the data warehouse schema (…which drives most reports). So, existing reports will need some work to function properly under 2010. That said, the VSTS team upgraded/updated the process templates and reports for Agile and CMMI to work properly against the 2010 schema. If you have custom reports, you’ll need to update them manually. Excellent information from Aaron Bjork here.
Q. Will 2008/5 customizations to team builds fail following the upgrade?
A. After doing some internal reading, I think this will actually work ok and upgrade successfully. The process template upgrade solution will wrap custom builds in a “legacy” MSBuild file and simply call Team Build against it. That said, you may want to leave behind some customizations and embrace the more optimal WF-style of automated builds. You may find you don’t even need that customization any longer. Finally, C# MSBuild Tasks you built custom and want to leverage in 2010 should continue to function as they did with 2008.
Q. Will 2008/5 customizations to process templates fail following the upgrade?
A. There is a process template upgrade “engine” (for lack of a better term). I think this will depend upon the extent of customization.
Aside: Internally, there was an exhaustive Beta1 to Beta2 TFS Upgrade Guide published to assist early-adopters and MVPs with the upgrade. The Rangers are taking on a similar project for the RTM. Keep an eye on the “TFS Upgrade Guide” on the Rangers page. Pramodv is heading up the team.
Q. Will Visual Studio 2005 Team Explorer work with TFS 2010?
Q. Is it possible to expose my TFS repository over the Internet?
A. Yes, with 2008, this is possible via SSL. However, I would err on the side of requiring remote users to use a VPN to first connect to your internal network. At the least, if you must expose TFS on the public Internet, deploy certificates to would-be clients using AD/PKI. Older but good article here.
Q. Is there anything that would accelerate my remote development teams? Interacting with the source repository consumes lot of time for my overseas / geographically disperse teams.
Q. I would like to pull quantitative developer metrics (lines of code committed, number of unit tests, reactivations, code churn, number of builds broken, average code coverage, etc.) from TFS. Is this possible?
A. I haven’t done it but yes, most of this is possible. However, I don’t recommend it. IMO, it’s too easy to misinterpret this data at an individual level (vs. a team level). Just because I have a lower number of lines of code committed or number of unit tests, doesn’t necessarily mean I’m a sub-standard developer. That said, you could easily pop open Excel 2007, point to the TFS data warehouse and/or SSAS cubes and crawl through the schema. Good starting points here and here.
Friday, November 13, 2009
Special thanks and appreciation to Randy Pagels, Microsoft Developer Solution Specialist for the Heartland District for supplying a lot of the material. Randy maintains an excellent resource on VSTS/TFS at http://www.teamsystemcafe.net/.
Also, special thanks for the VSTS MVPs for helping us learn and understand what's coming in 2010.