Kurt’s Blog

November 16, 2008

Circling the drain?

Filed under: Software Development — Tags: , , , — Kurt Häusler @ 9:29 pm

I was just reading the XP mailing list and followed a link to a debate in the Agile blogosphere that seems to be a sort of XP vs Scrum type thing. Basically the popularity of Scrum means that people are adopting Scrum and considering themselves Agile without engaging in the appropriate development practices that XP provides. Some claim the direction of Agile needs to change, to put more emphasis on development practices and less on Scrum, or its the end of Agile.

I don’t intend to join in this debate, as I think both sides are wrong, but I will take the opportunity to write how I see it.

The word “direction” is interesting. As if there is something in the distance called Agile thats pulling us towards it. I guess thats how most business processes work. Someone has an idea, and prescribes it in the form of a concrete model that is supposed to be emulated. In such cases this concrete model looks indeed like an endpoint, towards which one finds the direction to be followed.

Agile is, to me at least, a bit different. Its more of a decidedly non-concrete set of principles and values. They don’t define an end point at all, hence no fixed, single direction. They define a starting point, from which more concrete practices and process are pushed out, or emerged. Once a team or an individual develops those principles and values as part of their culture, they exhibit certain behaviors that are influenced by those principles and values. They may or may not end up looking more or less like XP or Scrum. Different interpretations of those Agile principles and values, as well as principles and values outside of Agile, as well as subjective circumstances will mean that whatever emerges, is likely to emerge in as many different directions as individuals and teams that start from those principles and values. XP and Scrum are just head-starts along pretty good directions. I would suggest that a team that adopts Agile practices and processes only for planning while neglecting the development aspects or vice versa has made the mistake of neglecting the principles and values and seeing (some particular sellable concrete package of) Agile practices as a destination to move towards rather than a set of principles and values to guide the emerging of behavior. Hey at least they are a step above those who think Agile and Scrum are TFS templates though!

So rather than watching Agile circle the drains of concrete Scrum (and XP) practices, let it pour out from the values tap of the manifesto and the principles.

Forget about selling Scrum practices (or XP practices) as “directions” for Agile. Sell the principles and values and let the practices emerge, in all sorts of directions!

November 6, 2008

What do Team Foundation Server and Pink Lycra Pants have in common?

Filed under: Software Development — Tags: , , , , — Kurt Häusler @ 12:48 pm

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.

Blog at WordPress.com.