Strangely, when talking with other developers I often end up talking about testing. What to test, how, when, why, which, who ? What is even more surprising is how many are doing TDD. Or say they are… Same goes for eXtreme Programming and Scrum, everybody is “doing it”!
But when you start digging, the true methodology arise. Sometimes people are true TDD believers, but most of the time it’s only because they’re ashamed not be methdology-buzzword-compliant. “Still doing Waterfall ? You’re so 1980 !”
I’m not saying not doing TDD and XP is bad, sometimes Waterfall can be the way to go! As Kent Beck (creator of XP, or maybe Ron Jefferies said this, I can’t find the source) said:
There are 3 levels at mastering XP:
- You do XP by the book
- You adapt XP to your own needs
- You don’t even care if you’re doing XP anymore
Knowing what’s your true methodology is a great step in being more productive. Because you don’t have to hide the fact that you’re not doing something you’re not, you just don’t care. If knowing where you’re going improves your chances to get there, knowing how you’re going there must be of great help too! And a methodology doesn’t even have to have a name. Brainstorming on the Monday, prototyping ’till Wednesday and releasing on Friday could be your winning methodology even though you just figured it on your own. The point is, don’t live with broken windows pretending you’re doing something you’re not!
So that’s why I’m giving you 5 ways to know your development methodology is bullshit and you should stop pretending your doing it and either fix it or focus on doing the real thing.
What do you do under pressure ?
The last time you had 31 features to implement by tomorrow, did you wrote any test cases ? Did you do peer review or pair programming, wrote any specs ? Under pressure you’ll only do what you truly beleive in.
I don’t beleive in manual testing, that’s why I write automated tests, all the time, on each project I do, even on interviews.
What do you do on your personal projects ?
When you’re alone, no one is checking you or your code, what do you do ? Do you write tests ? respect MVC ? Go back and open a small project you’ve done recently that you haven’t published. Now that’s what you truly believe in! Ugly ? Time for a change!
Can you talk someone into doing it ?
If you can’t talk someone tinoon doing things the way you are, it might be because you feel it’s not the best way. You should think a bit more about it and how to make it more efficient. Try convincing someone to use Windows ME.
How do you fix bugs ?
We hate bugs! It’s so much easier to hack our way on the live version, unnoticed and fast. When fixing a nasty, show stopper bug you’re under tremendous pressure. So what you do then is the real thing!
To have valuable test cases you have to make sure they fail too. That’s why writing them first is so important. So pretending you’re hooked on testing when you don’t even respect this root principle is bullshit!
Does it feel right ?
The right way of doing things should feel like the right way! To you and to all the team.
Now that we all know our true methodology, does it:
- prevent regression ?
- ensure consistent design ?
- provide great performance ?
- facilitate communication ?
- ensure knowledge is not duplicated ?
- ensure you’re having fun ?
What’s your true methdology ?