Comment Re:Here's the list (Score 1) 119
We don't need engineering, we need mind-readers. If users had enough time to sit and be thoroughly interviewed about needs and preferences, they wouldn't need automation to begin with.
And further, how to make software maintainable in the longer run is highly disputed largely because it depends on "wetware" and unknowns, such as developer perception of code, and unknowable future domain changes.
It's more akin to writing technical documentation than to building a bridge: how do you write documentation that's clear to the audience, but flexible enough that it doesn't have to be largely reworked for every change.
There is no magic modularity formula: domain issues inherently intertwine (or can intertwine in the future even if not at original launch.) You can't hide intertwining, you have to find a way to manage it well.
To deal with this what we do is go quickly to the UI.. once you show them they can give you better feedback. There's also some research supporting this.