Mar 13, 2009  –  April: Minneapolis: Build Engineer Bootcamp & CITCON

On this blog when we talk about developer testing we have an ongoing assumption that you're going to use continuous integration in both senses of the phrase: you're going to check-in frequently and you're going to have an automated system like CruiseControl running your tests.

But, perhaps surprisingly, many teams have as much trouble getting the automated system up and running as they do in writing the tests in the first place. The problem is their build. They have a system that is sufficient for assembling their software but that isn't ready for the demands of an agile team, demands like continuous integration, unit tests, functional testing, software metrics, etc.

If you have this problem then you should take a look at the Build Engineer Bootcamp that we have scheduled for Minneapolis in April to coordinate with CITCON, the Continuous Integration and Testing Conference. These two events should pair very nicely: attend the bootcamp to learn the basics, then attend CITCON to delve into the state of the art.

Hope to see you there!

Feb 17, 2009  –  Cross-browser testing with SafariWatir and FireWatir

I've written up my account of how I spent my time at Elisabeth Hendrickson's Open Source Test Automation Tool Love In. My goal was to have a single script using Watir to drive both Safari and Firefox. With a bit more work I'd like to have the same script driving Celerity. I like the idea of a continuous integration setup where the Celerity tests run first for fast feedback and then the tests run in the browser to ensure compatibility.

Nov 21, 2008  –  CruiseControl 2.8 Released

2.8 is now available for download.

Along with a number of bug fixes and enhancements (release notes) there have been a number of significant below the surface changes that should be invisible out of the box but will be a GoodThing:

  • Java 5 required to run: this allows us to update the code to more modern Java and to take advantage of the libraries that are part of Java 5 but not Java 1.5. (Of course you can still compile your projects with JDK 1.4.)
  • Upgraded Jetty: along with the upgrade we are also exposing the Jetty configuration files to allow more extensions to the default behavior.
  • Updated to Servlet API 2.5 and JSP API 2.1
  • Specify Log4j config file: there is now a command-line switch (-log4jconfig) to specify the Log4j configuration file. Importantly, this can be either in the .properties format or the .xml format. The .xml format is more verbose (no surprise) but also allows more configuration options. From the Log4j tutorial:
"The properties file does not support some advanced configuration options like Filters, custom ErrorHandlers and a special type of appenders, i.e. AsyncAppender. ErrorHandlers defines how errors in log4j itself are handled, for example badly configured appenders. Filters are more interesting. From the available filters, I think that the level range filter is really missing for property files."

In addition to these change there quite a few little hygiene cleanups that made me happy.

Sep 18, 2008  –  Final days to register for CITCON Amsterdam

CITCON Amsterdam is October 3rd & 4th and the final day to register is tomorrow, September 19th. We currently have 124 people registered from across Europe, ready to talk all about Continuous Integration, Testing and related topics. Hope to see you there!

Sep 15, 2008  –  Mundane excellence in software, intensive care, and bombing missions

In this blog entry I talk about how simple changes can produce dramatically different results. Developer testing is one of the practices, one of those little things, that add up to excellence:

"… there is no secret; there is only the doing of all those little things, each one done correctly, time and again, until excellence in every detail becomes a firmly ingrained habit, an ordinary part of one’s everyday life."

Read more.

Jul 12, 2008  –  New Blog:

I've enjoyed my time blogging here at Developer Testing, but I've started a new blog with a slightly broader scope. My Thought Nursery will no doubt deal quite a bit with similar issues issues — developers, testing, continuous integration and the like — but is also likely to get into other areas of interest and particularly ideas under development. Hope to see you there!

Apr  9, 2008  –  CruiseControl 2.7.2 Released

CruiseControl 2.7.2 is available for download.

Lots of bug fixes, lots of changes to the Dashboard.

New plugins:

See detailed release notes here.

Mar 12, 2008  –  Register for CITCON Denver

CITCON Denver is just around the corner, April 4th and 5th. This the 3rd annual CITCON North America event, the previous years having been in Chicago (2006) and Dallas (2007). CITCON events have also been held in London (2006), Sydney (2007) and Brussels (2007).

For those who haven't heard about it CITCON is the Continuous Integration and Testing CONference, an open spaces (or "unconference") event that attracts an energetic and enthusiastic crowd of CIT practitioners from around the US, Europe and Asia. If you've never been to an open spaces event you can think of it as the best part of a normal conference -- the hallway conversation -- dialed up to 11!

You can read about past CITCONs on the wiki and then register today. But hurry, there are already 120 people registered and only 30 more registrations will be accepted!

If you can't make it to Denver then you might want to plan ahead by registering now for CITCON Melbourne in June or CITCON Amsterdam in October. Or maybe even all three!

Mar  3, 2008  –  Webinar: Making the Business Case for Continuous Integration and Testing This week on Wednesday March 5th I'll be giving a webinar on Making the Business Case for Continuous Integration and Testing. This webinar is a bit different than previous ones I've given on CIT. I wanted to address this topic because I've talked to a number of people at places like CITCON who believed that CIT was the right thing to be doing but they were inexplicably (to them) unable to convince others that continuous integration and the automated testing that goes with it were something worth investing in. So to try and help people I've put together what I see as the most compelling information and also some advice on how to tailor your case based on specific situation in your company. Following the slide portion of the webinar I'm going to answer questions from the audience. In addition to questions about the slides I'm also interested in hearing from people who've encountered obstacles in adopting CIT and I'll try and provide specific suggestions for getting around the problems. If you're interested in this material you can register for this webinar today.
Jan 28, 2008  –  Survey on Business Benefits of Unit Testing

Artur Hildebrandt is a MBA student at the University of Liverpool and currently running a survey on the business benefits and risks of unit testing. His goal is to identify and measure benefits software development organizations can gain by actively practicing unit testing. I think it would be great to have more information available to persuade management on the benefits of unit testing so I'm happy to promote his survey. If you'd like to take part his questionnaire available at online.

Jan 27, 2008  –  Continuous Integration at JaSST'08 Tokyo

I'm sitting here in SFO waiting for my flight to Tokyo. I'll be speaking this week at JaSST, the Japanese Symposium on Software Testing. This will be a bit different from my normal talks on CI because I'll be focusing on the benefits of CI for testing groups rather than my normal focus on developers. And there will be translation into Japanese which makes for a very different presentation experience. But I'm very excited about giving this talk because Continuous Integration is less well known in Japan than in Europe, Australia or the US, so it will be fun to be bringing the message to a new audience.

Oct 25, 2007  –  Visualizing Complexity and Coverage

At CITCON Europe in Brussels last week one of the sessions I enjoyed was on CRAP4J and other metrics for bad code. (I've put my notes up on the CITCON wiki.) Today Kevin reminded me that Clover has a similar metric for identifying risky code, a tag cloud that uses complexity to size the tag and the coverage level to color it. They have posted a sample using Lucene here. This is a pretty neat looking approach... but honestly? I don't really like it.

  more »
Oct 18, 2007  –  CITCON Europe 2007 Starts Today

CITCON Europe 2007 starts today in Brussels, Belgium. We're in a nice central location, very close the Brussels North train station. As an open space event everyone has the opportunity to propose a topic for discussion. The one I'm most interested in is talking about Crap4J and other ideas for metrics to spot bad code.

Oct  5, 2007  –  What Jar? NoClassDefFoundError

My normal response to a NoClassDefFoundError is to ask google. This generally gives me a thread I can follow and eventually solve the problem, but it isn't very efficient. It looks like a better solution would be the What Jar? website... if only there were more jars in the index.

Have some extra time on your hands? How about uploading a bunch of the jars to save me some time in the future? :)

 –  106 Books Meme

Kevin says all the cool kids are doing it...

  more »
Oct  2, 2007  –  No Software Heuristic for Implementability and Testability

Alberto blogged today about our free tool Crap4J. You might think that the last thing software development needs is another metric, but our goal here was a bit different. We were looking for a metric that would be simple and actionable like the cholesterol index: if you know your cholesterol score is over 200 you know you need to do something, it is a call to action. By the same token, you can't say that just because your score is under 200 that you're healthy. The cholesterol isn't a perfect indicator of health, and yet it is still useful.

Did we succeed in our goal? Check it out and let us know...

(And thanks to the writeup on The Server Side for my title.)

Sep 25, 2007  –  Coverage for Nothing

Kevin pushed a new version of JUnit Factory yesterday. The coolest new feature is that you can now execute your hand-written tests remotely on our server and get a coverage report out of it, such as this dashboard report for CruiseControl.

To make this work safely for us we run the tests under a security manager and restrict what the tests can do, so some tests will fail. But if your tests are clean according to Michael Feathers' Set of Unit Testing Rules you'll be just fine.

Sep  6, 2007  –  Dream Quote


I have just generated unit tests for some code that would have taken months or years to do manually and I did it in under 30 minutes including registering on your server and waiting for the reply email.

That is truly awesome!"

Getting this kind of feedback is the fun part about having free (as in beer) software up on the web where anyone can try it out. In this case Nick had a great experience with JUnitFactory and let us know with a post to our forum.

Aug 13, 2007  –  At Agile2007

As Kevin posted on the Agitar Developer News page, three of us will be at Agile 2007 this week. Bob is offering his tutorial "To Catch A Bug, Think Like a Bug" and I'll be leading a discovery session with Alistair Cockburn on "Creating Change One 'Tic-Tac' at a Time". The rest of the time you'll find me at the Agitar booth, so if you'd like to talk unit testing, continuous integration, or just hang out, stop on by and say hi.

Jul 28, 2007  –  Twitter as a Replacement for Beer

Julio doesn't like my blog -- it's too impersonal, not enough of me here for a friend. He's right of course, but I think Rands might have given me a solution in Twitter.

The problem is the tyranny of the pending entry. I typically have a queue of dev/testing/ci topics I want to blog and I find it hard to let more personal items jump the queue. In theory I could ignore that I still haven't shared the advice in On Writing Well that sounds like refactoring and dash off a note that Leanne has started he own softgoods workroom... but only in theory. My mind just doesn't seem to work like that.

Today though I read Rands description of Twitter as a yard sale for casual information and was interested. Then I read "I'd prefer to be drinking with y'all, but I'll take what I can get" and knew I had to sign-up.

If you're thinking it's been too long since we've had a beer together maybe you should sign up too?

Jul 24, 2007  –  InfoWorld Review and Open Source Example InfoWorld has just published a review of AgitarOne version 4.1.1 where we received a rating of 8.1 or "Very Good". The reviewer spent plenty of time getting his hands dirty and came up with an evaluation we're proud of:
"…AgitarOne is an easy-to-use workgroup product that greatly facilitates the use of unit tests and helps sites get as much benefit as possible from this activity. The result is shorter QA and debugging cycles and much better predictability of the software process. For many sites with large, important Java projects, this solution is attractive and compelling. All such sites are likely to derive value that far exceeds the cost."
  more »
Jul 10, 2007  –  CITCON Sydney Registration At 100!

I'm very excited that with two weeks remaining before the conference we've reached the 100 mark for registrations for CITCON Sydney. This is our fourth CITCON event but our first in Australia, so it is great to see so many people registered. We'll take up to 150 so if you're interested in attending, it's not too late to register. The conference will be July 27th and 28th, Friday night and then all day Saturday.

Btw, if you're not familiar with the Open Space conference format you might want to read this description. If you're still not sure if this format or event is for you, you might want to see what people have posted about past CITCONs on the web, or read the feedback from Dallas earlier this year.

Jun 22, 2007  –  CruiseControl 2.7 Released

The recent 2.7 release of CruiseControl sees CC join the modern age with a completely new web application called the dashboard. The dashboard provides an attractive web 2.0/ajax interface, a widget based extension system, and a bunch of new features like updating your CC configuration via the web. The old reporting application is still there -- meaning all the 3rd party tools still work -- so there is no reason not to update and check out the new features. Enjoy!

Jun 14, 2007  –  Wiki Blog Community

I like how Alistair is bluring the lines between Wiki and Blog on his site. Martin does something similar, but his Bliki is read only. Alistar, otoh, is using MediaWiki to run his full site, including his blog, and encouraging people to post their thoughts on the discussion page for the related blog.

I like the informal collegial feel and I'll be interested to see if a community does in fact develop.

Jun  6, 2007  –  Are You Mad at Your CI Build?

Reading Paul Duval's blog entry I found him making a comparison I use frequently: "CI provides you with a mirror of your software under development." His point is that if you find yourself getting mad at the build you might want to check yourself.

If you don't like what you see in the mirror, do you blame the mirror or do you start thinking about spending more time at the gym?

May  8, 2007  –  Fast Start at JavaOne

Agitar boothThis picture was just about the last quiet moment before they opened the exhibition hall doors. Shortly after that the horde decended and at the booth we've been just shockingly busy.

I'm encouraged by the number of people who are interested in unit testing and want to hear our pitch. We've been handing out JUnitFactory business cards like candy -- the ability to generate dashboards is a killer new feature -- and the printed copies of The Way of Testivus are popular as well. (I'm still waiting to see someone put on our karma > dogma t-shirts. Maybe tomorrow..)

I've been mostly busy occupied describing AgitarOne to people but in between I've managed to catch up a bit with Paul Hammant (who is pleased I finally have the include.projects working so he can Branch by Abstraction) and Andy Glover (who is threatening to join us in Belgium). Andy introduced me to prolific traveling speaker Neal Ford, who must enjoy being on the road far more than I do. I got within handshaking distance of ASM author humble committer Eugene Kuleshov but was too busy talking with someone in the booth to do more than exchange greetings.

Looking foward to my next break and the opportunity for some longer conversations...

May  7, 2007  –  At JavaOne This Week

Reading John's post reminded me that I should let people know I'll be at JavaOne this week on booth duty for Agitar. My favorite parts of these events are all the side conversations so if you want to talk about CruiseControl, CITCON, developer-testers/tester-developers, OIF, how to run an open spaces conference, JUF, adopting developer testing, introducing change in general (I'm looking for material for my 'Tic-Tac' session with Alistair Cockburn at Agile 2007), or The Way of Testivus (PDF) stop by the booth or send me an email and we can set up some time to talk. (Following Bret's session I'm really interested in hearing from people who have had good experiences using RSpec on a Java project.) See you there...

Apr 27, 2007  –  CITCON Dallas, Open Spaces, Conversations First CITCON sign at AATCCI'm in Dallas now and most of the really hard work is done: we have space, we have sponsors, we have people coming. There are signs up, rooms, chairs, flip charts. We have drink tickets, food vouchers, and a continually replentished break station. What is left are some fiddily details like putting together almost 100 bags to handout to the attendees with sponsor materials, gifts and t-shirts. That leaves plenty of energy and attention leftover to spend on nervous anticipation...

  more »
Apr 16, 2007  –  Webinar: Continuous Integration and Testing Register now to attend a free webinar on how to implement continuous integration and testing. April 18th, 9-10 am PDT.
Apr 11, 2007  –  Final Days to Register for CITCON Dallas 2007

This Friday the 13th is the final day to register for CITCON, the Continuous Integration and Testing Conference. CITCON Dallas/Ft. Worth will be held Friday April 27th and Saturday April 28th at the American Airlines Training and Conference Center which is right outside the Dallas/Ft. Worth airport in Texas.

CITCON is different from a standard conference in a couple of ways:

  • It is free, but scheduled for a Friday night and Saturday. This means the people who attend are the people who are passionate enough about the topic to give up some of their personal time, rather than those people who are able to have their companies pay for it.
  • It is an open spaces event. So rather than going from talk to talk and hoping to hear something of interest the attendees build the agenda, with each topic an interactive discussion.

If you've ever attended a conference and left feeling that the best part of the conference was the hallway conversation, then you should understand the appeal of the CITCON format. (At least this is the appeal for me!)

Past CITCON events (Chicago & London) had a fantastic mix of people, including CI and testing tool makers, very experienced authors and consultants, new and experienced Agile practitioners. CITCON Dallas promises more of the same.

Hope to see you there.

Apr  9, 2007  –  Dell XPS Showing JUnit Status Jason Yip pointed me to Eclipse Plug-in by Litrik de Roy that'll let you use use your Dell XPS to show the results of your JUnit tests. I can imagine telling the team "please don't interrupt me when my laptop is red."
Mar 22, 2007  –  Jolted! Jolt Award
Mar 21, 2007  –  At SDWest Expo sign of expo hours A couple of weeks ago I was here at the Santa Clara Convention Center for EclipseCon and now I'm back for SDWest. Rather than speaking, this time I'm just here on booth duty. (Bob is the one doing the talking this time.) If you feel like chatting about developer testing, CruiseControl, CITCON or even AgitarOne stop on by and say hi.
Mar 14, 2007  –  Avoid Shallow Eyes

Jared posted a cogent argument for peer code reviews that is worth reading if only for the killer line

With enough code, all eyes are shallow.
Mar  8, 2007  –  EclipseCon and Ward Cunningham

For me today was my best day so far at an EclipseCon, but as usual for a conference (except CITCON!) the most interesting stuff was what happened outside the talks...

  more »
Mar  6, 2007  –  CITCON Dallas Registration Open

We are proud to announce that registration is now open for the next Continuous Integration and Testing Conference, CITCON Dallas on April 27th & 28th. Space is limited to the first 100 registrants and attendance is free. Registration is on-line and while it is open until April 13th we do expect to fill all the available slots, so sign-up soon to reserve your spot.

The conference will be following the same Open Spaces (or unconference) format as the 2006 CITCON in Chicago and London. These prior CITCON drew enthusiastic practitioners at all levels of experience, all looking to share what they knew and to learn what they could. We're looking for more of the same in Dallas.

Please help spread the word about CITCON and we look forward to seeing you there!

Paul Julius
Jeffrey Fredrick

 –  EclipseCon Panel on Developer Testing

If you're at EclipseCon this week you might be interested in stopping by the panel Making Unit Testing Part of Your Development Process: How to Get Your Team to Do It. I'll be there as a panel member... but it should be a good panel anyway. ;-)

Mar  5, 2007  –  CruiseControl 2.6.1 Released

Last week CruiseControl 2.6.1 was released. In this release there are several bug fixes but also an odd little plug-in that seeks to address a common problem with inter-project dependencies. Read on to learn about the new Veto plug-in and how it can help keep your projects building in the correct order.

  more »
Feb 15, 2007  –  Webinar Replay: Business Benefits of Unit Testing

I mentioned a couple weeks ago that I was going to be part of a webinar with Carey Schwaber of Forrester Research on the Business Benefits of Unit Testing. Well that webinar has now been posted so you can view the replay. You do need to register to view it but if you don't want to hear from us just put in bogus data. (So why ask for it? Because some people do want to hear from us and we're most interested in enabling those people.)

Jan 23, 2007  –  Late Notice on Webinar

I've been so self-absorbed with my travel travails that I forgot to mention I'll be part of a webinar tomorrow morning on the Business Benefits of Unit Testing with Forrester anaylst (and seemly very nice person) Carey Schwaber. I had read some of her previous reporting on the build market, because of her mention of CruiseControl, and meeting her in person confirmed what had come across in her reports: she's pretty clueful about the the development market.

So if you're interested in the topic I think it would be worth listening. And don't worry, Carey will be the star of the show -- this time I'm just the vendor shill.

Jan 21, 2007  –  Lessons From The Long Road Home?

Yesterday I rashly predicted it would take me about 28-ish hours to get home from Bangalore, but now I find myself writing this from a hotel in London. It seems the relatively good luck I've had in my traveling all came to an end on this trip and over the week I've had to deal with (1) my luggage not arriving with me in Bangalore, (2) my Chennai-Bengalore flight being delayed by four hours, (3) a two-hour sit on the tarmac in Bangalore waiting for the fog to lift, leading to (4) missing my connecting flight in London. Reflecting on these minor setbacks over my bland English breakfast (I miss those idli with sambar already!) I decided there was a lesson in here on one of my favorite development/process topics, which is feedback.

  more »
Jan 20, 2007  –  STeP-Ing Out of Bangalore

It is 3:55 AM and I need to head to the airport in about 30 minutes but before my lovely 28-ish hour journey back home I wanted to jot down a repeating theme from the STeP-In Conference that just concluded here in Bangalore...

  more »
Jan 13, 2007  –  On the Flat Road to STeP-IN

I'm in London right now, on my way to Bangalore where I'll be speaking at the STeP-IN Summit 2007 on Improving Quality Assurance through Developer Testing.

On the strong recommendation of Eddie Correia (editor of ST&P) I picked up Thomas Friedman's The World is Flat. That makes it his fault that I didn't sleep on my SFO-LHR flight! I'm not sure everyone would find is as compelling as I did, but for me it could almost be a companion book to my professional memoirs, or at least my memories.

I remember a long conversation the day Roger showed me NCSA Mosaic for the first time. It was the first time I heard the word Netscape (Flattener #2), and then we talked for hours about how the web was going to change everything! A few years later Jayson convinced me that there were some really big ideas there in Open Source (Flattener #4) and we started OpenAvenue, where we hoped to create a collaborative platform for Outsourcing (Flattener #5) and Offshoring (Flattener #6).

And as a parent who has watched the world change I've often felt The Quiet Crisis and wondered if I'm doing the right thing to prepare my children for the future. It is a question that I return to again and again. I'm living in the flat world and I know how to navigate it for myself. But as I hang up from calling my family via Skype on my way to "Asia Pacific's Largest Testing Conference" I don't know what to think about their future.

Jan 12, 2007  –  CruiseControl 2.6 Released (Finally!) It took much longer than I had hoped, but CruiseControl 2.6 has been released, and there are some big changes. The release notes cover all of them but there are a few I wanted to highlight...   more »
Nov 26, 2006  –  This Week in Germany

I'm off to Germany this week to give a few talks, some of the public. First on Tuesday I'll be at the iX Konferenz in Frankfurt giving the talk AgitarONE – Automatisiertes Java Developer Testing. Then on Thursday (Frankfurt) and Friday (Munich) I'll be part of the seminar JUnit-Test Generierung auf Knopfdruck!.

I hope nobody will be disappointed to hear that I'll be speaking entirely in American; my knowledge of German is limited to "ich bein ein Berliner".

 –  ONE Reason for Not Blogging I'm just finishing a particularly crazy time and I felt I owed a small explaination about why I haven't blogged for the last several weeks. Here is the short version: AgitarOne.
Sep 18, 2006  –  Final Days to Register for CITCON London 2006

CITCON London registration will be closing this week, it is just hard to know if we will hit the deadline of Friday September 22nd or the cap of 120 people first! At last count we have 85 people signed up and if history is a guide the remaining spots will go fast.

For those who aren't aware CITCON is the Continuous Integration and Testing Conference, a free open spaces (or unconference) event on continuous integration and the testing that goes with it.

Given the open spaces format it is impossible to predict what the exact session topics will be but a sampling of the topics (and notes) from the CITCON Chicago event from earlier this year is available on the wiki. Also available are some photos, feedback, links to related blog entries and more... More than enough to be convinced that you should sign up today!

Sep 12, 2006  –  SDBP: Clean Code by Robert Martin

Listened to Uncle Bob give his Clean Code talk today and took some notes. Here are the bits I thought were worth sharing.

  more »
Sep 11, 2006  –  In Boston for SDBP

I'm in Boston tonight, in town for Software Development Best Practices. I'll be giving a talk on Wednesday, along with Alistair Cockburn, on "Creating Change One Tic-Tac At a Time". The idea for this talk grew out of a conversation that Alistair and I had back at the Jolt Awards in March and it incorporates information and ideas from a wide range of sources. For my part I'm drawing on The Moral Animal for the importance of status, Taking Charge of ADHD for the idea of a token economy, Flow for insights into what people consider rewarding, Influence for some "weapons of persuasion", not to mention a host of others I can't name, plus my own experiences leading development teams and our experiences at Agitar helping our customers adopt developer testing. These last two categories are probably the most important, because that is where I've come to believe that cultural change is simply the most difficult task anyone can undertake, and changing the practices of a development team in any significant way require a change of culture. Alistiar has a similar view on the importantance and difficulty of cultural change and brings his own diverse and illustrious experiences to bear on the discussion. If you're at SDBP hope to see you there, but if you're not I'd be interested in your thoughts on the topic (j t f at a g i t a r dot c o m).

Aug 24, 2006  –  Green Shift is Bull Shift

Scott Ambler calls it Green Shift, but it sounds more like Bull Shift to me. (via Jason Yip)

 –  BayXP Summary of Agile 2006

Nine gathered tonight at the Thoughtworks San Francisco office tonight, 4 of whom attended Agile 2006 and 5 of us did not. Things I remember from the conversation, in no order of importance:

  • Agile has crossed the chasm, "everyone doing it" was the word on the street
  • Success stories even in very large teams/companies
  • Wanted more discussion on how to change culture
  • Coding Dojo session was excellent and would make for a good future BayXP meeting
  • Data no longer a four letter word! (Refactoring Databases)
  • Surprisingly valuable discussion by some Microsofties of their TDD Pair Programming Game (complete with phase transition diagram)
  • The Open Spaces part was allocated a horrible space -- think low ceilings and harsh lighting -- and this combined w/the relative neglect compared to previous years led to a feeling of low energy...
  • ...except the Getting Things Done session got high marks
  • Crushing Fear Under the Iron Heel of Action got high marks with Ron and Chet described as living cartoons (in a good way)

I know there was more but I didn't take notes, so that's all you get, unless some kind soul adds more info in the comments.

Aug 21, 2006  –  Webinar: Test-Driven Development in J2EE, with J.B. Rainsberger

In early August J.B. Rainsberger gave a webinar on TDD for J2EE:

Test-Driven Development is often introduced through simple examples, but many developers would rather dive into the deep end. This free webinar is for those people. J. B. Rainsberger, author of "JUnit Recipes," will show you architecture and design strategies to make it easier to "test-drive" J2EE components. You'll learn how to build a J2EE application while following the cardinal rule of Test-Driven Development: Never write a line of production code unless somewhere, a test has failed.

The recorded webinar is up on the Agitar website linked from this page. Registration is required but if you'd rather not register try out

Aug 20, 2006  –  CITCON London 2006 Registration Open


We are proud to announce that registration is now open for the next Continuous Integration and Testing Conference, CITCON London 2006 on October 6 & 7. Space is limited to the first 120 registrants and attendance is free. Registration is on-line.

The conference will be following the same Open Spaces (or unconference) format as the very successful Chicago edition back in April 2006. The Chicago CITCON drew an enthusiastic group of practitioners, all looking to share what they knew and to learn what they could.

We would appreciate your help in getting the word out. Please blog/post/email/chat about CITCON London 2006!

We hope to see as many of you there as can make it.


Paul Julius
Jeffrey Fredrick
Chair-people, CITCON London 2006

Jul 21, 2006  –  University Credit for Learning About XP

James Shore is involved in what seems like an great opportunity for computer science students at Portland State University to learn some real world sklls. Along with Dr. Andrew Black, PSU Professor of Computer Science, they are putting on the course Extreme Programming: Principles & Practices. If you're up in Portland, Oregon it looks worth checking out...

 –  Dos Equis Driven Design is Not About Beer

It is critical to remember that Dos Equis Driven Design (XXD) is not about the beer. (I'm not saying there was no beer involved, but that isn't the point...)

Jul  6, 2006  –  Seeking Brave Alpha Testers (CC 2.6)

Despite releasing CruiseControl 2.5 little more than 2 months ago we are looking to get 2.6 out in July. The minor (2.6) vs. trival (2.5.1) version bump reflects some big changes:

  • replace Xalan with Saxon. this should both increase the speed of the web application and reduce if not eliminate the dreaded OutOfMemoryErrors.
  • use an Ant-style launcher instead of setting the classpath in the CC start script or in the manifest.

With these changes we know there will be issues to shake out so we're seeking alpha testers willing to have a go with the latest and greatest and give us feedback on the mailing list.


Are you up for it?


ps: As a side-effect of the switch to Saxon CC versions 2.6 and later will require JRE 1.4 or later (though you can still build projects under 1.3).

 –  Martin Fowler's "Continuous Integration" Updated Just today I learned that a couple of months ago Martin Fowler updated his "Continuous Integration" article with lessons learned from the last 6 years. (Thanks to Jerome Lacoste for the pointer.)
 –  "The lesson of the bloat trochar and the rulebook" Brian Marick is at it again with a must-read post on the Agile Testing mailing list titled "The lesson of the bloat trochar and the rulebook", but unlike all the previous posts or messages I've directed my gentle readers to view this one is entirely unquotable. To me it is a single piece, to be consumed entire or not at all. The closest I can come to providing the flavor is the embarrassing situation of quoting the post quoting Whitehead:
It's like what Whitehead said about notation: "By relieving the brain of all unnecessary work, a good notation sets it free to concentrate on more advanced problems, and in effect increases the mental power of the race."
... but that doesn't do it justice. Maybe better is to quote Kevin's reaction:
Outstanding post, Brian. I always wondered what the little star was for in GMail. Now I know. Your post has a little gold one next to it.
So... go read it already, 'k?
Jun 27, 2006  –  Want to Hear My Continuous Integration Talk This Week?

I'll be giving the talk twice tomorrow June 28th via WebEx (register here), and then again at the Better Software Conference on Thursday at 3 pm under the title The Power of Continuous Integration with Automated Unit Tests. Giving the talk in front of a live audience is a lot more fun because of the interaction with the other people, but I've been told we have over 100 people signed up for the WebEx already, so perhaps the QnA session will be a bit more lively than most.

Jun 22, 2006  –  Integrating Agitator and CruiseControl

Aaron Rhodes has posted a good message detailing how to integrate test results from Agitator into the CruiseControl html email and the web reporting application on the Agitar forums over here. The directions detailed are of obvious interest to people using Agitator but perhaps less obviously can serve as an example for other people looking to add custom information to the CC feedback. Enjoy!

May 19, 2006  –  Finally Making it to XtC Five months later I find myself in the same situation, heading out to London on the same flight even. Haven't set a lot of plans for my off-work hours, thought I'm happy that I should be able to make it to the eXtreme Tuesday Club meeting this time around. On the downside this'll probably the worst week for the entire year for wanting to watch football in a London pub so I'll need some other way to fill my weekend. Kevin suggests Speaker's Corner on Sunday morning. Any other suggestions?
May 16, 2006  –  Free Coffee at JavaOne Thought I'd mention that we're offering free coffee (espresso, latte, etc) at the Agitar booth (#836). From the looks of a few of you this afternoon I think you need it... :)coffee.jpg
May 14, 2006  –  Attending JavaOne? If you're attending JavaOne drop me a note (jtf at if you're interested in meeting up. I'll certainly be attending the lunch with Kent Beck but I'll also be around the Agitar booth off and on. See ya there?
Apr 30, 2006  –  A Plot for CVS -> SVN Migrations? Anyone who's active on a SourceForge project is probably well aware of the lengthy CVS outage that started over a month ago...  more »
 –  Mocking a Singleton Over on the TDD mailing list there is a thread about mocking a singleton. There are a few good suggestions given but the best answer (imho) is that provided by Michael Hill:
Mocking a singleton is relatively easy.

To begin with, singleton's are all alone in the world; don't be afraid to point this out. Also, most singletons are created, get this, not even in a factory, but merely in a factory method. Finally there is the point that they are little more than dressed-up globals, and IME experience cause more heartache than they're worth. You can point to the many nasty screeds about singletons there are out on the net. All in all, mocking it shouldn't be too hard. A word: if your singleton has unusually large body parts, stoop to insulting that. Sometimes, to be kind, you have to be cruel.
Apr 27, 2006  –  CruiseControl 2.5 Released

CruiseControl 2.5 has just been released and it has two huge bug fixes:

  • Updated Xerces and Xalan jars to fix memory leak (CC-426)
  • ProjectWrapper: Fix problem where forcing a build while build is running will effectively kill the worker thread leading to all projects queued but not building (CC-431). Patch by John Lewis.

Along with those bug fixes there are a few new plugins:

  • ClearCaseBaselinePublisher: New publisher for use with ClearCase UCM (CC-414). Submitted by Kevin Lee.
  • LDAPMapper: Email mapper that uses an LDAP lookup to determine user email addresses (CC-413). Submitted by Esa Laine.
  • Maven2SnapshotDependency: New sourcecontrol (CC-438). Contributed by Dan Rollo with fixes by Jerome Lacoste.

So what are you waiting for? Go get it...

Apr 21, 2006  –  Webinar: What to Do if Your Code Has Few, If Any Tests?

Next week Agitar is hosting Ted Husted of the Struts development team (and iBATIS and MyFaces and Jakarta-Commons) in a webinar on What to Do if Your Code Has Few, If Any Tests?. I'm curious to hear what Ted has to say but his talk illustrates the kind of trade-off that exist as our company grows. One the one hand we can having interesting speakers and topics like this, but on the otherhand we're now scheduling the webinars for a global audience, so the scheduled times (7 am and 5 pm PDT) probably work better in just about every other timezone than this one. (</whine>)

Apr 12, 2006  –  Tests Vs Specifications Reading Brian Marick's post on Tests and Specifications made me wonder about how to describe the assertions in Agitator. They certainly are of the form Brian describes:
In math geek terms, specifications are universally quantified statements, ones of the form "for all inputs such that <something> is true of them, <something else> is true of the output." Tests are constant statements, ones with no variables. They look like this: "given input 5, the output is 87."
This distinction comes into play when we use TDD with Agitation. The tests help us move forward one case at a time and then Agitiator helps us review if we've accurately captures the specification of the system, or if we've missed boundary cases. It is a shift from the "There Exists" to the "For All" mindset.
Apr  9, 2006  –  testtools for Pythonists While still basking in the afterglow of CitCon I read a message by fellow attendie Kumar McMillan introducing the new open source (LGPL) python module testtools. Kumar said:
The main focus is fixtures but it also has some helpers for creating continuous integration scripts. This was all designed around subversion post-commit hooks and there is even a handler for you to run a SimpleXMLRPCServer.
Documentation of the 7 submodules is here.
Apr  1, 2006  –  Refrigerator Code or Girl Code or ...

It doesn't matter if you call it Refrigerator Code or Girl Code or Beautiful Code or simply Clean Code, the meme is out there that is isn't enough to say the code works and then leave it at that. Even if you find yourself unmoved by Kathy's aesthetic arguments you should weigh Uncle Bob's assertion that "keeping your code clean is not just cost effective; it’s a matter of professional survival."

Mar 31, 2006  –  ...The Simplest Thing That Could Possibly Work Is An Object

If you ever feel yourself drawn toward writing a static method, obey Kevin's Maxim: "in an object-oriented language the simplest thing that could possibly work is an object."

 –  Continuous Integration at Better Software Conference

If you're going to be at the Better Software Conference & Expo (and why wouldn't you?) and you want to be infected with the Continuous Integration meme then do stop by my talk titled The Power of Continuous Integration with Automated Unit Tests on Thursday June 29th.

 –  Agitator is Not a Test Generator

Agitator is not a test generator. It is an exploritory testing tool for developers. You turn to it to answer the questions "what does this code actually do? what did the author forget to consider?"

Mar 29, 2006  –  Ed Gibbs is My New Hero

He's actually practicing two of the best practices I know of: regular one-on-ones and code reviews. In my own management career I found it very hard to stick w/the weekly one-on-one schedule even though I believe it is hugely important. And code reviews are probably the best sofware development practice that (virtually) nobody does. This guy is obviously working very hard to put theory into practice and for that he has my respect.

Mar 27, 2006  –  Clicker Trained by Continuous Integration

Kathy Sierra's Clicker trained by our email blog entry just closed a synaptic loop for me. When I give my CI/CA talk I try and make the point that developers quickly become addicted to the positive feedback of that "build successful" email, that even this little reward, given quickly enough after the behaivor you want to encourage, is enough to reinforce the habit. When I spoke to Alistair Cockburn about this at the Jolt Awards he even used the phrase clicker training to describe it. But now reading Kathy's entry something new springs to mind -- in that same CI/CA talk I make the point that the real Return On Investment in developer testing comes when the test fails... and that's an intermittent reward!

So if you want to adopt developer testing as part of your standard practices make sure you're using Continuous Integration. In the beginning it is the "build successful" messages you'll be looking for, but for the long term you'll be hooked on those times the lamp goes red.

Mar 23, 2006  –  EclipseCon: Want More Headless Eclipse?

Maybe you missed my talk yesterday or maybe you just want more; either way you'll want to check out Paul Dzilenski's Creating an Eclipse IDE Command Line Interface today at 1:36 p.m. in the Theater.

Mar 18, 2006  –  Honestly Subjective Performance Reviews Having just finished writing performance reviews yesterday I have extra appreciation for the thoughts behind The Honestly Subjective Performance Review. There's a lot there that I already practice but I liked this part on the theory of raises:
Performance reviews are backward looking when they should be forward looking: When Tim hired Alex, Sam, and Brook, he didn’t base the salary he offered them on their previous year’s performance. He didn’t really have any objective data about their past performance. Instead, he offered them salaries based on the value he perceived they would add by joining his team. Backward-looking reward systems are counter-productive because the employee has already been rewarded for the past. That’s what the twelve months of paychecks were.
(via Lasse Koskela)
Mar 15, 2006  –  Jolt Award and Alistair Cockburn I went down to SDWest tonight for the Jolt Award ceremony where Agitator was one of the finalists. We won the award for our category last year but this year we had to be content with a productivity award which is still a nice honor -- yay us. (Winner in our Testing Tools category was VMTN Subscription from VMWare -- yay them.) While at the post-ceremony VIP bash (no, not sure why they let me in) I was introducted to Alistair Cockburn. I was pleased to meet him because I quote him a lot in my "Continuous Integration, Continuous Agitation" talk that I've been giving all over the place (and I've got pictures to prove it).  more »
Mar 13, 2006  –  Project Dependencies Using Ant On the CruiseControl user mailing list there was another instance of the FAQ "how do I build by dependent projects", and Joe Schmetzer linked to his recently posted article on Project Dependencies Using Ant. Neat technique and worth a read if only as an illustration of clever use of common Ant scripts.
Feb 28, 2006  –  CruiseControl 2.4.1 Released Our first attempt at a timeboxed release, version 2.4.1 is now available for download. The most noticeable difference in the release will be the new (and hopefully improved) index.jsp in the reporting application, but there are some new plugins as well: ExecBuilder, Maven2Builder, PropertyFileLabelIncrementer, and WeblogPublisher.
Feb 26, 2006  –  Quick Update from Tokyo For people curious about how I spent my day in Tokyo, but hopefully not that curious because there's more omitted than reported.  more »
Feb 20, 2006  –  CC, CI and CA in Asia-Pacific I still haven't gotten around to writing up a summary of my trip from December but this Friday I'm heading out again, this time going West instead of East. This'll be a bit longer trip, starting with a week in Japan and then with a second week in Austrialia and New Zealand. For the most part I'll be speaking on the same topic that I did on the last trip: Continuous Integration and Continuous Agitation. This talk went over very well eacy of the half-dozen or so time I gave it in Europe so I'm excited to be able to offer it on two new continents! If you live in these countries check these cities and dates and maybe you can join us.  more »
Feb 18, 2006  –  Software Development Learning from the Spacecraft Business Glen Alleman was reading Development of the Space Shuttle and got to asking "is there anything we can learn from the spacecraft business that is applicable to software development?" (via Lasse Koskela)
Feb 16, 2006  –  Sharing Pre-configuration After I posted my blog entry on Template Projects with CruiseControl 2.4 Greg Gipson asked an interesting question on the CruiseControl users mailing list about sharing pre-configuration information across multiple CruiseControl servers that turns out to have an elegant answer (if XML Entities can be considered elegant).  more »
Feb 10, 2006  –  Template Projects with CruiseControl 2.4 At the end of January CruiseControl 2.4 was released. Among all the new features and bug fixes one of the most interesting to me is the idea of using plugin preconfiguration to create template projects. By coincidence over the last few weeks Kevin has been doing major surgery on our build system to make everything more standardized and logical, so it turned out to be a good time for us to try out this template project idea of ourselves.  more »
Feb  9, 2006  –  Headless Hello World at EclipseCon 2006! Way back in August I wrote a pictorial guide to creating a headless hello world eclipse plug-in, and then in December I tapped the power of my massive blog fanbase to shill for votes for my EclipseCon short talk proposal. Today I'm happy to report that our efforts were a success and to invite you, if you're going to be at EclipseCon, to stop by March 22nd at 4:15 (that's 16:15 for my international audience) and listen to the very exciting short talk "Hello World" as a Headless Eclipse Plug-in. I promise it will be worth all 9 minutes of your time.
Feb  8, 2006  –  Invitation to Continuous Integration and Testing Soiree This message is being sent to announce an upcoming event for everyone interested in continuous integration and the type of automated testing associated with it. (Entry updated Feb 16th with dates and website.)  more »
Feb  6, 2006  –  So you want to build a spice rack? "A hammer?" he asks. "Nobody really buys hammers anymore. They're kind of old fashioned."
(Now try testing it...)
Jan 20, 2006  –  CruiseControl 2.4 RC3 Just a quick note that CruiseControl 2.4 release candidate 3 is now available here. The target release date is Friday, January 27th, so take this opportunity to get in feedback before the release! Lots of new features and bug fixes (see the change list here). Having just tried out release candidate 2 today I'll endorse the new jsp status page as much improved.
Dec  9, 2005  –  How to Spend Time in London? I'm about to head to SFO to catch Virgin Atlantic Flt. 20 to LHR, and I'm feeling mostly prepared for the business end of things... so now it is time to think of how to handle my personal time. I've got half-day Saturday, all of Sunday and most of Monday...  more »
Dec  8, 2005  –  CC, CI and CA in London, Antwerp and Stockholm Tomorrow I head out on my first ever european adventure, flying to London to spread the word about Continuous Integration and Continuous Agitation using CruiseControl. You can catch me on the morning of the 13th in London (location and registration here), on the 14th I'll be speaking at JavaPolis in Antwerp, and on the 15th in Stockholm (location and registration here). I'm hoping these events will attract some of the people I've interacted with on the CC mailing list and maybe even some blog readers. As a special bonus to my loyal readers, if you have a particular question you want answered go ahead and ask it here and I'll try and work it into my presentation. See you there!
Dec  1, 2005  –  Headless Hello World at EclipseCon 2006?

Back in August I wrote a pictorial guide to creating a headless hello world eclipse plug-in; now I've proposed to cover the same information in a short talk at EclipseCon 2006 and I've decided to use my massive blog fanbase ("hi mom!") to shill for votes. If you're interested in the content (or just an adoring fan) you can vote for me here (registration required to vote).

Oh, and if you're really really interested in learning more about this topic than can be covered in 5 - 10 minutes (the duration of a short talk) then you might be interested in voting for Paul Dzilenski's Creating an Eclipse IDE Command Line Interface long talk proposal.

Happy voting!

Nov 17, 2005  –  New Goal: Refigerator Code Dennis van der Stelt lead me to this article by Bob Koss where he defined Refigerator Code:
What’s that? It’s code that you’re so proud of that you want to take it home and hang it on the refrigerator, right alongside of your children’s drawings.
Nov  5, 2005  –  Inspired by A Thought Inspired by the CSS2 Specification Brian Marick was inspired by the CSS2 spec to note that:
That suggests that a specification should not be written to a consistent level of precision. Precision is needed only where disputes have already occurred or are likely.
Translating that into developer testing I immediately thought "That suggests that unit tests should not be written to a consisten level of precision. Precision is needed only where disputes (or confusion or bugs) have already occurred or are likely."
Nov  1, 2005  –  Show Me Your Tabs and I'll Tell You Who You Are A few weeks ago my friend Julio emailed me a picture of the stack of books he has on his desk waiting to be read. I thought this was a great thing and if I was a little better organized I would have sent him a reciprocal email already. I was reminded of his picture the other day when I looked at the stack of books on my desk at work -- Extreme Programming Explained (1st edition), Design Patterns, Slack and Unleashing the Ideavirus. It really struck me that this collection has got to mean something...  more »
Oct 19, 2005  –  TDD is about Testing? Alan Francis makes the bizare claim that TDD is about testing: major advantage of TDD is the ability to answer the question "how will I know I am done?". We can aswer that question because we have a test that will fail if we are not done and pass if we are.
Of course this is exactly what I was on about when I wrote about why I like the Continuous Testing plug-in so much. (Thanks to Jason Yip for the pointer.)
Oct 12, 2005  –  XP Stages of Acceptance My friend Kevin is a very smart guy. He did a talk that was an intro to XP and one of his slides was "XP Stages of Acceptance":  more »
Oct 10, 2005  –  Tests as Double Entry Bookkeeping Uncle Bob gets it just right:
I have been consulting for a number of teams that have adopted Agile Methods, including TDD. One common issue I have found is that developers drop the discipline of TDD in the face of schedule pressure. "We don't have time to write tests" I hear them say. Before I comment on the absurdity of this attitude, let me draw the parallel. Can you imagine an accounting department dropping dual entry bookkeeping because they've got to close the books on time? Even before SARBOX such a decision would be such a huge violation of professional ethics as to be unconscionable. No accountant who respected his profession, or himself, would drop the controls in order to make a date.
Oct  6, 2005  –  Ruby, Rails, Eclipse and a Link to Remember I posted before about the virtuous cycle I envision when I link to something useful from my blog: it'll be easy for me to find it later, my vast :) reader-base will be exposed to this useful thing, and it will be more likely to be found by people via some related google search. The useful item for the day are Brian Hogan's excellent directions on Setting up a Rails Development Environment on Windows Using Eclipse. If you're using Ruby/Rails but not on Windows don't let that stop you from taking a look because some of the best parts of about setting up the external tools in Eclipse. In fact I think the directions are worth looking at for any Eclipse user just to get a good idea about some of the options that are available. I've been using Eclipse off and on since 2.x and I learned quite a bit about things that I always knew were possible but didn't know exactly how. Jtf says "two thumbs up".
Sep 27, 2005  –  Stop: The Bar is Green I think it was repeated hints from Robert Watkins that finally got to me. I took the time to install David Saff Continuous Testing plug-in for Eclipse and I'll tell you now that I never want to be without it again, but not for the reasons I've heard from other people.  more »
Sep 10, 2005  –  Cockburn, Goal Displacement, and Running Tested Features On Friday Alistair Cockburn posted an article with the provocative title "Are Iterations Hazardous to Your Project?"...  more »
Sep  8, 2005  –  Dogs and Doorknobs William Pietri on the extreme programming mailing list:
Tight feedback loops provide excellent learning environments. Bacteria learn to beat an antibiotic in a decade or two. But it will be quite a while before dogs evolve their way around the doorknob.
 –  Patterns for Iteration Retrospectives Bill Wake's post to the extreme programming mailing list caught my eye...   more »
Aug 27, 2005  –  CruiseControl 2.3 Available After a lot of work and a few false starts CruiseControl 2.3 has been released. Read on for some highlights or just go get it heremore »
Aug 25, 2005  –  John Carter Reflects on a PRS Section Number Catching up the XP mailing list I came across this post on what is wrong with our civilization. It starts with:
A colleague sent me a section of a Product Requirements Specification document for comment. The section number was
and then ends up leading to:
Somewhere, right now, is a very bright guy writing the PRS for the next generation of Photocopier printers. We have to find him and stop him.
Worth a read.
Aug 24, 2005  –  Rules for Unit Tests Michael Feathers gave this excellent set of rules for unit tests on the XP mailing list:
I have these rules that I use for unit tests, primarily because I encounter so many teams that start writing end to end tests, call them unit tests, and give up because "testing takes too long". To me, a test is not a unit test if:
  1. It talks to a database
  2. Communicates across a network
  3. Touches the file system
  4. You can't run it at the same time as any of your other unit tests.
  5. You have to do special things to your environment to run it (like editing configuration files).
Tests that do those things are okay, but to me they aren't unit tests, and they should be segregated from true unit tests.
Aug 23, 2005  –  Relentless Testing and The XP Oath James Shore has reminded us what the extreme version of developer testing is about:
We will test everything that could possibly break. We will have tests at the customer level as well as at the programmer level. We will write our tests before we write our code, possibly moments before. We will automate our tests and provide a binary "pass/fail" mechanism for evaluating the result.
Read the rest of his "Extreme Programmers Oath" over here.
 –  Headless Hello World in Eclipse Yesterday I needed to find out how to create a headless (console-mode, non-GUI) application plug-in for Eclipse, and while I could easily find information assuring me it could be done, I had more trouble finding out exactly how to do it. Turns out it is really easy. My "headless hello world" plug-in is here, and if you read on you'll get my pictorial guide to building your own headless hello world plug-in.  more »
Aug 18, 2005  –  Joel (Still) Doesn't Know XP I love reading Joel On Software. He's a smart guy with lots of good ideas, which makes it all the more frustrating when he's wrong about something. The topic on which he is mostly likely to be wrong is XP, but that isn't too surprising as he's never actually done it, which makes it a bit like criticising someone using the Penhold-Style grip when you've only ever used the Shakehands-Style. You might be a very fine table tennis player, but you've now entered the realm of speaking out of your... ignorance. And that's about how it sounded in Joel's recent article on The Project Aardvark Spec...  more »
Aug 17, 2005  –  CruiseControl Goodies We recently completed a new release of Agitator and Dashboard so I've had a bit of time to spend on my secret double life as a CruiseControl contributor. The obvious news is that we are nearing the release of 2.2.2 with lots of yummy new features (latest release candidate available here) but less obvious -- but more exciting to me -- are the neat 3rd party tools that are popping up. Here's a few that I know about...  more »
Jul 20, 2005  –  Shipping It I love to read, to learn new things or even new ways of communicating old truths. An ancillary joy is then handing out the books I've read to other people, and then seeing their reaction. It is always nice if the recipient enjoys what they read, but it is a really special feeling when you give someone a book and it changes the way they think and act. So I'm really pleased to have just finished reading a book that I know I'll be handing out time and time again, and that's Ship It!, "A Practical Guide to Successful Software Projects".  more »
Feb 18, 2005  –  Brian's Lisp programmer rant Today Brian Marick said, in a discussion of his planned book:
"I'll use XML instead of YAML as my concession to reality and penance for not talking about Perl. It will be hard not to launch into my old Lisp programmer's rant about how all the people who thought writing programs in tree structures with parentheses was unreadable now think writing data in tree structures with angle brackets and keyword arguments and quotes is somehow just the cat's pajamas."
Feb  9, 2005  –  Failures in Unit Testing This morning on the Agile Testing mailing list someone pointed out Mike Clark's blog entry "Failures in Unit Testing"more »
Jan 27, 2005  –  A Bad Day With Continuous Integration Yesterday we had a problem. Just before 6 pm someone checked in some changes that broke our unit tests...  more »
Jan 11, 2005  –  The Feng Shui of Developer Seating Over the past year we've had several different variations on our seating, with the common theme of an open workspace. Originally there was an 8 desk circle, which in time was supplimented with some cube space. Then we broke off a separate team for The XPeriment and added a separate 'pod' of 4 tables. With several minor variations all these seating options worked well and I felt pretty safe thumbing my nose at those people who advocate offices with doors that close as the best environment for development teams.  more »
Dec 10, 2004  –  XSL, Whitespace, and a Link to Remember

XSL is one of those technologies that I need to interact with often enough that I care about it but not frequently to be good at it. Today while looking for something else -- anyone out there know if there is such a thing as a "breaking non-whitespace" in html? -- I came across this very useful page, which is part of XSL FAQ for Mulberry Technologies' XSL mailing list that Dave Pawson maintains. I get a kick that such serendipity can help me find something so useful, and that by posting about it I can both ensure that I can find it again when I need it and make it more likely for other people to find it. Aren't virtuous circles pleasant?

Nov  9, 2004  –  Scott Adams, Agile Pioneer The combination of my blog entry yesterday and my drive home made me realize that the Agile pantheon is missing an important entry: Scott Adams, the creator of Dilbertmore »
Nov  8, 2004  –  Murphy's Law and NASA A couple of weeks ago Slashdot had a discussion "Murphy's Law Rules NASA". While the MSNBC article that was the occation for the topic was interesting in itself, what I found really notable was the writeup by the submitter. It contained the best summary argument I've seen for using Agile feedback-driven processes in favor of big up-front just-dont-make-a-mistake processes: "Human error is an inevitable input to any complex endeavor. Either you manage and design around it or fail."
Nov  5, 2004  –  Changing Machines Like Reusing Code? After a year with my Toshiba Satellite Pro I'm moving to a shiny new IBM T42 ThinkPad. The process reminds me quite a bit of starting a new project that you know is similar to an old project that you don't want to change. You have a choice between just copying everything over blindly, knowing that you're taking good useful stuff as well as useless out dated cruft, or you can painstakingly review what's there and take only what's worth taking. Does the approach someone takes as they migrate machines reflect the approaches they will take when developing?
Nov  4, 2004  –  CruiseControl 2.2 Last week the CruiseControl community released version 2.2 of this excellent continuous integration/build tool. This release adds scads of new features but at least as interesting, at least to me, are the stories behind some of the release highlightsmore »
Sep 27, 2004  –  More Unlikely Heroes In the current Better Software cover article I describe our continuous integration process and I hope to persuade readers to adopt the practice of automated continuous integration. I don't know of any other agile process that is as easy to adopt or that will yield such immediate and significant benefits. But while my article focuses on CruiseControl I wanted to make two points:  more »
Sep  2, 2004  –  Pragmatic Project Automation Ever since I bought into Martin Fowler's line that "Imperfect tests, run frequently, are much better than perfect tests that are never written at all" I've had the ideas of developer testing and automation inexorably linked in my mind. And of course like any sort of believer I'm always on the lookout for tools to help convince and convert my more reluctant friends. How thankful I am then to Mike Clark for his new book, Pragmatic Project Automationmore »
Jul 22, 2004  –  Reflections on SDForum Agile Summit On Wednesday I attended the SDForum Agile Summit which was a 4.5 hour program with two keynote speakers and three panels. Much of the information was familiar ground to me but the discussion on the need for courage made the trip worthwhile.  more »
May 14, 2004  –  XPeriment Findings In January, we described The XPeriment we were beginning, and I felt it was time to revisit our hypothesis and see how well our predictions worked out and mention a couple surprise lessons we learned along the way.  more »
Mar 15, 2004  –  In Tests We Trust? I had an interesting experience a couple of weeks ago that brought home the influence of developer testing on trust in someone else's code. After reflecting, I think that being able to show an effective base of developer tests is -- or should be -- the most influential proxy for quality code.  more »
Feb 26, 2004  –  Test-Driven Development and Agitator-Driven Refactoring We've had a good solid month of development experience on The eXperiment now and things are going rather well. All of our code is written test first by pairs, we refactor without mercy, and we continuously integrate. Part of our continuous integration is continuous agitation, and it is on that front that we've had the biggest surprise.  more »
Feb 17, 2004  –  CruiseControl Turns 2.1.5 Earlier this month our favorite Continuous Integration tool, CruiseControl, became available in version 2.1.5. While there are lots of good things in the release, there are two features that we've put to immediate use with good results: a multi-project status page and simple inter-project dependencies. One of the features that defined the 2.1 release was the ability to support multiple projects in the same instance of cruisecontrol. Having multiple projects opens up a lot of possibilities but, until now, there was never a good way to get an overview of the status of all the builds. Another obvious wish with multiple projects is to have the successful build of one project trigger the build of another. The new BuildStatus "source control" allows you to do exactly that. We've put this feature to work by triggering one of our longer system tests only when our unit tests are passing.
Jan 26, 2004  –  Violent Agreement In his blog Patrick Logan makes a very good point that "we have to make a distinction about what kinds of tests we're writing and what kinds of tests we want to automate."  more »
Jan 21, 2004  –  The XPeriment When talking about developer testing in Java, the conversation often shifts to XP and other Agile methods. Thus it happens that we get asked how Managed Developer Testing works with a team doing XP. We feel there is a good story to tell there, but it isn't one we can speak to from first-hand experience. Combine those queries with an "XP-curious" CTO and a couple of internal XP advocates and it is time for an experiment.  more »
Jan 16, 2004  –  Continuous Integration, Continuous Agitation With automated tests, like money in the bank, the joy should be the using more than the having. But unlike money, you can use the same test again and again, and we've found that being a spendthrift with our cpu cycles is the best way to get the feedback we need to drive our product quality.  more »
Jan  8, 2004  –  Project OPLA, or: How We Stopped Worrying and Learned to Love Agitator™ One of the key moments in the creation of any tool is when you can start "eating your own dog food". After many months of work, Agitar reached that milestone with our own self-agitation project we call OPLA. Today OPLA is an integral part of how we develop Agitatormore »