Wednesday, March 14, 2007

Online Engineering Logs

Overview
A traditional engineering log (EL) is a notebook. Developers maintain an EL to record information that facilitates software development, including "to do" lists, emergent designs, problems they are encountering, and rationales for implementation decisions. They serve as a kind of "offline memory", that helps engineers in several ways:
  • It helps them to quickly re-establish what they were working on at the start of each day, or if they have been interrupted from the project for multiple days.
  • It provides a media in which to work out issues and questions they are having during development.
  • It supports management of the many 'micro-tasks' that emerge during development. By maintaining a "to do" list, the engineer can keep track of things that need to be done later without interrupting the current task.
For over 10 years, I have kept a traditional engineering log in a series of notebooks. This blog represents an experiment in moving my private, personal, offline EL into a shared, public, online setting. I am interested in understanding what the trade-offs are between private offline ELs and public online ELs.

Pros and Cons:

Advantages of Online Engineering Logs:
  • People can comment on postings. So, you can indicate an issue you're having in your EL and someone might help you with it.
  • By tagging a post with the issue ID, you can search the online EL later to recover design rationale information.
  • Other developers in your workgroup can subscribe to your blog in order to keep track of what you're doing without interrupting you.
  • It is easy to include images.
  • It is easy to include links.
Disadvantages of Online Engineering Logs:
  • There is a huge privacy hit. It is definitely way different to be writing in a public forum vs. your own notebook where no one is going to see it. I am interested to see whether this is ultimately positive or negative.
  • You have to be online to manipulate them. I will perhaps be writing things on paper and transferring to this blog?
  • At first, you spend a lot of time fooling around with formatting.
  • It is hard to doodle.

Adapting the Blog media to Engineering Logs:
  • It's not clear that you want to maintain strict timestamps. For example, I want to maintain this list within this entry over time and edit it repeatedly. It would not make sense to build up this list by scattering it across all of the days that I came up with items. I have edited this entry repeatedly over the past several weeks, which seems perfectly appropriate. This seems quite counter to the conventional wisdom for maintaining engineering notebooks, where timestamping your thoughts is a critical feature.
  • Personal vs. Project Engineering logs. One could imagine keeping a single blog for a project, with multiple authors, or having each author keep their own blog, and use tags to indicate the project. I am not at all sure what the pros and cons these approaches are.
Related links:

Engineering notebooks are related to engineering logs but are more focussed on patent protection:


Some example online engineering logs:

None of these seem to fully exploit the possibilities of modern blogging infrastructure for supporting online engineering logs.

2 comments:

Austen said...

I've been writing informal task lists to mark what I have accomplished and what I plan to do, but I have found that my notes are messy, unorganized, and sometimes have no date.

Online ELs seems like a good idea, but I worry about the tediousness of having to re-write what you wrote on a hardcopy. I would really have to be diligent and enter information into the log everyday. I just might just start my own little experiment to see how if an online EL will help me be more organized. :D

Philip Johnson said...

I don't think you need to choose to use the online EL exclusively. I still use my offline EL occasionally, for example when I'm trying to draft some kind of drawing. Also, for quick ToDo lists, hardcopy seems better.

I definitely don't think it's appropriate to copy anything from one media to the other. I think you should use the media that you think makes most sense for the task at hand.