What's The Role of BA/QA? Can He Interfere in Coding?

Hi,

I am a Software Engineer and have been working in IT for more than 10 years. Few years ago there was no such position called BA/QA and now you will find it everywhere. I have never got chance to work with BA in my career as i have been directly interacting with manager or customers/business. But now, we have got BA/QA in our team to take some work load off our solders. I always thought that a BA's job is to move requirements from business to Developers and put it in nicely designed document. What else a BA do? Do they have right to order developers on how to code? Do they have right to estimate work on behalf of developer? Or can they argue with developer on what estimation should be for specific work item?

Also, is it worth to switch from Developer to Tech BA?

Thanks

Comments

  • +2

    In my workplace the BA is just as you described, ensures the product being delivered is as described by the client, and does not personally interfere with any code.

    Do they have right to order developers on how to code?

    Take it up with your lead/project manager for the right answer, nowadays titles (especially in I.T) really don't mean much

    • Thanks! I'll definitely take this to manager.

      • +1

        I've been a BA for 10 years but spent 20 years before this as a programmer. I can often tell if a programmer is not re-using existing code or common functions (i.e. reinventing the wheel) based on the questions they ask or if they just don't know how to achieve something. Or if they are doing something not in line with our best practices.

        I'll direct them on what they should probably do, but ultimately let them do what they want if it achieves the solution and their team leader is happy.

        Usually, newer programmers think they are being told what to do based on this as they don't know I have previous programmer experience and they can react poorly to it, when they should take on board that advice seriously.

        As for the QA part, a BA should only be involved in test cases, functional reviewing and some basic testing, but they should not be "the" QA person, that should be a dedicated person/team.

  • +3

    I assume you have some understanding of what is SDLC‎, then you know BA's role.

    According to google; Business analysts (BAs) are responsible for bridging the gap between IT and the business using data analytics to assess processes, determine requirements and deliver data-driven recommendations and reports to executives and stakeholders.

    Do they have right to order developers on how to code?

    BA don't tell you how to program or what programming language to use. Its like you telling BA what Word processor to use. That is SE job.

    Do they have right to estimate work on behalf of developer

    No, Usually SE team leader involved in this.

    Or can they argue with developer on what estimation should be for specific work item?

    They can, then SE can limit the amount of work done to satisfy them. ie. less features, etc.

    Also, is it worth to switch from Developer to Tech BA?

    There are people switching from Developer to Tech BA (one who not good at coding), which involved no coding whatsoever.

    edit: PM (project manager/project owner) should oversee all this questions for better outcome.

  • +5

    In short, the BA tells you WHAT needs to done. You decide HOW to do it.

  • As a dev with 10 years exp i'd expect that you should know what the roles of a BA and QA/TA are and how they relate to SDLC, but then again I'm not even sure as you asked if a Scrum master is better than a dev in a previous forum post.

    • These roles didn't even exist few years back. As i said, i have never got to deal with BA/QA. These are not essential roles in SDLC if developers are capable of doing most of the things by their own.
      Yes, i asked about Scrum master role bcs i was curious to know more about it.

      • +1

        A few years back, really? No wonder the BA is questioning you. They have been around for at least 9 years when I started my first IT project as a Data and Process Analyst which is very similar to a BA role. You would not survive with that mentality in an Agile environment which is where Scrum Masters work. Good developers are capable of doing a lot of things technically but they don't usually understand exactly what the business needs.

        • Yep, and longer than that for me, have worked with BAs for at least twice that length of time.

      • I started in IT nearly 40 years ago (now retired), and these roles existed then, though not with those titles. BA and QA are the formalised roles for defining customer requirements, and testing. Given the (signed off) customer requirements, should define the testing requirements (ie the deliverables), there is significant synergy between the two. Note, many projects I worked on lacked the funding to support staff dedicated to these roles, rather the programmer/analysts did it all, even in quite large projects. Maybe this is the cause of your teams issues. Ideally the BA/QA should be fire-walled from the development team.

  • +3

    I think the key to it is building a relationship between the two roles. Nobody should be dictating what or how to do things. You both need to work together to achieve the result. That's where the maturity of the organisation really lies. Sounds like the relationship is off to a rocky start. I'd suggest hitting reset and establishing some common ground to set the foundations rather than arguing about role boundaries. Speaking from 12 years as a QA working in Agile.

  • +1

    You worked for 10 years in the industry and don't know about QA/BA roles? Is your company a small startup? Just about every large organisation have QA and some form or BA/SME role.

    • I have worked in both- as small as team of 3 and as big as Department of fire. Never got chance to deal with BA/QA. In companies where developers are capable enough to fill the gap, BA is not required. They just need testers.

  • +2

    I suspect BA was programmer himself before. Now he is finding improvement/bug in code which OP doesn't like.

    OP - If BA is advising bug/improvement then accept it and fix it rather than waiting for it to be found at later stage and screw-up deployments.

    • .. finding improvement/bug in code which OP doesn't like.

      I personally didn't mind it (I actually liked it) but most other SMEs generally don't like people questioning their work. It's the one thing they're meant to be the best at (but it's obviously not always the case!)

    • -1

      Developer can fix the bug using own technical knowledge. Do you mean to say BA knows more technical things than a developer?

      • +3

        Do you mean to say BA knows more technical things than a developer?

        He's talking about a developer taking up a more generic BA role. So the developer knowledge is still there.

        Never assume you know better than everyone else. I can't stress how important it is to work together rather than trying to prove you know best at the expense of the project outcomes.

        • +1

          ^ this. I did not mean to say BA knows more but now a days roles are not strictly drawn and there are overlaps. Always open to ideas of others and that helps you to deliver better outcome for project.

      • BA may know more things then developer depends on experience. Never underestimate others….

        • and how about BA underestimating a developer?

          • +1

            @Zbhatt: mate, would you like to describe real problem rather than generic questions like "Can BA Interfere in Coding" or "how about BA underestimating developer"?

            how about BA underestimating developer

            What do BA underestimating? Your logic or your coding skills or your feelings or your problems?

            Based on your post and your subsequent responses, it looks like we are running in circle and you are not quite satisfied or accepting answers/responses by community.

  • +6

    Few years ago there was no such position called BA/QA

    Really, I've been involved in business for nearly 25 years and have always had BAs involved.

    What else a BA do?

    A BA is there to determine not only to document requirements, but determine what the "best" requirements are in consultation with the business by using their knowledge of both business intent and current business design. In this way they can help shape a solution, not just blindly write down requirements.

    Do they have right to order developers on how to code?

    What do you mean? A BA shouldn't be instructing developers on "how to code", but should be very interested in the outcomes of the coding to ensure that business requirements, including non-functionals are adequately met.

    Or can they argue with developer on what estimation should be for specific work item?

    An appropriate challenge to an estimate should be expected. As ever, the basis of the challenge is the issue, not whether or not they can challenge. It may be that the BA feels you have misunderstood the requirements based on your estimate.

  • If a BA is telling you how to write code, there is something wrong with the process/roles in your company.

    A BA's job is to take vague business requirements - We'd really like a real time sales reporting system that also forecasts stuff' and turn them into feasible requirements - Create a sales dashboard by pulling data from X, Y, Z and displaying it in this format, use the data and XYZ algo to forecast sales when button A is clicked' …

    The Tech lead/ Architect decides on code structure and future proofs it. A good tech lead/architect would question the BA while doing this to draw out future requirements/ permutations/scenarios to avoid rework later.

    I've seen very few good BA's and a lot of bad ones. It's the bad ones who spend their time thinking about code and not working on creating and managing detailed/ idiot proof requirements.

    Edit: The only one who should challenge a dev estimate is the devops/tech lead. If a BA is trying to do that job - your company is trying to save money by combining two roles or your tech lead is not worth it.

    Source: I've been a Product Manager for 10 years.

    • -2

      Thanks a lot for your comment and explanation. This is spot on! Company is indeed trying to save money and hoping for fast delivery at the same time. (Which is not gonna happen..)

  • What the hell is a BA/QA? You mean a work place that's so tight that the only QA they want done is by someone who's primary role won't give them enough time to actually properly test anything other than the basics? In that case I'm not sure your protestations will accomplish much…

  • +1

    I've been coding in large corporates for almost 25 years. As long as I've worked in software development BA's (and QA's) have existed, so it's not a recent thing.

    And no, a BA does not tell you how to technically design software or write code. Usually they have no clue and wouldn't even attempt to do that. But occasionally you get one who is full of him/herself and thinks they are better than everyone around them, including the developers, and try to tell the developer how to write code because they wrote "hello world" in a HTML page on their PC. These people can become quite disruptive to the organisation and the quicker they are either spoken to, or shown the door if they wont change their behaviour, the better in my experience.

  • Few years ago there was no such position called BA/QA

    My wife was employed as a BA 16 years ago. No idea what her job entailed though.

  • Not sure why you'd think that there was no such thing as a BA until recently. BA's have been around as long as developers. I've been in IT for about 28 years and there's always been BA's. Sure, their role may have morphed, like with everyone else's, but that's to be expected.

    Developers can benefit a lot by working well with their BA's. Unfortunately there's a lot of devs out there who refuse to take guidance or feedback from anyone other than a fellow techie so you need to decide what sort of developer you are. I've seen rows between BA's and devs before but I've also seen them work really well together too.

    If your BA is poking around the code, then you need to talk to them and/or your project manager to set expectations. Perhaps there's a personality clash or something.

  • -1

    BA = waterfall methodology = fail

    • +2

      Haha agree on the waterfall methodology = fail part but you still have BAs in Agile projects which can be successful.

Login or Join to leave a comment