BA’s can be a good choice in this scenario but are they truly called BA’s? Our preference is to call these roles ‘Agile Business Analysts’ (ABA) as the responsibility changes from the traditional sense. Primary responsibility of the ABA is to extend off of the product owner responsibilities. Key difference is that the ultimate decision must be maintained by the product owner and a good product owner will insure checkpoints in this process to govern that responsibility.
One option that we experimented with was to assign this role to lead system engineers on the scrum teams. Seemed like the natural path at the time. We tasked these individuals with working directly with the product owners in grooming backlog prior to any release planning. They worked with various subject matter experts or customers to refine epic user stories into actual sprint-able stories. They often spent their days talking with software architects or user experience designers to help gather conformance for the stories.
Impacts experienced from this involved the need to cut back these individuals sprint capacity because of the ever increasing demand upon their time as an ABA. We found some lead engineers could only be tasked at 20% development capacity due to the ABA role taking upwards of 80%. Even then we still found product backlog not being as prepared as we liked coming into sprint planning. Unhappy developers also were encountered as our best developers were not the ones doing the coding and experience taught us that most senior engineers really like to develop code. Along with inconsistency across different product lines of ABA work and the difficulty in finding lead engineers that also wanted to be Business Analysts, we next evolved to a different path.