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

"Wow!

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 bugmenot.com.

Aug 20, 2006  –  CITCON London 2006 Registration Open

Greetings,

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.

Sincerely,

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 agitar.com) 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:
...one 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 2.2.1.5.24
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 uni