Let's say, I've been working on a watch. This is your ordinary pocket watch, it has hands, gears, shows the time...
About a month passes, and they want us to make this into a wrist-watch, still with the analog design, but fits nicely onto your wrist. They don't want to spend the time making a wrist-watch from scratch because we already have a pocket watch-- and they're kind of the same.
After a bunch of work, and an awful mess of gears, the watch is now a wrist watch, somewhat bulky but it is passable as a wrist watch.
Time passes, and they actually want this wrist watch to be a grandfather clock, instead of building one from scratch, because they both tell time.
So I scope out a design that will be easy to make this into Big Ben, so when we're done the grandfather clock we can make the next demand suitable.
Except, they now want wrist watch again, but with a digital read out, not analog. So we have to make the gears display analog time.
This is driving me insane, and I can't find a way to explain that these software projects that all seem similar are actually very different. They don't understand because they have a legacy system that's huge and ugly, as well as a new pocket watch that was small and simple and met the goals as originally scoped out, they want the pocket watch to grow into a LCD version of Big Ben. Instead of designing LCD Big Ben, we're screwing around wasting time working up-hill both ways.
I've attempted numerous times to explain this situation. They don't get it. Even worse, they seem frustrated and stressed out, give me assurances that changing tracks and starting fresh will happen-- "right after this next more change" ... which happens indefinitely.
I'm at a loss of solutions.
Solutions I won't accept:
- Say what I said here: I did that.
- Quit: No. That's not a solution.
- Attempt to wrap them in bureaucracy: I did that.