What is the Agile philosophy around the criteria for a groomed story and Tech team responsibility?
(I deliberately phrased the explanation as antagonistic for the sake clarifying the opposing viewpoints.)
The user-experience designer (UXD) develops wire frames for an epic (say, filling out a form). UXD considers all aspects that will go into the epic, to make sure all the features fit together (for example: display fields, validate, save, edit, delete - all occurs on one page). UXD attaches the wire frames to all stories that are dependent on it (each of those features might be one story).
Then the Dev Lead comes along and looks at a single story and says "the wire frame needs to be modified". Dev's concern is that (and I don't know where this quote came from) "any developer should be able to pick up any story and work on it immediately". Could UXD please remove the elements that are not relevant to the story in-question. (eg.: story X only covers display of fields, not edit or delete, so needs a wire frame that only has display, and not edit/delete.)
That's a problem, in my opinion. There is a lot more work to be done after the Business Requirements and wire frames are done. The dev team still needs to determine what those specs mean to them. It is on their shoulders to pull from the wire frame the specific implementation for this story. Wire frames are not Software Design Documents, and this is not a waterfall methodology, where everything spelled out in detail.
Putting too much in is a problem for Devs, but not putting enough in seems to be a problem too. Devs will not develop something that is not explicitly spelled out. E.g. If leaving a page is not explicitly called out to save data then developers will write functionality to take user to the next screen - and all the data is lost.
In other words, Tech Lead does not feel it is a Technical Requirement to prevent data loss. All requirements are Business Requirements. If business doesn't ask for it, they won't build it. (And therefore, the onus falls on Biz and UX to specify "PLEASE DON'T LOSE DATA").
It is my contention that the Dev is shirking their primary responsibility - which is to provide technically correct solutions for stories. Where I come from, every role owns their aspect of the product. Tech is responsible for saying "We will not lose data on my watch - and we don't need someone else telling us that".
It is my contention that the Dev Lead is stuck in a waterfall mentality - where they expect every detail to be documented and their role is to only build what is documented. but Agile Methodology explicitly calls for face-to-face collaboration, and working code is preferred over documentation.
But the Dev Lead has said explicitly that - if it is not in the wire frame, we will not build it. Where I come from, we call those people "code monkeys".
My question is: where is this line drawn? and what if the dev team is not open to negotiate where this line is (because they're too busy coding)?
Could UXD please remove the elements that are not relevant to the story in-question.
-- So the UXD must provide individual wireframes for the title of this post, the body of the question, and each of the links below the question? No, I don't think so.If leaving a page is not explicitly called out to save data then developers will write functionality to take user to the next screen - and all the data is lost
-- That developer is incompetent, no matter what the specs say. If something doesn't look right to me, I ask questions.Tech Lead does not feel it is a Technical Requirement to prevent data loss. All requirements are Business Requirements. If business doesn't ask for it, they won't build it.
-- This is obviously absurd on its face. The whole point of modern agile methodologies is to prevent these kinds of software design failures and project catastrophes. If your process doesn't leave room to fix things like this, then your process is broken.