My Stuff

2010 Conferences

OSGi DevCon @ JAX London

February 23 - Keynote titled OSGi in the Enterprise: Agility, Modularity, and Architecture’s Paradox

EclipseCon

March 22 - 25 - Tutorial on Modular Architecture

Über Conf

June 14 - 17 - Sessions titled Turtles and Architecture and Patterns of Modular Architecture

Catalyst

July 26 - 30 - Two sessions on rich mobile applications and one on agile development. Half day tutorial on software process improvement.

Tweets @ Twitter

Where's the best place for Spring DM/Blueprint services help. DM google group very quiet. Gemini forums don't appear real active. #osgi 1 week ago

git is so darn easy to use I feel like I'm missing something. Maybe I am. 1 week ago

New Airport Extreme up and running. Wi-Fi is back. 3 weeks ago

My wireless router just died. No power. Fried, I guess. 3 weeks ago

Wi-Fi network is completely gone. #WTF That's why I have a backup -> Palm Pre with 3G Hotspot. 3 weeks ago

LinkedIn Profile

The opinions expressed on this site are my own, and not necessarily those of my employer.

Importance of Continuous Integration

Filed Under Agile, Development |  

I encountered an incredibly interesting situation recently that clearly illustrates the importance of Continuous Integration. Two separate teams were each working on separate software modules. Eventually, these teams knew they’d need to integrate the two modules into a larger whole. Unfortunately, communication wasn’t that great between the two teams, and while they each had a robust suite of unit tests (they created stubs when testing the integration points between each other), and regularly tested their individual components, they did not ever test them together. Finally, the day came (late in the project, mind you), when the two teams needed to integrate. In fact, integration even went fairly well, with the two modules able to communicate between each other without many problems. Integration testing revealed something alarming, however. A major piece of functionality was missing. Each team thought the other was providing that behavior.

The moral of the story, of course, is that had these separate teams been focused on integrating their two components early and often, this problem would have been discovered much earlier in the development lifecycle. But working in silos is easy and integration is hard. By creating a false sense of progress by avoiding integration until late in the lifecycle, they jeopardized the project.

Comments

Leave a Reply