What is also key is understanding that this is almost never the way that happens.
It goes more like this:
We have this big honking system that nobody really understands. We need a system that does X (where X is the list of features we think the other system does that are critical. X is subject to change as we discover other features to add and features that actually weren't necessary.) Please implement X this way.
And that can easily become an exercise in extreme frustration.
It goes more like this:
We have this big honking system that nobody really understands. We need a system that does X (where X is the list of features we think the other system does that are critical. X is subject to change as we discover other features to add and features that actually weren't necessary.) Please implement X this way.
And that can easily become an exercise in extreme frustration.