Agile – Should a Business Analyst write API user stories

agileapifunctional-requirementsRequirements

I work as a Business Analyst in a S/W development firm. At a previous company I was a BA in Asset Management, and the BAs there were more Business oriented (i.e. less technically inclined).

We are currently building a web application and I'm using JIRA to write the user stories, acceptance criteria etc for the functional requirements.

I'm writing user stories to describe functional requirements:

For example:

As a Client User, I want a confirmation email to be sent once I've
registered an account, So that I have confirmation that my
registration has been completed.

Acceptance Criteria:

  • The registration wizard will send an email to the registered email ID once the wizard has registered the Client User
  • A confirmation message will be displayed on screen so that the Client User knows that registration has completed
  • Client User will automatically be redirected to the Portal upon clicking on 'Finish' etc.

There are some developers that think I need to write the associated API tickets as well, and there are other developers that think it's not the role of the BA.

The thing is that whilst I've studied IT, I've never actually studied APIs in detail nor have I previously worked as a professional developer. I moved into Business Analysis directly.

Is it the role of a BA to write API tickets in a software development project? Or is it the role of the developer to write the associated API tickets as subtasks of the stories I write?

All the BA sites I've visited only talk about functional/non-functional requirements when writing User Stories (like the example I provided), and not of writing API tickets.

Thanks!

Best Answer

IMHO the key point, which was already mentioned in the comments, is if the API is an external requirement (because your system offers third parties a possibility to access it programmatically), or if it is an internal implementation detail.

For the former situation, it can be sensible to see the API as part of the business requirements, so something which a BA would be responsible for. For the latter, it makes often more sense to let the API be in the responsibility of the developers in the team.

Note this is just a "model by the book": if you want that separation between the "typical dev role" and "the typical BA role" in your organization to be that strict is up to you and your team. A really agile team should distribute the responsibilities the way which works best among them, not the way some theoretic model defines them.