Sam Gentile packed the house at ADNUG and preached the good news of Extreme Programming – level 200
Sam has already posted about it here, but I’ll continue.
Yesterday’s Austin .Net User Group meeting was a big success. We had 80 people, our largest crowd in a long time. Miguel Castro was pretty close with 75, but for the past several months we’ve had over 5 first-time guests, so people are spreading the word about the group. I try to keep the group focused on software concepts that are core to building sustainable software that can add value to the business now and for years to come. If you believe in “voting with your feet”, then these topics are getting a lot of votes.
Sam answered a question about what skills were needed in a developer, and he made a great point: A good software developer is one who can create software that’s easy to change. Not someone who’s an expert in SQL server, Indigo, ASP.NET, etc because those technologies will be the next legacy systems. A good developer hops from technology to technology but always keeps the software easy to change – after all, that’s the only constant.
We normally go until 7:30pm, but yesterday we went to 8:05 (Sam could have talked until midnight, but I had to cut him off), and 75% of the folks stayed to the very end (60 out of 80). It was obvious that everyone was very interested in what was being said.
We went to Rudy’s BBQ afterward and continued the discourse. 12 folks stayed until 10:30pm talking about TDD, iterations, FIT, estimating, how to handle a developer that’s not pulling his weight, etc. Great talk!
Sam was amazed that it was 80 degrees in the middle of the day and 70 degrees late at night. He’s used to it being bitterly cold. For us, that’s just what it’s like in Texas – of course we deal with 100+ in the summer also, and it only snows once a decade.
I asked similar question in another your post: did Sam discussed nmock or simialr tools? Is nmock a necessary tool? Are there tools for UI unit testing? Do TDD practice typically do UI unit testing, or, even anything is “close” to UI? To be frank, if any answer is “yes”, I will never mention TDD again, and I will do my best to see it fails — no saying that I have any power in reality, but I am really pissed off by those nmock-playing kids; they are ruining TDD’s reputation; and somebody like me have to suffer the consequence — i.e., withdrawing using the name of TDD.
Sam did not discuss mock objects in his talk.
I do think NMock (or some mock framework) is a necessary tool for unit testing, but it’s possible to using only concrete mocks, fakes, and stubs if you prefer. I prefer mock objects for interaction-based testing.
UI unit testing might be an oxymoron if you mean GUI testing. There are UI recorders that could be used, though. Testing the UI will have some sort of integration, I think.
TDD uses unit tests to drive the creation of code. If code can be unit tested, then it can be test-driven. I don’t know of a way to unit test GUI code.