Archive for the ‘Development’ Category

Continuous Integration with Hudson and NAnt

April 11, 2010 Comments off

This past weekend, I presented Continuous Integration with Hudson and NAnt at the Twin Cities Code Camp. Thanks to everyone who attended!

Attached is the presentation, build scripts, and hudson jobs demonstrated. Hit me back with any questions.

Knowledge and Documentation

September 24, 2009 Comments off

A few days ago, I presented the Lessons-Learned and Risks for a completed project. I made a point that because I was the lone developer on this release, that there significant risk of knowledge loss in the organization.

“So you’re saying the system was not well documented?” asked a senior manager.

CLIPART_OF_17601_SM_2“The system is documented appropriately,” I responded, and attempted to articulate the difference between explicit and tacit knowledge. In any complex system, software or otherwise, documentation and manuals are no substitute for true experience with its operation.

Explicit knowledge is everything that can be written down and understood on its own merit. Things like system architectures, class diagrams, and error codes are all examples of this. And I don’t mean to minimize their importance. Any supportable system should include well written documentation at the hands of those who support it.

But there is a significant mass of system knowledge that cannot be explicit – it can only be learned through experience. This is tacit knowledge, and it is a major challenge for many organizations, including my own.

I do not yet know how to solve this problem, but the first step is clearly to educate others that it exists.

Bookmark and Share