Everyone should be doing TDD already. There’s really no excuse for not doing it, however the big dilemma is the amount of tests, how long they run and what to test and what not to test. There are even religious arguments about the different types of tests, e.g. unit tests, integration tests, contract tests, acceptance tests etc. Where does one start, where does the other end?
The bigger question here is, does it matter? That’s up to you to decide.
As if there wouldn’t be enough discussions and arguments we also have BDD (follow the link if you want to know more!) which gains momentum. It’s promise and expectations are that it will focus on what really matters. No more unnecessary tests, no more missing test cases, everything as defined by the BA, product owner or even the customer!
But now the question is, how well does the customer or the product owner know what they want (I’m excluding the BA here!)? Or rather what they need? We’ve all been there, requirements usually change because they’re often not thought through in all detail, or aren’t doable in a timely manner.
That’s what stops me from implementing BDD, it complicates TDD with it’s own DSL which is supposed to simplify things but makes it more complicated for developers. But in the end the developers will still have to own the test cases or user stories as the customers and/or product owners won’t write all or maintain them. There are certainly exceptions where BDD can add value but I see it more as just another thing that makes a developers life harder instead of easier.
That doesn’t mean though that I’m not tempted in giving it a go given the right environment. But you will require very technical and detailed BAs to be able to get BDD working perfectly.
Agile was and still is the seemingly latest and greatest when it comes to development team setups. But what is Agile? Best to ask Martin Fowler, he certainly knows what he’s talking about.
And I don’t doubt that agile setups can work, but the problem is that you need an extremely highly motivated and highly skilled team of people who want to work together for the greater good. Now the majority of companies doesn’t have these people, and most won’t be able to attract them either. Once mediocre, always mediocre.
I’ve seen companies trying to implement agile, often enough without any further resources, or just based on one online article. Clearly that’s not how it can work. Many call themselves agile because they just don’t do planning ahead, specifications etc., but that’s also not agile, you’ll always have to plan, and architect, and think.
The other problem is that many customers won’t be willing to jump onto the agile bandwagon, meaning to work without clear costs / estimates, timelines etc. Same goes for Boards. And I can see why, as you need to have a pretty good evangelist to be able to convince people how well this can work. And that’s someone who read more than an article, or even a book about agile.
Without prior experience you just should not try to become agile by yourself, you either pay for experts (most companies won’t be willing to do that) or hire one. But there just aren’t many out there, I’d say, and even if you find one, they won’t want to work for a non-agile company.
All in all, agile is just another too often used buzzword without much meaning, similar to Cloud computing.
Well, its pretty simple really. Disable 3G. Now isn’t that sad? Its got the 3G in its name, but its broken by design.
Telecom New Zealand had an offer on last Thursday, for all fixed broadband customers. You could get a T-Stick including a prepaid SIM card for free, only thing you had to do is to pay 30 bucks to buy 500MB of traffic. I couldn’t resist, especially since I just got myself a Netbook a few weeks ago, perfect fit I’d say. 😉
Continue reading “Telecom’s T-Stick under Mandriva Linux”
I got one of those Toshiba Dynadock Docking Stations at work, and am quite impressed how easy it was to set it up. The only hard part is the DisplayLink graphics card, more to that later.
Continue reading “Dynadock / DisplayLink under Linux”
I’m using a Factory (pattern) to load objects based on configuration. Explaining the reasoning is beyond the scope of this post, the link to Wikipedia might help here.
Here’s some code how it was:
Continue reading “Singleton-aware Factory in PHP”
I found this very interesting article about “The Business of Free“, which shows how much money and time the big companies could save by supporting existing Open Source Software that offers functionality which is much needed by them.
Continue reading “Palm, Nokia, listen up!”