|
|
|
|
|
by noduerme
1536 days ago
|
|
I just had a recent situation like this which initially presented as a simple calendar / due date list, but then spiraled into some dreaded fuzzy set of if/then cases as the client began to add requirements for due dates of certain items in a certain order that would take priority over other items due on the same date, or missed items, or future items that could be done in advance. After two weeks of increasing horror, and four attempts to write the algorithm, I sent the client something I called the "Blueberry Muffin Problem" email, as a reference to that scene in Casino. But there is no logical way to do this, I said. Anyway. This led to a series of conference calls in which we finally were able to see a clear strategy. End result: 40 lines of immaculately clean code, roughly $10,000 at $200/hr, problem solved. I obviously wasn't paid for writing the code in this situation; it was for spending enough time with the problem to find all the edge cases, and figure out the right questions to ask to get to the solution they needed. |
|
This is how Jon Bentley starts his classic Programming Pearls
"What are you doing...and why?"[0] is almost always the best place to start when tackling requests from customers
------------
[0] my review/reference in relation to this exact problem, of asking the right question