Developers decide the implementation

Trying to write implementation ready user stories is a complete losers game. The whole endeavour is premised on the idea that you can define every single aspect of a solution ahead of time, and you can write it down in a completely unambiguous way.

Even if you have the ability to define exactly how something should work, spare a thought for the poor developer on the receiving end. By over-specifying, you are taking away their ability to think for themselves and sending the message you know more about their work than they do. Thatโ€™s a problem.

Telling the developers what to do because you think it will be quicker is short-sighted and almost always yields the opposite result. You donโ€™t want to create a disempowered and demotivated development team, one that feels like they have no room to innovate or adapt. This is a rod for your own back.

Letโ€™s take a trivial example, adding a combo box to a screen. Where should it be located? Will it be fixed width or scale when the window is resized? Does it have a min or max width constraint? Should an option be pre-selected or left blank? Should the text be localised? Does a message need to be shown if not selected?

Instead of answering all these questions upfront and stuffing them into the user story, explain to the developer that the user needs to make a selection when completing an existing journey. Reference the design system already in place and other relevant industry best practices that apply.

Ask for an early preview when something is provisionally working and decide what, if anything, is required next. Treat changes as a snag list rather than an exercise in new user story writing; review with the developer and bullet out the changes together.

Youโ€™ll quickly find this to be a much more efficient and satisfying approach to take.