Category TFS

TFS and You

How many of you are using Visual Studio 2010? How many of you are writing SSIS packages? How many of you are pissed off, irritated, or confused about how you’ll be able to write and version control your SSIS packages (VS 2008) once you’ve upgraded to TFS 2010?

Confused yet? Yeah, so am I.

Let’s backtrack: at work we recently upgraded to VS 2010 and TFS 2010 – this lets everyone on my team take advantage of the database developer edition as well as add a whole slew of automated testing features and doodads. Plus our management can tie in to our tasks

One of the problems that we ran into is connecting to TFS2010 from VS2008. Why would I need to do that? Visual Studio 2010 doesn’t have support for the SQL Server 2008 BI project types yet (SSRS, SSIS, etc). So, in order to work on SSIS packages, I need to keep VS 2008 around.

It’s pretty easy to connect Visual Studio 2008 to TFS 2010. Download this hotfix, install it, and then you’re up and running. That’s really all there is to it.

Links for the Week – 2009.08.07

SQL Server

Commenting Your Code Do it, people. I don’t comment enough of my code, but it’s something I keep in the back of my mind all the time.

Fast Running Totals Solution With Ordered CTE I love Mladen’s solution to this particular problem. I usually would use a nasty self join or some kind of hideous cross join to accomplish this.

Teaser: Left Join..the SQL ego crusher Mmmmm SQL brain teaser.

Development

Software is a Wicked Problem

sqlsharp It’s a port of SQLite to C#. I don’t believe source code has been posted yet, but it’s a great idea for portable development.

TeamReview Ask your co-workers for a code review, and get one, all through VSTS. I’m not a fan of meetings. I hate them. I also hate reading your code. I’d be much happier reading your code from my cube. Now I can.

Stuff & Things

How to Set Someone Straight Correcting people is never easy. Use these four simple steps to lead to success.

title unknown

Teach for America founder on the pointlessness of planning, the importance of saying no, etc. This is interesting because it’s a collection of quotes, but the 37signals folks link back to their own articles. Very interesting stuff.

:::WARNING – RANT:::
Netflix Shares Internal Presentation on Company Culture I was going to try to build an entire blog post out of this. Then I realized it would sound like I rant, so I decided to ran in my weekly link dump instead because it’s my blog and youcantmakemegotobedearlyanymore! So… yeah, anyway. Netflix sounds like an amazing place to work – they do everything they can to let good employees innovate and reward them effectively. For people outside of the consulting world, it doesn’t make sense to hold them to some weird standard of X days of holiday a year. Most of our work is based around meeting goals, not producing sprockets. Does it really matter if I want to take an extra few days off here and there? If I’m a top producer, that should be fine.

The other thing that really struck me about Netflix is how they compensate their employees. They hit a few things on the head that I’ve always agreed with – don’t bonus your employees, pay them. If you tell me, at hiring, that you’ll give me a $5,000 bonus in 6 months, pay me $5,000 more now. I don’t want a bonus. A bonus won’t make the payments on my sweet ride. They also pay their employees what they think they’re worth. Salary negotiations are a game. Playing games with employees that you allegedly trust and who are supposed to trust you is not a good way to conduct business.

Many businesses would do well from reading this slide deck and learning from it.
:::END RANT:::

Meet and Code – Weekend in Review

I spent my weekend in my company’s office. Keep in mind that 1) I’m a consultant and I’m usually at a client and 2) I didn’t get paid. Why would I spend my weekend at work? Meet and Code

What’s the point of Meet and Code? The point is for a bunch of people (developers, DBAs, UI people, PMs, BAs, etc) to get togther and work on a project to learn, build new skills, and do it right the first time. Sometimes, the real world constraints of deadlines and budgets don’t always give us the time to do TDD and to do things properly. So we rush through things and have to test manually. Not at Meet and Code. Instead, we’re doing things using agile practices, TDD, and rapid development techniques so that we can practice the craft that we preach about.

See, a few months ago someone had the crazy idea that we should get together and work on a software project over the weekend. Now, that catch was that we had to recruit other people. So, we recruited other co-workers. Eventually we’re planning on recruiting the rest of you, but bear with me.

After we recruited a team of suckers volunteers, we did a few planning meetings before everything got started and decided on a product to work on (an event RSVP web application so we could manage the next time we do this). We also figured that everything would take about a weekend (Friday 5pm – Sunday 5pm).

Friday was pretty much a wash. There was a TDD and mocking demonstration that was incredibly helpful, especially since I haven’t done TDD in a long time and mocking is just right outside of my area of expertise. Most people didn’t have development environments set up on their computers, there was some confusion about who was responsible for determining what, but things got ironed out by the end of the night. Towards the end of the night, I started working on the database and the UI people were able to get started. I left around 12:30 or so. Things were pretty disorganized, but it was a good start.

We finally got a build server set up early Saturday morning. I kept churning out database code while the business layer was being put together. There was still a bit of confusion, but by the end of the day things were going full steam. People came and went, but that’s what we expected.

The office was pretty humid and smelled distinctly of feet by the end of the night. It didn’t help that the air conditioning is turned off on the weekends.

By Sunday, I was starting to run out of steam. It’s tough to make it through a week of your day job and then run through a development sprint on the weekend, but the fun and learning made it more than worth it.

How did it turn out?

It went well. There were definitely some initial teething problems – development environtments weren’t set up, use cases weren’t fully fleshed out – but we made it through them.

Going forward there are definitely some things that we could do differently to make things run smoother:

  • Install fest – We should have held an early install night where we focus on getting everyone’s development environment prepared. This would prevent problems with service packs installing and getting different versions updated.
  • Training materials/demo – In addition to the install night, having fully built a single feature to demonstrate the ‘proper’ way to use ASP.NET MVC would have been very helpful for everyone.
  • Dedicated user representation – We initially had some BAs present on Friday night, but they had other weekend plans. It was difficult at times to resolve some ambiguity in the use cases or to determine how a feature should really function. If someone else was designated as the user representative, we would have been able to defer to the user rep on all of these issues.

However, despite these teething problems, we had a lot of fun and I definitely think we’ll be repeating this a few more times before we take it completely public with some hints and tips on our methodology for running the event smoothly.

Who needs valid XML?

Team Foundation Server, apparently.

Let’s say that some careless developer (me) forgot to close an XML tag. The aforementioned developer then checked in his build file and attempted to build it.

At this point, I got a bit worried because TFS came back with the following error:

TF42046: The build service used in the build process is not reachable. This error occurs when either the build machine is off-line,the required service is not running, Team Build is not installed on the build machine, Team Build is configured for a different Team Foundation Server or the network is not available.

So, at this point I spent a few minutes attempting to debug this problem. It turns out that this problem can also be caused by silly developers leaving off closing XML tags in their hurry to finish the weekly build script.

Why would Visual Studio throw back this seemingly unhelpful message? Probably because my XML was garbage and TFS simply refused to talk to me on the grounds that I am uncouth and trying to shout the XML equivalent of dirty words at it.

Moral of the story: close your XML tags and don’t hurry.

[edit]
Rick has informed me that I am a horrible developer and forgot to mention his involvement in this whole issue. So, Rick, thanks for helping me troubleshoot this problem. Read his blog, it’s at RickDoes.net. Did you notice that URL? He’s witty, much wittier than I.

This site is protected with Urban Giraffe's plugin 'HTML Purified' and Edward Z. Yang's Powered by HTML Purifier. 401 items have been purified.