Scotland on Rails Conference - Spring 2008
The first Scottish Rails conference will take place in Edinburgh during Spring 2008. Sign up here to stay informed.
I am Paul Wilson; Mere Complexities Limited, sells my consulting, coaching, and coding services. I am passionate about Agile, particularly Test Driven Development.
The first Scottish Rails conference will take place in Edinburgh during Spring 2008. Sign up here to stay informed.
Jenny: Oh, I always thought Agile was just another term for Extreme Programming.
Me: Well, no. Well, yes. Well.... mmm Snowbird.... Scrum.... err. Well, really yes. Err... yes it is.
My Agile Scotland compadre, Clarke Ching, has started broadcasting chapters from his soon-to-be-published business novel Rolling Rocks Downhill. Catch the podcasts now, while they're still hot: here's the link.
I've just searched for the TDD prime directive, and found this great Uncle Bob powerpoint on trying to be Agile in difficult circumstances.
You only need to test the stuff that you want to work. Kent Beck.
So do you need to test this?
public String getNonsense()
{
return nonsense;
}
The TDD Prime Directive is every new piece of production code must be written against a failing test. So if you need it, you first need to write a failing test that demonstrates why you need it. If you don’t need it, don’t write it.
If the code needs a trivial test, write it. If you skip writing a test for a good reason, then you’ll end up skipping one for a bad reason. When others see you skipping a test, then you are sending a message that it’s okay to make that kind of call: you’re lowering the ethos of the whole team.
On the other hand many trivial tests are a code smell. It can indicate that you’re testing at the wrong level. Rather than testing a getter, this might be the test you need:
clownDataStub.add(clown(23).withNonsense("wibble").withShoes("large"));
Clown clown = clownRepository.getClown(23);
assertEquals("wibble", clown.getNonsense());
assertEquals("large", clown.getShoes());
Q: That code's really trivial. Is it worth testing?
A: Yes.
Q: We're really pressed for time. How about we bash the code in and write the tests later?
A: No.
Beauty is truth, truth beauty, - that is all ye know on earth, and all ye need to know. James Shore
(PS: Answer: about 10 bob a week)
The next Agile Scotland event, will be given by leading Neuro-linguistic Programming trainer and coach Michael Spence.
The first item of the Agile Manifesto is that we value "individuals and interactions over processes and tools"; the problem is that interactions between individuals often involves miscommunication, conflict, and power politics. Sometimes it can be too much for us poor geeks.
NLP was developed from a blend of hypnotherapy, family therapy, and psychotherapy. It models the way we experience and interact with the world. Amongst other things, NLP's models and techniques can help with
We start at 19:30 at the Sinclair Knight Merz offices at 160 Dundee Street, Edinburgh, EH11 1DQ. Walking directions from Haymarket Station are here.
"Michael is a long established Certified NLP Trainer, Master Practitioner, Coach and Change Specialist. He provides Certified NLP Training, Open Courses, Workshops, Seminars and one - one to people and organisations from all sectors. With individual care, honesty, integrity, respect and attention, and high quality at an affordable price he inspires all to evolve and achieve the results they desire."
A Type II error (bureaucracy) is when you follow the process, produce a bad outcome, and the process is changed by the addition of an exception that only addresses repetitions of that exact same mistake. Laurent
That’s a brilliantly clear description of how bureaucracies evolve by well intentioned attempts to avoid repeating any mistake: neurotic organisational learning.
Over the past few years I do seem to have converted a few people and projects to Extreme Programming, or at least TDD. I’ve no idea what this says about me, but they seem to really get the religion just as I’m leaving. From a recent colleague and new TDD evangelist:
If I had a blog I would post something about how the ability to write a good test isn’t something you achieve like a cycling proficiency badge, it’s something you’re constantly learning and a subtle skill with many dimensions that needs constant refining. You can probably tell that today I’ve had to revisit a test I wrote a few weeks ago :). Ian Esling.