Did a first-pass addition of a feature, designed to requirements.
Today at a meeting I got jumped on because the feature didn't work like what they wanted. Unfortunately, it's partially a matter of the requirements not being clear. Essentially, what they want is something that will trigger the data collection and saving of a file some ten seconds before an event takes place.
Of course, that's impossible. What has to happen is that several seconds worth of data gets saved to a buffer that constantly refills and drops old data off the back end, then when the event happens, it saves tha buffer.
The problem is that the only data that is saved is not saved continually. It is saved in spurts, and the spurts are not necessarily contiguous: it could save one second out of every hour if that's the way it's configured.
One of the requirements states that this is the data that will be saved, but that's not what is actually wanted. What is wanted is that the data looks like this data, but it's actually different data. Data that's collected by a mechanism that doesn't actually exist yet.
It's further complicated by the separation of the data into groups. There is no mapping of the data into groups at the level where it is available, so I also have to synthesize the mapping. And I'm limited to the existing file format, and the fact that groups are computationally exclusive while data collection is not.
It's considerably back-to-the-drawing-board.