Robert Hanson's (mostly) tech log.

Do you really need to test that?

Saturday, May 16, 2009 by Robert Hanson. «Permalink»

We all know Kent Beck. The co-creator of JUnit, one of the founding fathers of the Agile Manifesto, author of several eXtreme Programming books, just to highlight a few. Now that Kent has spent a decade telling us all to test everything... now he says, it is ok to skip testing.

I'll let that sink in a bit.

What he is basically saying is that it is ok for the kids to play in the street, if they feel that it is safe. Of course Kent is a big kid, so he will use his experience to determine if it is ok for him to play in the street. But what about the kids that don't know better? You know who they are. They are the kids that climb the tree without thinking about how they are going to get down. They are the kids that lock themselves in the closet without thinking about how they are going to get out.

Kids will be kids. They will make poor decisions if you give them the chance. That is why there are parents. Our job is to make sure that they don't make stupid decisions. Or perhaps we let them make bad decisions to teach them a lesson, just as long as we can control the environment to ensure that nobody gets seriously hurt.

So now is the time to decide if you are a the parent or a the kid. And if you think that you are the parent, half of you are probably wrong. That is the nature of the child, to think they know everything.

One way to measure if you are the parent or the kid is to use the Dreyfus Model of Skill Acquisition. If you follow Andy Hunt, you may have seen him speak and write about this. The model is basically a set of five stages that you progress through from novice to master. It helps explain why novices need lots of rules, and why experts don't think they apply to them.

On the Dreyful Model I often rank myself at a 4 1/2, depending on the subject matter of course. It can be an interesting exercise to rank yourself on the scale, then let your friends rank you to see if you meet your expectations of greatness. Likely you won't, but that is ok, it is in our nature to be overly self-confident.

Now back to testing. Is it really ok to skip testing? Kent thinks so, but I wonder if the followers of the TDD "faith" think the same. In many shops there is no ambiguity, there are only absolutes. You must test they say, but do you? Kent Beck thinks it is a judgment call.

Now I don't have the right answer other than there is no black and white, instead it is all gray. You should acknowledge that, and not immediately attack someone who says that they didn't write a test. Instead ask them their reasoning. Perhaps it is a good reason, perhaps not, but don't come to conclusions.

Labels: , , , ,

0 comments. Links to this post.

Software Craftsmanship

Wednesday, May 13, 2009 by Robert Hanson. «Permalink»

It has been a while since I sat down to write something, but that is because I have been caught up in learning. In March I presented at ETE in Philadelphia, and during my stay there I met a programming hippy Corey Haines. Corey was just like all of us, writing code for his day job, and like some of us enjoyed it. In December he lost his job, and with some money in the bank and a lot of free time decided to invest in himself. He began what became to be an adventure in pair programming, He now spends his days travelling the country, pair programming with anyone that will give him a place to stay and some code to work on. His journey is inspiring.

Now, this isn't a story about Corey, it is about software. In particular it is about good software. Corey, like many of us cares about the quality of his code. In his case he cares so much that he decided to pair with perfect strangers in order to increase his knowledge. While many of us can't afford to travel the country like Corey, or just find staying with strangers frightening, we find other ways to increase our knowledge.

So this is a story about writing good software. It is about craftsmanship. In December a manifesto was drafted. It was drafted by professional programmers that felt the Agile Manifesto didn't go far enough. They stated that working software was good, but well crafted software was better. That responding to change, while a virtue, isn't as good as steadily adding value. Out of this congress came the Software Craftsmanship Manifesto. It is a declaration of professionalism and quality, and I have put my name to it, along with thousands of others.

So what? So some coders put together a web page, called it a manifesto, and a bunch of other coders bought into it. I think it is more than that. I think our craft is changing, for the better. The best I have seen it described is in a presentation by Uncle Bob Martin. I recommend that you take a look, it is well worth the 60 minutes spend watching the video.

References:
http://www.infoq.com/presentations/craftmanship-ethics
http://www.infoq.com/news/2009/03/software_craftsmanship
http://manifesto.softwarecraftsmanship.org/
http://www.phillyemergingtech.com/
http://agilemanifesto.org/
http://www.coreyhaines.com/
http://en.wikipedia.org/wiki/Pair_programming

Labels: , , , ,

0 comments. Links to this post.

Introduction to GWT for Developers

Saturday, March 28, 2009 by Robert Hanson. «Permalink»

Yesterday I presented a session on GWT at ETE 2009. Both the slides and demonstration files for the GWT presentation are available for download.

Labels: ,

0 comments. Links to this post.

ETE 2009 - Twittering Reflections

«Permalink»

I just got back from ETE 2009 in Philadelphia, and it was really a great conference. Andy Hunt the Pragmatic Programmer was one of the keynote speakers, as was the CTO behind the Obama on-line presence for the campaign.

I learned a lot, but something that really stood out wasn't what was in the presentations, it was what was going on between the audience. It was Twitter.

I have heard about people using Twitter at SXSW for meet-ups, or at large conferences to talk about the speaker while they were speaking, but I had not personally seen it before.

Frankly it was amazing, and I think part of that was that the organizers specifically suggested using the tag #phillyete in all of their posts. Prior to the conference there were a couple posts, but nothing worth mentioning. On the first day of the conference it all exploded.

I was reading about people stuck in traffic, getting on the plane, and otherwise in transit to the conference. I heard about spontaneous attendee created meet-ups, and who met who. I even read about who lost at the Guitar Hero competition (me).

During the talks if you watched Twitter you could see what people were saying about the speaker. Usually it was good stuff, but a few times you could see that the session wasn't what they thought it would be.

Even though the conference is over I still see chatter. Seems there is an after-conference meet-up tonight. Maybe I can make it.

Labels: ,

0 comments. Links to this post.

My Philosophy

Tuesday, February 17, 2009 by Robert Hanson. «Permalink»

Every once in a while some tiny little event crosses your life's path and it becomes a keystone in your being. For me one such event was in the late 1990's when I was working as a web developer at a computer manufacturer.

I recall talking with Phil from the marketing team. He was explaining some idea he had for the company website, probably related to a new customer tool. As usual I listened, made some suggestions, and told him that given some time we could definitely do that. Then he responded...

I like working with you. You never tell me that you can't do something.


That was it! It changed how I deal with development request in a profound way.

I will never say that I can't build something. I might suggest that it isn't worth the effort involved, or there are technical hurdles that I don't have immediate answers to, but I will never say that it can't be done.

In the course of my work I am often involved in discussions of product development. Inevitably someone will eventually say, "we can't do that". These words sound off bells and whistles in my head! I can't help but respond with the words, "why not?"

I think sometimes people like to stick with what they know, which is always the easy way out. But I am not wired that way. By firmly believing that anything can be done I feel empowered and unstoppable. I know that I don't have all of the answers but I can always learn what I don't know.

Labels: ,

0 comments. Links to this post.

Increasing Internet speeds for innovation, education, and the economy

Wednesday, January 14, 2009 by Robert Hanson. «Permalink»

Please Vote: Change.gov has a new feature called Citizen's Briefing Book, where I posted this article. If you agree with what I have to say here, I ask you to please vote for Increasing Internet speeds for innovation, education, and the economy.


As a nation we suffer from relatively slow Internet connection speeds. By every account that I have heard, we are 15th world-wide and slipping fast. This fact is noted in a briefing from the Indiana Department of Education [1], showing the average connection speed in Japan is nearly 30 times the US average, where France enjoys more than seven times our average connection speed, and even our neighbor Canada has an average that is three times that in the US. This affects every citizen of the US in several ways.

First, it impacts our ability to innovate, and as our manufacturing moves overseas it is extremely important that we retain our innovation. Increased innovation results in increased exports of technology and also provides us with new products that will make our lives better.

Second, it affects our ability to teach our children. Every child should have fast access to the Internet to allow them to view resources far beyond the bounds of their public library. Instead of relying on microfiche newspapers like I did, I want my children to be able to see history happening in video form and read the accounts of those that actually lived through it.

Last, this affects how we view our media. With high speed Internet access we will see the rise of on-demand Television, allowing consumers to watch what they want when they want. This change in consumption technology will lower the cost of production, driving the arts and allowing niche content to be made available.

I humbly request that the Obama Whitehouse push for increased carrier competition, to fund investment in new communication technologies, and to help ensure that every American has fast connectivity to the Internet.

[1] http://change.gov/page/-/open%20government/yourseatatthetable/20081217_incon.pdf

Labels: , , ,

0 comments. Links to this post.

Free book Contagious hits NY Times Best Seller List

Saturday, January 10, 2009 by Robert Hanson. «Permalink»

I have been listening to Scott Sigler's stories on his podcast for a few years now, and religiously bought his books when the finally came out in print. Yes... he provides the book for FREE as both a podcast and PDF, typically before it comes out in print.

On December 30th Scott's book Contagious was released in print, and Contagious hit the New York Times Best Seller list in its first week. Scott was the first author to provide his novels as a free serialized podcast, and is now the first author who is giving his content away for free to make the New York Times Best Seller List.

Congrats Scott, and as a long time JunkieTM I still shake when I don't get my weekly fix.

For anyone not already a Sigler junkie, visit hit site for a free hit. And if you want a recommendation, check out Infected, the prequel to Contagious. And if you like it try another, and another... then buy a book or two to help him pay the bills. As a junkie the payoff is the more books he sells, the more free content he can deliver. And I need more... please Scott... just one more hit? please...

2 comments. Links to this post.