Developers don’t want to work from constant conversations with their customers, nor do they want user stories that are placeholders for conversations.
That’s because software development is an inherently creative process that involves being able to get into a ‘flow state’ for prolonged periods of time. And constant conversations, or even just the threat of having them, is an antithesis to that.
Unlike work that involves sequences of tasks optimised for efficiency, knowledge work is all about understanding and figuring out the right thing to do, which is usually context-dependent and highly specific to the person doing the work.
Working in a focused manner is not some ‘perk’ of being a software developer; it’s inherently part of being able to work on complex problems in complex domains effectively. The ability to focus is a reasonable expectation for any knowledge worker.
Every software developer has experienced times when they were so immersed in their work that literally hours passed by without being noticed.
I still code each week on open-source projects (even though I stopped working as a software developer 10 years ago) because the feeling of being really immersed in creative work is hard to beat.
However, the conditions for doing so are incredibly fragile to create and then hold on to. One unscheduled phone call or interruption can be enough to break it.
So what developers actually want is to schedule their work day to optimise the effectiveness of their creative work.
Well-defined user stories that have been fully refined ahead of time give developers the chance to implement stories without unexpected blockers or the need for unplanned, ad-hoc conversations.
Ceremonies, appropriate conversations and alignment of work should happen because they are valuable to the software developer, rather than imposed and to the detriment of the work.
I don’t think any of this is too much to expect in a development team.