tisdag 19 oktober 2010

Agile cyclist

Cyclists seem to be universally hated by motorists. A hate that is hardly in proportion to the inconvenience the cyclist occasionally causes.

Or is it perhaps envy? The cyclist can cruise past grid locked drivers, ignoring the normal rules of the road on a machine that costs a fraction of what the motorists paid for his vehicle. And has more fun too.

A bit like agile development really. Cheap, gets you there quickly and you have a lot more fun on the way.

söndag 19 september 2010

Stay loose

Loose coupling in complex systems is almost universally regarded as a good thing. So I've been surprised how often and how vigorously we have had to defend the system we're developing from other systems wanting to access our private parts.

Problems caused by tight coupling are not restricted to IT systems. Two recent incidents reminded me of just how important it is to think very carefully before introducing unnecessary coupling in any complex system.

A colleague, lets call him Pontus, was travelling to work in his new car when it came to an unexpected standstill. Now this particular model has a feature which reduces the engines effect as it starts running low on fuel. But Pontus hadn't run out of fuel; the petrol gauge had malfunctioned. Normally not a critical problem, unless the petrol gauge is coupled to the engine ...

This type of problem doesn't only affect cars; trains are also susceptible.

Last week I was travelling to work by train when it came to an unexpected standstill. A toilet malfunction was immediately suspected. Now a dodgy toilet would not normally be a critical problem, unless the flush uses the same vacuum system that powers the train's brakes ...

So beware of creating unnecessary coupling. You will regret it. Maybe not today, maybe not tomorrow, but soon and for the rest of your life.










onsdag 27 januari 2010

JFokus sound bites

Yesterday's journey to JFokus was fraught with difficulties (signal failure, accident, snow storm) but it was worth the journey.

Here are some sound bites I jotted down (freely translated where necessary):

That which is normal isn't always best (think royal family).

On certification: Outsourced competence judgement

On developing systems:
Everything we do, we do for the first time. Otherwise we're doing it wrongly and should be using existing components.
... which is why Gantt charts never work. You can't predict the unpredictable.

best practices proven practices

Certification again: sheep dip training

Scrumitis - done doesn't mean done done

white water rafting (doing scrum in a waterfall way)

come back when you're doing one week sprints (on scrum coaching)

On average all stories are average size. (track stories not hours)

Get good at stories (key to succeeding in scrum)

Write small stories - all stories should be size 1.

You get what you measure (dangers of focusing on metrics)

Let the architects work directly with the teams as consultants.

Hundreds of bug fixes (Maven 3)

Give positive feedback in a 5:1 ratio to negative feedback.

Create an environment for creating something new (on leadership)

Freedom leads to creativity.

Leadership cannot be separated from the situation. Nobody can be a great leader in all situations.

Information which has value is knowledge.