-1

Business context: as a business analyst, I need to cooperate with the developers in our team to create a feature in an e-commerce product. This feature is “customers can pay online for the items they want to purchase”, the main user journey of which is that I, as a customer, click “buy now” in home page and will be directed to payment page where I need to enter my shipping info (the total price on the right side of this page will vary based on the shipping info I enter), and when I finish payment I can go to order management page to check my order info.

home page prototype

payment page prototype

order management page prototype

Problem: as a business analyst, one of my job is to identify the dependencies among different functions in a feature. However, I don’t have any tech background and can just tell the dependency from user journey side but cannot tell the dependency from tech/developing side. So I put these dependencies I identified from business side here and may someone can help identify if the dependency exists from tech/developing side (new functions we need to create in this feature are “enter shipping address in payment page”, “the total price on payment page will vary based on shipping info” and “display shipping address for each order on order management page”, and I already marked the three parts in prototypes with number ①②③, please check).

  • dependency#1: ② happens after ①,so they have dependency. Do they have dependency from tech/developing side / can developers develop the two parts parallelly?

  • dependency#2: ③ happens after ①,so they have dependency. Do they have dependency from tech/developing side / can developers develop the two parts parallelly?

5
  • 1
    Hi Chris, welcome to PM.SE. Your question starts with a very nice subject but then, half way through it, you add in bold something that's specific to your project. Questions on StackExchange are expected to be built in such a way others can understand your problem and also benefit from them, so I suggest you to rewrite our question removing the bits that are too-specific and not good for a Q&A format, otherwise your question may be closed as it will be off-topic. Check help center for more about it.
    – Tiago Cardoso
    Aug 15, 2021 at 14:34
  • Thanks for your reminding. But I wanna ask a question before I rewrite my question. May I ask tech questions in PM.SE? I mean, the reason why I make my question so specific is that I wanna get some tech suggestion. But if I rewrite and remove some bits, I may not get what I wanna know.
    – Chris Ma
    Aug 15, 2021 at 22:34
  • Mmmm, really depend on what you mean by "tech questions". In case of doubts, check on-topic to see what kind of content is expected to be discussed here. If you expect to have someone saying what technically needs to be considered for your specific project, then StackExchange isn't likely to be the right place to search for this answer.
    – Tiago Cardoso
    Aug 15, 2021 at 23:39
  • @TiagoCardoso Stack Exchange as a whole? Isn't that what softwarerecs is for? Granted, I've never used it, but I'd assume...
    – Sarov
    Aug 16, 2021 at 13:39
  • Hi @Sarov - it depends on how the question is framed. Back in the days, there was a specific off-topic closure reason called "too localized". THIS question and specially, shog9's answer might explain better what I mean by too localized than I'll ever be able to within 500 characters. With that in mind, "How to identify if some functions have dependencies from tech/developing side in agile development as a business analyst" is a very nice, on-topic question. "may someone can help identify if the dependency exists" in my project, not much.
    – Tiago Cardoso
    Aug 16, 2021 at 22:29

2 Answers 2

2

Speaking as a PMP who had trained new project managers, I will gently suggest it is not a business analyst's job to identify technical dependencies. As the word "business" in the job title implies, it is only your job to identify functional dependencies, which you have done very well in your question. No business analyst I've worked with was expected to find technical dependencies.

You don't mention what kind of project management is being used. In a waterfall project, either there should be someone like Stanislav suggested, or the project manager should be scheduling technical meetings for the team to refine the requirements from the technical viewpoint. In that case, I suggest you speak to the PM about giving the team more ownership--which will benefit the team as well. Not getting the technical aspects of requirements clear before starting work on them is guaranteed to be slowing the team down and causing aggravation.

In agile projects, that kind of ownership is built in. For example, in Scrum, the process of "grooming" allows the team to go through requirements (usually in the form of "user stories") every sprint, as part of a Planning Ceremony or separately. In that case, you'll want to speak to whoever facilitates your iteration team meetings.

My point is that in either method, an empowered team is responsible for doing what you are unfairly being asked to do.

3
  • What a detailed explanation for my question. Thank you so much "The Radical Agilist". I could tell you why I wanna identify dependencies from tech side even if I know this's not the responsibility of business analysts. The first reason is that we don't have to slice stories only when tech lead is here (TL is not available sometimes), which will reduce communication cost. The second reason is that we need to summarize some simple and common tech dependencies so that we don't repeat the same simple and common question for Devs every single time.
    – Chris Ma
    Aug 15, 2021 at 8:19
  • @ChrisMa, when the TL is not present, slice the stories according to your functional understanding. Then present the sliced stories to the developers (or just the TL) and ask if they see a technical reason why story X should be implemented before story Y and ask if you missed a technical enabler story that contains the work that would otherwise end up in the first scheduled story. And keep in mind that the understanding of dependencies can change over time. Aug 15, 2021 at 20:44
  • @ChrisMa, Bart said it well, and I will go a step further: the entire team should handle both the technical slicing and the dependencies! On average over time, you will get better solutions than if you rely on a single perspective (the tech lead's). Aug 25, 2021 at 15:16
1

As you mentioned - you don't know tech side well enough to identify those dependencies. For this you need assistance from the dev team. And even devs can't always identify those dependencies right away - very often such dependencies are discovered later when they start implementing the functionality. The bigger/more complicated the project is - the worse this gets.

So you either need to get some tech lead/architect to go through the requirements with you; or just give devs whatever you have from the business side of things - and they'll do the work breakdown themselves before (or during) they work on it.

2
  • Thank you so much Stanislav. I see what your point is. As business analysts, we don't need to know much from tech side. But I take it that we should know at least some knowledge on the surface, which gonna contributes a lot to communicating with Devs. And business analyst need to write story cards for teams. If we know some common dependencies from tech side, we are able to slice or combine story cards in advance to reduce the communicating cost.
    – Chris Ma
    Aug 15, 2021 at 8:00
  • @ChrisMa, sure that would be useful. But in my experience this skill emerges by itself - when you hear devs discuss your stories. If you need a crash course, you can always ask devs to explain technical concepts to you. But I doubt this is going to be useful at the beginning of the project as devs will probably have a vague understanding of how it all is going to work out later. Also, you can get access to database and see how things are organized there, this will most likely help in these conversations. Aug 15, 2021 at 10:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.