When I was in school, I chose cycling as my school sport, mainly because it was unsupervised and we could simply cycle straight home, but it turns out I was actually good at it and enjoyed it, mainly because I was riding up hills every morning delivering newspapers anyway so had the leg muscles for it. But I only had an old fashioned single speed bike from the 40s that I used for both my paper round and “racing”.
So I asked my parents for a decent racing bike for Christmas. I ended up getting an old 10 speed which was better than nothing, I was not too disappointed as it was reasonably good in its day and we weren’t especially rich. But then I opened the next present. It was a lycra cycling suit, pink no less. I am pretty sure my parents spent more on that than they did the bike, and I secretly thought it would make more sense to have not gotten me the cycling suit, and spent more on the bike.
Now I live in Germany now, and people wear cycling suits all the time even when just riding their bike to work, just as they have a special get-up for walking along trails in the hills (red bandanna around neck, knickerbockers and a ski pole), and no one wears trackpants outside the gym (except Russians.)
But this was New Zealand, and we wear the same things for everything. Trackpants if you are a sporty type, jeans otherwise, or shorts in the summer, fairly independently of what activity one is performing.
If you want to wear lycra you better be a pro cyclist, and have an expensive bike to match, and even then only the shorts will be worn (with a normal t-shirt), and you will get teased anyway.
I wore the full suit anyway, with my old ten speed, and it was an entertaining spectacle. (It was Pink! What were my parents thinking!)
What does this have to do with team foundation server? Well we use team foundation server at work. Started off with version 2005, and we only used a fraction of it. We used its source control feature, and we used the default agile template to store some of the activities that we were supposed to do. The other features like the automated builds, automated testing, the web based interface, the reporting and the project and excel integration, we don’t use. It was administered by the support department.
This version was notoriously buggy and so we started talking about alternatives. I would have preferred a simpler solution to suit our small, fairly informal team, such as mercurial (or subversion) for source control, and a lower tech solution for planning our activities, perhaps a pinboard, or one of the many open source (or otherwise free) web based tools available, and to run them internally within the software development department, so we can experiment ourselves with different development processes and techniques like continuous integration and automated acceptance testing.
But no, support was tasked with upgrading to TFS 2008, which took around a month. Now this isn’t a single package. It requires specific versions of sql server and sharepoint to be set up too. A lot of overhead considering we weren’t even using it properly.
When I talk with other developers about our using TFS, their first reaction is something like “wow that’s some heavyweight stuff, we just use subversion, are you guys using the Agile template? You must have a pretty professional process”. In fact we don’t even have a development process, nor project management, nor technical leadership, nor any quality assurance procedures, just the boss and two developers. The boss asks for a feature, and we type it in. (And yes our quality is what you think it is)
I now understand what people thought when they saw me riding my old 10 speed wearing my tight pink lycra cycle suit. “That mismatch looks rather comical, is he doing it for a joke or does he really think he is getting value out of that cycling suit, surely he should have rather invested his money into a proper racing bike”? Of course what they actually said as I strutted across the school in my tight pink lycra was a little different.
I feel a similar sort of embarrassment now, being part of a team, and I use the term loosely, that thinks they are bleeding edge by (mis)using a specific tool. Why oh why didn’t we invest all that effort into adopting a development process instead? Or introducing unit tests, or refactoring away some of our technical debt? Or implementing a continuous integration system? I suppose some things just require a bit more thought than double clicking a setup.exe
Perhaps I should ask my parents why they chose to buy me a pink lycra cycling suit and I might get a little closer to understanding the types of decision making that go on here at work.