June 19, 2009

Kent Beck says "No Tests?"

Okay, well more like:

Kent Beck Suggests Skipping Testing for Very Short Term Projects

As discussed by Mark Levison here.

It's like many things in software — a judgement call.

I agree wholeheartedly with Kent.

If you are in a highly exploratory phase... just trying out a few ideas to see what might work before committing to an approach, why bother with TDD?

Now, if you are lousy at design and doing exploratory work, and you prefer TDD — then use it! Use your best judgement to make that decision based on your current situation.

Caveat Emptor: I am not an expert in TDD, nor have I done it more than a handful of times.

Aside #1
I have always wondered this... as it seems to be a built-in assumption on the part of TDD advocacy. Does TDD necessarily lead to good design? Philosophically, I don't see how it can be an immutable assertion.

Aside #2
In 2001, when we were in Snowbird for the Agile Manifesto gathering, I remember doing an example of TDD with Bob Martin. After we did a simple example in Java, I turned to another technique to "write" the tests and code. In Together, we had built a feature that allowed sequence diagrams to generate code. Writing tests as a sequence diagram was fun... create test classes, invoke application objects, create the classes for those objects, create methods, add code, execute the tests. Rinse and repeat.

Aside #3
Typically I design by starting with objects... I don't need tests to tell me the core aspects of the system — but that is my personal choice. Features typically indicate core methods that are needed. When we need to flesh out nitty-gritty logic and what not, then I will turn to sequence diagrams -- which could be done with TDD.

Aside #4
I can see where TDD would really help to benefit in ensuring folks stop coding just as soon as the test passes — assuming of course that the test is at the proper "correctness" level.

Summary
For me, I chose to be pragmatic, NOT dogmatic. I chose to use my brain to do what makes the most sense in every circumstance, not a blind allegiance to a process for process' sake. If barging forward and doing "design and coding" works best for you and your team to flesh out ideas, go for it. Just be sure to go back in and "do the right things" once you commit to an approach that is going to stay in the code base.

Posted by jon at 10:35 AM

June 09, 2009

Bravo Kent Beck!

In a very soul-searching way, Kent Beck reveals some frustrations here: Cracking



My response:
IMHO, you are doing the right thing, and your questioning of “reality” is very apropos. To be enslaved by perpetuating the fake reality of Giganto Corp not paying you for your value, yet — to your point — spend a gazillion man-hours, is irrational.

As I read of the offer to broadcast it out to the many… my first reaction was to think “Oh my… that will cause a lot more work on Kent’s part.”

You are an incredibly gifted and giving individual. Make no mistake. And yes, giving of your own volition is virtuous and is always a good thing. Giving at the behest of others is not. You get to choose to whom and when and what you donate — not Giganto Corp (or the Govt). It *is* that simple.

Too much of what is going on all around us today is precisely that sort of thing. Irrational. Not to get off on a tangent, but as an illustration: Were it possible, I am sure the US Congress would tax the air we breath and would pass a law to lessen the magnitude of the gravity to save weight. We have been waging a war on poverty for 40 years with untold billions spent, yet no appreciable difference met. Cynically I consider it an enslaved voting block given just enough to keep them in shackles with no hope of escape. A sin against humanity, IMHO. But I digress…

For too long, too many remain silent when faced with obvious irrational behavior, decisions, and commentary. But not you!

Maybe you just reached a breaking point… maybe this was the final straw. Something that had been gnawing away at your subconscious finally crystallized. The veil of deception was lowered long enough for you to glimpse the ugly reality for what it was. Then it hit you with full fury. You probably could barely believe the manner in which Giganto Corp behaved — they may have even been smug about it.

I say “Bravo Kent!”

Swing from the trees. Let go. Another branch will appear. You will not fall. Your exercising the greatest gift of all — using your mind!

Thanks for sharing such deep feelings. There is much love for you out here in the wilderness.

Posted by jon at 09:52 PM