Skip to main content

Conflicting Business Requirements and Skateboarding

I am a skateboarder, and while out for a roll with my partner in crime (pictured drinking a fruit juice, below) today we came across this concrete block - which I believe represents a textbook study in conflicting business requirements, and is proof that the phenomena isn't limited to software engineering.

If you look closely, you'll see that the concrete block is equipped with a nice seat, and also, metal edging - what's that edging about? Well, the edging is specifically for the purpose of skateboarding - for example:

[This chap is doing a "nosegrind" - note the metal edging on that block...source:]

It's actually a fantastic idea, and one that has been used recently in other parts of Auckland and Wellington cities, I've noticed. Skateboarding is encouraged by doing this; which I think enriches the city's culture and enables creative/innovative use of features of the urban landscape, that would otherwise be for aesthetic purposes only.

Interestingly (and aside from the point of this post), and entire industry seems to have sprung up in recent years directed toward "skateboarding prevention" - that is, the deterrence of the use of concrete blocks for grinding/sliding/etc - here's an example:

["Skateboard Prevention Device" - source :]

...shame on them! Anyway, this is a departure from the point of the story...

So, yes - putting the metal edging on the concrete block is a great idea - full credit to whoever thought of that. And it works really well, right up to the point where the pavement surrounding the block has been carpeted with a very fetching, coarse red gravel - rendering the ledge un-skatable (gravel doesn't take kindly to skateboard wheels).

No doubt there is a satisfied councilperson blissfully signing off on a several thousand-dollar invoice to have metal edging added to this concrete block, while quietly patting themselves on the on the back for promoting urban culture and enabling a creative environment. And good on them too, that's awesome - maybe just give those business requirements a(nother) once-over before signing-off next time, aye people? 

The moral of the story? Technology people; take consolation in the fact that you're not the only ones who suffer from conflicting business requirements!

Here's the location of the block FYI, in-case you'd like to see for yourself - downtown Auckland, near Victoria Park (you can see the block in Google Maps there, bang in the middle of the picture):

View Larger Map


Popular posts from this blog

HOW-TO: Add/edit a field in Team Foundation Server 2012 using Visual Studio 2012

It's been a while since I made a purely technical post...

So, today I wanted to make a change to a Microsoft Team Foundation Server 2012 (TFS2012) instance that I am working with to reflect "Actual" time spent on a task - mainly for reporting purposes, and because I have found in the past that making this minor process adjustment yields a relatively useful metric over the long-term.

I am using the Microsoft Scrum 2.1 Process Template ( for a project that I am working with. So that I don't forget how to do this (again!) I will blog-post the procedure I've used to add this field to the template as a screen-shot-based tutorial, as follows...
Before Assuming you are familiar with the Scrum Process Template (2.1-ish) - open a task and take a look at the "Details" section, as follows:

 This is where I want my "Actual" field to show up.
Get the Power Tools Download and install the latest v…

HOW-TO: Apply a “baseless merge” in Team Foundation Server 2010 (and 2012)

Another purely technical post on TFS...
The scenario We wish to migrate code between branches that do not have a branch/merge relationship, in order to expedite urgent changes being made by a project team, without disrupting on-going BAU development work. Sample branch hierachy/strategy Imagine the following branching strategy in TFS (visible by connecting to TFS via Visual Studio 2010 or 2012):

Essentially you have a "DEV" branch, which has a "QA" branch, which in turn has a "PROD" branch. DEV is the branch that you would be using for BAU development. As a piece of development matures, you move it into QA, where it is tested by your internal QA team. There may be further changes made in DEV that are moved into the QA branch as the QA team pick up issues. Once the QA team are happy with a packaged of changes, they will move them into PROD, which is essentially the hand-over to the customer. The PROD branch represents the software that the customer has.


Eclipse/Android error: "Multiple dex files define [...]"

Wow, I am really going nuts blogging this-evening - 2nd post in less than an hour. 

Anyway this is a particularly nasty error that I keep running into with Eclipse/Android when starting the emulator after I have not run it for a little while. Since I run the risk of permanently forgetting the solution to the problem every time I walk away from my Android project (and thus having to spend a painful hour-or-so digging up the procedure again), I will blog it here, for my benefit, and for the benefit of anyone who may also suffer the same problem.

The gist is that when you start the emulator in debug mode (that is, you hit the button in the following image), you get the following error message come out on the console and a nasty popup telling you nothing more than there is an error with your program and you need to fix it:

[2012-04-06 23:20:57 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/google/gson/ExclusionStrategy;
[2012-04-06 23:20:57 - SimpleList] Conversion to Dal…