My Stuff

Conferences

Burton Group Catalyst Conference

July 27 - 31 - SD Metrics & Improving the Software Development Process Workshop.

Agile 2009

August 24 - 28 - Dev Jam Stage Producer

OOPSLA 2009

October 25 - 29 - Leading half day tutorial on Agile Architecture and Modularity Patterns

Agile Development Practices

November 9 - 13 - Presenting class on Agile Architecture - Patterns & Technology

Tweets @ Twitter

Waiting for Windows to startup -> Painful. 1 day ago

I believe there is a limitation in Excel for Mac that disallows setting up a validation list where the data is from a different worksheet. 1 day ago

Have spent most of my day playing with Excel. Yeah! 1 day ago

Vendor providing mobile delivery services commented that requests for iPhone outweighs all other ~100:1. 2 days ago

To improve the value of the asset. 3 days ago

LinkedIn Profile

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

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