Wednesday, September 29, 2010

TFS 2010 Portal Customization Warning

If you are customizing the SharePoint portal for TFS 2010 here is a small warning/tip.

If you are dealing with the "Work Item Summary" web part beware that if you rename the underlying team query for it.

IE8 will become unresponsive, prompt weird error messages, and your team portal will refuse to load again. A colleague of mine experienced this issue this morning, and we were scratching our heads for a bit before finally arriving at a solution.

TFS 2010 Task Burndown Excel Report not showing any data?

This is a quick tip to those of you that are struggling to get any data to show up onto the Task Burndown excel report in the TFS agile 5.0 dashboard.

For some reasons unknown to me, the date filter on the "Date" row label is filtering all dates, even though it is configured to filter "This Month."




I was able to select the dates I wanted without the filter and show the report however that was still a little frustrating.

To fix this instead of using "Date" dimension for the row label is used a "Date Set > Last 4 Weeks" which has a similar effect to "This Month"

Thursday, July 1, 2010

Intersection of NUnit . MSTest and ONEWAY>

So here I am going down the TFS road and get to the intersection of MSTest and NUnit. I have always taken the NUnit road, but the MSTest road looks promising. So I start going down that path but soon realize, that only the entrance was pretty and everything else, road, sidewalks, buildings were in bad condition.

Let's stop talking figuratively, MSTest as an unit framework is still lacking compared to NUnit. Most of its value actually stems from the native integration with TFS. I was poised to make the roadtrip back to the intersection when google and some smart people came to the rescue.

http://alsagile.com/archive/2010/03/09/stop-the-war-between-nunit-and-mstest-make-them.aspx

Thanks to this link, I was able to continue using the awesome syntax I'm used to and take advantage of microsofts MSTest integration to TFS.

Wednesday, June 9, 2010

the 2010 Batch

I was recently tasked with bringing up a installation of Team Foundation Server 2010 here at work. I believe we have now navigated most of the technical roadblocks and are moving ahead just fine.

When I started this task I expected like any other Microsoft software. TFS would have dependencies with other MS technologies. What I had not realized is how much more dependencies the 2010 batch of technologies has than any other previous incarnation.

Take this as a cautionary tale dear reader. If you are embarking in the adoption of the any 2010 batch of MS technologies, be aware that they work best with one another and not so much across the year barriers.

Tuesday, March 2, 2010

It takes a lot to Wow6432Node me

For those of you that recently have switched over to a 64bit Windows OS. I'll make it short. If you are trying to look at registry keys using Microsoft.Win32.Registry class. You will find that the code that used to work on 32bit machine will no longer work.

Take this for example if you are looking for a key on the following path
HKLM\Software\foobar
You will not find it because it will actually be searching the path below.
HKLM\Software\Wow6432Node\foobar

I'm sure there are tons of reasons (good reasons at that) of why things were done this way. I don't really care, this code smells.

Monday, December 14, 2009

Darwinian Economics ;)

When Darwin proposed his theory of evolution and survival of the fittest he was right in more than one way. In today's market the only businesses that survive are those that are able to adapt to the uncertain economic conditions. In such an environment we as IT Professionals share a similar fate, we must be fast, agile & able to adapt. For, it is us the IT professionals that must support the constantly changing aspects of the business. It is with these thoughts in mind that I've continuously worked towards developing those traits that would allow me to be agile and effective under any circumstances.
As a Software Architect and Technical Lead, I've tried to position myself in a way that allows me to be quickly effective in a variety of projects. Jumping from the project a to project b and now to project c, here are some of my thoughts regarding what the those traits needed for such an environment are.

1. Thinking of Reusability: When I take on any project, I always think to myself how do build it so that I can leverage it in the future. It is with this idea that I've been able to accumulate a framework and a set of proven patterns and practices that allow me to hit the ground running when I approach new projects.
2. Taking the Initiative: One of the challenges that comes with reusability is that reusability lends itself to stagnation. Therefore to avoid this fate, I'm always taking the initiative in adapting the frameworks, patterns and practices I've developed to newer technologies and patterns that would give me greater reusability.
3. Building the Right Team: Having the right team is as critical to the project as having the business requirements. Without the right team, any project would be in jeopardy. So what makes the right team? To me the right team is built around trust and mutual respect. It is composed of team members that I would trust to make the right choice in my stead. Hence, when I conduct interviews I rarely focus on candidate's particular skills. Instead I'm always focusing on the choices he would make.
4. Scope Management: When it comes to achieving success and raising the victory flag it is important to know what it means to succeed. Defining a scope that allows you succeed is what I've been stressing we strive for in the projects I've worked on. The correct feature set that gives the biggest bang for the buck to the business at the right time is what defining scope is all about.
5. Agile Development Methodologies: Agile development are methods that I've tried to follow in order to gain the most and mitigate risks associated with a changing business. These methods include the focus on building bench strength and communal ownership from the beginning of a project, as well as a focus on iterative delivery of small feature sets. The methods allow for more accurate estimation of feature delivery as well as providing the ability to shift focus should the situation arise. It also plays in very nicely with our maintenance transitioning strategy and operational risk countermeasures strategies because bench strength and communal knowledge are at the core of Agile development.

Friday, November 6, 2009

Entity Framework & Lazy Loading

For the last 2 years I've read and read the EF team swearing by their design decision to turn lazy loading off by default. Heck they even went the extra mile to change the name and obscure the option (Deferred Loading anybody?).

I just found out, that the latest CTP has lazy loading on by default and guess what? it is actually called "Lazy Loading"...

I don't know about you, but I find all this somewhat irritating. Albeit, a bit vindicated. :D