5 Ways to know your methodology is bullshit

XP practicesStrangely, 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:

  1. You do XP by the book
  2. You adapt XP to your own needs
  3. You don’t even care if you’re doing XP anymore

Broken windowsKnowing 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 ?

20 Comments

Filed under Misc

20 responses to “5 Ways to know your methodology is bullshit

  1. The first part of your post is interesting and I agree with it, but I find the real gem in the 5 points you have there.

    Personally, I am a sole developer both at work and at home. As a result I don’t have anyone to converse with in meatspace, only over the net so this puts a couple of speedbumps in the way. I learn these things, but I feel it takes me longer then it would if I was working with someone that knew it off hand.

    It took me about 6 months full swing, but I’m pretty much up to par now with all the bullet points you mentioned there. I really can’t express how much this post would have helped me 6-7 months ago. It would have definately got me thinking differently in the beginning.

    One of the most useful tools I thought I used was watching open source projects progress. Namely NHibernate and The Castle Project. Those are two projects that have a very good flow and I think have really good methodologies. After watching The Castle Project for awhile, and digging through some of their tests, I started to gain a new perspective on TDD which gave me a good leap forward.

    I also found taking breathers every now and then was more helpful than I would have thought. The brain can take in alot at once, but it usually doesn’t like to, or maybe I’m just getting old =) cheers!

    Sean

  2. Hi Sean,

    I too learned most of what I know about methodologies and good practices by following open source projects, Castle was one, Rails and Trac. Reading books is good but there’s nothing like seeing the real thing in action. And when you know the project is a success, you don’t need to be convinced, you’ve got proofs!

    You’re right, sometimes you need a break, but we should never leave things broken! Living with broken windows is getting into the it-has-always-been-this-way mindset!

    Thanks for the comment Sean, I’m really glad you find it useful!

  3. Pingback: 3 ways to improve your bullshit methodology « James on Software

  4. Great post dude!
    Do you think that writing the tests before anything else is always the right way?. I mean, there are some cases in which you even don’t know how the thing is gonna work, you are just hacking to discover how far the technology let you go or implementing some quick feature that is a kind of test itself. For those cases you don’t have any idea on how is the API (or the methods signatures) gonna be… how can you write test first then?

  5. Good point Carlos,

    Most of the time (all the time?) we don’t have any idea of how it’s gonna work and what the method signature will be. So it is as hard to start coding the method as it is to code the test.

    The thing is, from what point of view should you start designing your API ? Like the UI it should be from the point of view of the user! Now unit test are the first users of the API. That’s why you should design an API by thinking how it’s used ratter then how it works.

    I hope this makes sense to you Carlos. Thanks for sharing your thoughts!

  6. Pingback: The Tech Blog Carnival- August 8th Edition | Odds and Ends of Contemporary Life

  7. Pingback: learn french in quebec

  8. Get reliable bug tested casino script and software for your Online Casino at casinowebscripts.com. Find best deals and lowest prices for online gambling scripts and software here!!

  9. What’s up, after reading this amazing piece of writing i am as well cheerful to share my knowledge here with friends.

  10. This website certainly has all the info I needed concerning this subject and didn’t know who to ask.

  11. After looking at a few of the articles on your web site, I truly appreciate
    your way of blogging. I saved it to my bookmark website
    list and will be checking back soon. Please check out
    my web site as well and tell me what you think.

  12. You could definitely see your expertise within the article you write.
    The arena hopes for even more passionate writers such as you who aren’t afraid to say how they believe. Always go after your heart.

  13. Wow! At last I got a weblog from where I can truly take valuable data concerning my study and knowledge.

  14. If some one wants to be updated with most up-to-date technologies
    after that he must be visit this web site and be up to date all the time.

  15. Yesterday, while I was at work, my cousin stole my apple ipad and tested to see if it
    can survive a 30 foot drop, just so she can be a youtube sensation.
    My iPad is now broken and she has 83 views. I know this is entirely off topic but I had to share it with someone!

  16. Hello, I think your website might be having browser compatibility
    issues. When I look at your website in Firefox, it looks fine but when opening in Internet Explorer, it has some overlapping.
    I just wanted to give you a quick heads up! Other then that, excellent blog!

  17. Good info. Lucky me I recently found your site by accident (stumbleupon).
    I have saved aas a favorite for later!

  18. I needed to thank you for this fantastic read!! I absolutely enjoyed every bit of it.
    I’ve got you book-marked to check out new
    stuff you post…

  19. Do you have a spam issue on this website; I also am a blogger,
    and I was wondering your situation; we have developed some
    nice procedures and we are looking to trade strategies with others, please shoot me an email if interested.

  20. When someone writes an piece of writing he/she maintains
    the plan oof a user iin his/her brain that hhow a usxer caan know it.
    Therefore that’s why this post is perfect.
    Thanks!

Leave a comment