After a fair amount of work estimating a new component for our current project, I finally nailed down, amongst other things, the specifications of our audit trail system. Following the XP concept of "the simplest thing that could work", I reduced the audit trail to two tables: audit type and audit item. The audit_item contained the following fields:
I was pretty happy with that until a coworker suggested that we use this to determine when a new item was added to inventory as this will be stored in the audit table. That's when it dawned on me that the one thing I forgot to include in the table is the item being audited
As a side note, the XP ideal of "simplest thing" has been a great antidote to a problem I have long dealt with: the assumption that if something was too easy, I was doing it wrong.