We must ship now and deal with consequences 113

Posted by Uncle Bob Thu, 15 Oct 2009 11:17:00 GMT

Martin Fowler has written a good blog about technical debt. He suggests that there are two axes of debt: deliberate and prudent. This creates four quadrants: deliberate-prudent, deliberate-imprudent, inadvertent-prudent, and inadvertent-imprudent. I agree with just about everything in his blog except for one particular caption…

TDD Triage 207

Posted by Uncle Bob Thu, 08 Oct 2009 14:52:41 GMT

With all controversy that has been generated buy my last two blogs (1, 2), I thought it would be wise to talk bout where TDD works and where it doesn’t

TDD Derangement Syndrome 235

Posted by Uncle Bob Wed, 07 Oct 2009 13:32:00 GMT

My recent blog about TDD, Design Patterns, Concurrency, and Sudoku seemed to draw the ire of a few vocal TDD detractors. Some of these people were rude, insulting, derisive, dismissive, and immature. Well, Halloween is not too far away.

In spite of their self-righteous snickering they did ask a few reasonable questions. To be fair I thought it would be appropriate for me to answer them.

Scala Bowling Kata - still in the middle I suppose 90

Posted by Brett Schuchert Wed, 07 Oct 2009 05:51:00 GMT

I had a 3.5 hour flight today. I realized I was missing some of the validation from the Ruby version related to how many rolls a valid game should allow:
  "One more roll on a game with 20 rolls and an open 10th frame" should {
    20 times { roll(1) }
    roll(1) must throwA[IllegalArgumentException]
  }

  "Two more rolls a game with 10 spares" should {
    10 times { spare }
    roll(1)
    roll(1) must throwA[IllegalArgumentException]
  }

  "Two marks in the 10th frame should" should {
    18 times { roll(1) }
    strike
    spare
    roll(1) must throwA[IllegalArgumentException]
  }

On my flight from DFW to SNA, I got these behaviors implemented. The code was pretty ugly!

Echoes from the Stone Age 295

Posted by Uncle Bob Tue, 06 Oct 2009 16:07:29 GMT

The echoes from Joel Spolsky’s Duct Tape blog continue to bounce off the blogosphere and twitterverse. Tim Bray and Peter Seibel have both written responses to Joel, me, and each other.

Here are some stray thoughts…

Scala Bowling Kata - somewhere in the middle... 47

Posted by Brett Schuchert Tue, 06 Oct 2009 04:33:00 GMT

I need to do some work with Scala to update our Concurrency in Java class. We want to demonstrate some other approaches to concurrency, e.g., Scala Actors (among others). I began by shaving yaks:
  • Installed the Eclipse Scala Plugin
  • Installed Scala using Mac Ports
  • Figured out how to get those things playing nice (the plugin page pretty much did that, but in a nutshell, add a few jar files to the classpath)
Next, I wanted to use some BDD tool. I’m going to try and stop using the term TDD simply because the T, which stands for Test in TDD, really means “desired behavior”. I considered calling it Trait Driven Development, but:
  • We don’t need YADT – Yet another damn term
  • Trait is a heavily overloaded word
  • I like the term BDD better and it fits.

Bowling Game Kata in Ruby 62

Posted by Brett Schuchert Thu, 01 Oct 2009 18:37:00 GMT

I have not really used Ruby much. I’ve written a few tutorials, messed around with RSpec and Test::Unit and even Rails a bit, but I really don’t know Ruby that well. I get Ruby (the MOP, instances, blocks, open classes, ...) but there’s a difference between understanding that stuff and using it day-to-day.

Last night we had a Dojo in Oklahoma City and I wanted to get refreshed with RSpec, so I decided to jump in and do the bowling game kata. I did not follow uncle bob’s lead exactly. For one, I went ahead and stored two throws for each frame. While what he ends up with is a bit shorter, it bothers me a little bit. I’ve also seen people surprised by how bob stores his scores, so in a sense it violates the law of least astonishment.

Notes from the OkC Dojo 2009-09-30 69

Posted by Brett Schuchert Thu, 01 Oct 2009 03:57:00 GMT

Tonight we had a small group of die-hard practitioners working with Ruby and RSpec. We intended to use the Randori style, but it was a small enough group that we were a bit more informal than that.

We tried the Shunting Yard Algorithm again and it worked out fairly well. The level of experience in Ruby was low to moderate (which is why we wanted to get people a chance to practice it) and the RSpec experience was generally low (again, great reason to give it a try).

Ruining your Test Automation Strategy. 156

Posted by Uncle Bob Tue, 29 Sep 2009 20:42:00 GMT

Everybody wants a test automation strategy nowadays. The reason is clear. It take a lot of effort to run a suite of manual tests; and that effort has be be repeated several times per year.

Consider the fate of this poor customer of mine. The picture you see here is simply the Table of Contents of his manual test plan. That plan has tens of thousands of individual manual tests. It costs them millions of dollars to execute, and they must execute it many times each year.

To make matters worse, in these difficult times, management has told the QA manager that he must cut 50% from his manual testing budget. The question he asked me was: “Which 40,000 of these 80,000 tests should I delete?”

So, as you can probably imagine, this poor guy really wished his tests were automated. Runnning automated tests does not cost six figures several times a year. Running automated tests does not need to be cut in half when budgets get tight. Running automated tests are the way to go.

One common strategy to get your tests automated is to outsource the problem. You hire some team of test writers to transform your manual tests into automated tests using some automation tool. These folks execute the manual test plan while setting up the automation tool to record their actions. Then the tool can simply play the actions back for each new release of the system; and make sure the screens don’t change.

Sounds great doesn’t it? Sounds like just the ticket! Sounds like a simple way to convert manual tests into automated tests!

Yeah, and it’s a sure fire way to make sure you utterly ruin your strategy for test automation!...

The Duct Tape Programmer 1242

Posted by Uncle Bob Thu, 24 Sep 2009 16:51:03 GMT

In Joel Spolsky’s recent blog he talks about “Duct Tape Programmers”. These “pretty boys” don’t use complex tools like C++, Templates, COM, Multiple Inheritance, etc. They don’t waste their time going to “goddamn Design Patterns meetups”. They don’t do all the fancy things that speakers at conferences talk about. They just ship product.

Surprisingly I agreed with almost everything he wrote. Almost…

Older posts: 1 ... 6 7 8 9 10 ... 38