Do we need Business Analysts?
-
IMHO: No At my previous company, we didn't have BAs - and when I joined my current company we didn't have them either. But that changed, a few years back, when a new head of IT came in and decided he needed to replicate the structure from his old place. We now have dozens of BAs and are constantly recruiting more. What this has achieved over the last 5 years, is: - Software Developers being down-graded to coders. To be honest, some are not troubled by this. They're also not troubled by sitting, on their own, in their bedroom for a whole weekend, playing computer games! ;) - A layer of obfuscation. Having someone who neither understands the business nor the technology as the 'go between', inevitably results in Coders not developing what the business actually needs. - Lack of ownership. Coders no longer feel responsible for working with the business to understand how a requirement can best be developed and delivered. - A disconnect. Where we once had software developers working directly with business users to solve a problem, we now have the person who truly understands the problem, not talking to the person who can solve it. What's even more puzzling is that we are trying to be Agile! I've never been convinced that Agile is better than other approaches - but I don't see where BAs fit in!
-
IMHO: No At my previous company, we didn't have BAs - and when I joined my current company we didn't have them either. But that changed, a few years back, when a new head of IT came in and decided he needed to replicate the structure from his old place. We now have dozens of BAs and are constantly recruiting more. What this has achieved over the last 5 years, is: - Software Developers being down-graded to coders. To be honest, some are not troubled by this. They're also not troubled by sitting, on their own, in their bedroom for a whole weekend, playing computer games! ;) - A layer of obfuscation. Having someone who neither understands the business nor the technology as the 'go between', inevitably results in Coders not developing what the business actually needs. - Lack of ownership. Coders no longer feel responsible for working with the business to understand how a requirement can best be developed and delivered. - A disconnect. Where we once had software developers working directly with business users to solve a problem, we now have the person who truly understands the problem, not talking to the person who can solve it. What's even more puzzling is that we are trying to be Agile! I've never been convinced that Agile is better than other approaches - but I don't see where BAs fit in!
An enterprise role is like a tool : if it is not used properly, it is useless, and can even be dangerous. I would not generalize about businees analysts not being useful.
-
IMHO: No At my previous company, we didn't have BAs - and when I joined my current company we didn't have them either. But that changed, a few years back, when a new head of IT came in and decided he needed to replicate the structure from his old place. We now have dozens of BAs and are constantly recruiting more. What this has achieved over the last 5 years, is: - Software Developers being down-graded to coders. To be honest, some are not troubled by this. They're also not troubled by sitting, on their own, in their bedroom for a whole weekend, playing computer games! ;) - A layer of obfuscation. Having someone who neither understands the business nor the technology as the 'go between', inevitably results in Coders not developing what the business actually needs. - Lack of ownership. Coders no longer feel responsible for working with the business to understand how a requirement can best be developed and delivered. - A disconnect. Where we once had software developers working directly with business users to solve a problem, we now have the person who truly understands the problem, not talking to the person who can solve it. What's even more puzzling is that we are trying to be Agile! I've never been convinced that Agile is better than other approaches - but I don't see where BAs fit in!
-
IMHO: No At my previous company, we didn't have BAs - and when I joined my current company we didn't have them either. But that changed, a few years back, when a new head of IT came in and decided he needed to replicate the structure from his old place. We now have dozens of BAs and are constantly recruiting more. What this has achieved over the last 5 years, is: - Software Developers being down-graded to coders. To be honest, some are not troubled by this. They're also not troubled by sitting, on their own, in their bedroom for a whole weekend, playing computer games! ;) - A layer of obfuscation. Having someone who neither understands the business nor the technology as the 'go between', inevitably results in Coders not developing what the business actually needs. - Lack of ownership. Coders no longer feel responsible for working with the business to understand how a requirement can best be developed and delivered. - A disconnect. Where we once had software developers working directly with business users to solve a problem, we now have the person who truly understands the problem, not talking to the person who can solve it. What's even more puzzling is that we are trying to be Agile! I've never been convinced that Agile is better than other approaches - but I don't see where BAs fit in!
Like all positions, there are varying degrees of people filling them. I've worked with different performers. Some of them are only good for documentation after the fact and require a lot of babysitting. Others do an amazing job of getting requirements out of customers that I'm pretty sure I might have missed. Good luck and patient!
Hogan
-
IMHO: No At my previous company, we didn't have BAs - and when I joined my current company we didn't have them either. But that changed, a few years back, when a new head of IT came in and decided he needed to replicate the structure from his old place. We now have dozens of BAs and are constantly recruiting more. What this has achieved over the last 5 years, is: - Software Developers being down-graded to coders. To be honest, some are not troubled by this. They're also not troubled by sitting, on their own, in their bedroom for a whole weekend, playing computer games! ;) - A layer of obfuscation. Having someone who neither understands the business nor the technology as the 'go between', inevitably results in Coders not developing what the business actually needs. - Lack of ownership. Coders no longer feel responsible for working with the business to understand how a requirement can best be developed and delivered. - A disconnect. Where we once had software developers working directly with business users to solve a problem, we now have the person who truly understands the problem, not talking to the person who can solve it. What's even more puzzling is that we are trying to be Agile! I've never been convinced that Agile is better than other approaches - but I don't see where BAs fit in!
Analyst to developer: I've been tasked with documenting the system requirements for you, so I need you to tell me the requirements and then I'll type them up in Excel.
-
IMHO: No At my previous company, we didn't have BAs - and when I joined my current company we didn't have them either. But that changed, a few years back, when a new head of IT came in and decided he needed to replicate the structure from his old place. We now have dozens of BAs and are constantly recruiting more. What this has achieved over the last 5 years, is: - Software Developers being down-graded to coders. To be honest, some are not troubled by this. They're also not troubled by sitting, on their own, in their bedroom for a whole weekend, playing computer games! ;) - A layer of obfuscation. Having someone who neither understands the business nor the technology as the 'go between', inevitably results in Coders not developing what the business actually needs. - Lack of ownership. Coders no longer feel responsible for working with the business to understand how a requirement can best be developed and delivered. - A disconnect. Where we once had software developers working directly with business users to solve a problem, we now have the person who truly understands the problem, not talking to the person who can solve it. What's even more puzzling is that we are trying to be Agile! I've never been convinced that Agile is better than other approaches - but I don't see where BAs fit in!
SteveH wrote:
Having someone who neither understands the business nor the technology as the 'go between'
That sounds like your main problem. If the BA lacks domain experience, they need to be good at gathering requirements from those who have it, in which case they can offload this task from developers. But if they try to do it alone, or if those who know the domain don't give them the time of day, it'll be like you say. For most of my career, I worked in more or less a waterfall model where the first thing to be written was the requirements document. Sometimes it was written by a BA type. Other times it was written by the developer, especially if it was an internal capability or could reference a standard and outline the subset of it that would be implemented.
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing. -
5teveH wrote:
They're also not troubled by sitting, on their own, in their bedroom for a whole weekend, playing computer games!
Don't blame other people's hobbies for the reason you hate your own life. Suck it up, or find a new job.
-
I thought you just had a nervous twitch from all the rage ;P I didn't mean to sound so harsh in my message... but the sentiment remains: If we don't like the job we have, we either suck it up or we find a better one. No good blaming other people who are happy/content with theirs.
-
IMHO: No At my previous company, we didn't have BAs - and when I joined my current company we didn't have them either. But that changed, a few years back, when a new head of IT came in and decided he needed to replicate the structure from his old place. We now have dozens of BAs and are constantly recruiting more. What this has achieved over the last 5 years, is: - Software Developers being down-graded to coders. To be honest, some are not troubled by this. They're also not troubled by sitting, on their own, in their bedroom for a whole weekend, playing computer games! ;) - A layer of obfuscation. Having someone who neither understands the business nor the technology as the 'go between', inevitably results in Coders not developing what the business actually needs. - Lack of ownership. Coders no longer feel responsible for working with the business to understand how a requirement can best be developed and delivered. - A disconnect. Where we once had software developers working directly with business users to solve a problem, we now have the person who truly understands the problem, not talking to the person who can solve it. What's even more puzzling is that we are trying to be Agile! I've never been convinced that Agile is better than other approaches - but I don't see where BAs fit in!
5teveH wrote:
a new head of IT came in and decided he needed to replicate the structure from his old place
Let me guess: he hired a bunch of his cronies from the old place.
Software Zen:
delete this;
-
IMHO: No At my previous company, we didn't have BAs - and when I joined my current company we didn't have them either. But that changed, a few years back, when a new head of IT came in and decided he needed to replicate the structure from his old place. We now have dozens of BAs and are constantly recruiting more. What this has achieved over the last 5 years, is: - Software Developers being down-graded to coders. To be honest, some are not troubled by this. They're also not troubled by sitting, on their own, in their bedroom for a whole weekend, playing computer games! ;) - A layer of obfuscation. Having someone who neither understands the business nor the technology as the 'go between', inevitably results in Coders not developing what the business actually needs. - Lack of ownership. Coders no longer feel responsible for working with the business to understand how a requirement can best be developed and delivered. - A disconnect. Where we once had software developers working directly with business users to solve a problem, we now have the person who truly understands the problem, not talking to the person who can solve it. What's even more puzzling is that we are trying to be Agile! I've never been convinced that Agile is better than other approaches - but I don't see where BAs fit in!
A GOOD BA is invaluable, a mediocre one causes all the problem you have described. I always managed to get myself included in the initial requirement studies, the follow up crap was left to the BA.
Never underestimate the power of human stupidity - RAH I'm old. I know stuff - JSOP
-
5teveH wrote:
a new head of IT came in and decided he needed to replicate the structure from his old place
Let me guess: he hired a bunch of his cronies from the old place.
Software Zen:
delete this;
-
A GOOD BA is invaluable, a mediocre one causes all the problem you have described. I always managed to get myself included in the initial requirement studies, the follow up crap was left to the BA.
Never underestimate the power of human stupidity - RAH I'm old. I know stuff - JSOP
Mycroft Holmes wrote:
A GOOD BA is invaluable, a mediocre one causes all the problem you have described.
Yes, we have both good and bad - and, (maybe not that clear from my OP), I wasn't saying that all BAs do a bad job. I was questioning their necessity. :confused: When working in a software development role, I have always preferred direct and continuous interaction with the end user. I find it much easier to get a proper understanding of their requirement and I, therefore, have a much improved chance of delivering the right solution, with fewer iterations.
-
IMHO: No At my previous company, we didn't have BAs - and when I joined my current company we didn't have them either. But that changed, a few years back, when a new head of IT came in and decided he needed to replicate the structure from his old place. We now have dozens of BAs and are constantly recruiting more. What this has achieved over the last 5 years, is: - Software Developers being down-graded to coders. To be honest, some are not troubled by this. They're also not troubled by sitting, on their own, in their bedroom for a whole weekend, playing computer games! ;) - A layer of obfuscation. Having someone who neither understands the business nor the technology as the 'go between', inevitably results in Coders not developing what the business actually needs. - Lack of ownership. Coders no longer feel responsible for working with the business to understand how a requirement can best be developed and delivered. - A disconnect. Where we once had software developers working directly with business users to solve a problem, we now have the person who truly understands the problem, not talking to the person who can solve it. What's even more puzzling is that we are trying to be Agile! I've never been convinced that Agile is better than other approaches - but I don't see where BAs fit in!
If you’re short on staff I would say no as a good dev will cover the analysis. This is where I like to be. If you’ve got the staff then I see BAs as a specialism: developers can spend more time on the technicalities whilst the BAs can dig deep on the “whys” around specific business practices, unravelling complex processes that as a developer you might find tedious. However, BAs and Devs need to both attend the core meetings to that BAs don’t become a go-between or worst, a poor information conductor ;)
-
If you’re short on staff I would say no as a good dev will cover the analysis. This is where I like to be. If you’ve got the staff then I see BAs as a specialism: developers can spend more time on the technicalities whilst the BAs can dig deep on the “whys” around specific business practices, unravelling complex processes that as a developer you might find tedious. However, BAs and Devs need to both attend the core meetings to that BAs don’t become a go-between or worst, a poor information conductor ;)
this is the truth of it.
-
IMHO: No At my previous company, we didn't have BAs - and when I joined my current company we didn't have them either. But that changed, a few years back, when a new head of IT came in and decided he needed to replicate the structure from his old place. We now have dozens of BAs and are constantly recruiting more. What this has achieved over the last 5 years, is: - Software Developers being down-graded to coders. To be honest, some are not troubled by this. They're also not troubled by sitting, on their own, in their bedroom for a whole weekend, playing computer games! ;) - A layer of obfuscation. Having someone who neither understands the business nor the technology as the 'go between', inevitably results in Coders not developing what the business actually needs. - Lack of ownership. Coders no longer feel responsible for working with the business to understand how a requirement can best be developed and delivered. - A disconnect. Where we once had software developers working directly with business users to solve a problem, we now have the person who truly understands the problem, not talking to the person who can solve it. What's even more puzzling is that we are trying to be Agile! I've never been convinced that Agile is better than other approaches - but I don't see where BAs fit in!
I'm not sure that you work on problems quite as complicated as I do. I work about 10 hours a day. Frankly, I need all the help I can get. I need the help of DBAs that know the connections and flow between the ... 20 or so databases that my system interacts with. There are literally thousands of sprocs. I have no idea what is in most of them. It's the same way with BAs. I've had useless business analysts and I've had ones that made my job a joy. Dealing with customers can be time consuming and problematic. If someone can offload that task, that's great.
-
IMHO: No At my previous company, we didn't have BAs - and when I joined my current company we didn't have them either. But that changed, a few years back, when a new head of IT came in and decided he needed to replicate the structure from his old place. We now have dozens of BAs and are constantly recruiting more. What this has achieved over the last 5 years, is: - Software Developers being down-graded to coders. To be honest, some are not troubled by this. They're also not troubled by sitting, on their own, in their bedroom for a whole weekend, playing computer games! ;) - A layer of obfuscation. Having someone who neither understands the business nor the technology as the 'go between', inevitably results in Coders not developing what the business actually needs. - Lack of ownership. Coders no longer feel responsible for working with the business to understand how a requirement can best be developed and delivered. - A disconnect. Where we once had software developers working directly with business users to solve a problem, we now have the person who truly understands the problem, not talking to the person who can solve it. What's even more puzzling is that we are trying to be Agile! I've never been convinced that Agile is better than other approaches - but I don't see where BAs fit in!
Absolutely agree with all of the comments. I found that BA's actually make things worse because they do not understand enough about the coding end to prevent business users from creating a mess. Realistically, a total waste that creates even more work. 'BA' = Business Agent because there is never any true 'analysis' being done, simply a pass-through person or go-between.
-
An enterprise role is like a tool : if it is not used properly, it is useless, and can even be dangerous. I would not generalize about businees analysts not being useful.
I agree, the OP's generalization is wrong, but not for the apparent reason -- the developers are being used wrongly, not necessarily the BA. IME, developers should have an understanding of what they are building, how it should work, and how it will be used. When managing a project, I have developers sit in on some of the requirements and design sessions, so they get first hand experience with the situation. This produces better results. The BAs and TAs have the lead in those sessions, but everyone participates. BITD, we weren't developers, we were Programmer/Analysts, and we had Business and Technical Analysts. The roles were not as stratified and IMO worked better. One project where we had clearly defined Programmers and Analysts did not go well, too much miscommunication and lost effort.
-
Absolutely agree with all of the comments. I found that BA's actually make things worse because they do not understand enough about the coding end to prevent business users from creating a mess. Realistically, a total waste that creates even more work. 'BA' = Business Agent because there is never any true 'analysis' being done, simply a pass-through person or go-between.
Member 14840496 wrote:
Realistically, a total waste that creates even more work. 'BA' = Business Agent because there is never any true 'analysis' being done, simply a pass-through person or go-between.
Yep! That's where we are at. I've seen comments from developers, on here, saying that it saves them time. But I prefer to spend time, fully understanding the problem by talking with the person who has the problem - rather than spending my time coding something that the BA (a) didn't fully understand and (b) didn't properly communicate the bits that they did understand. Chinese whispers comes to mind!
-
I'm not sure that you work on problems quite as complicated as I do. I work about 10 hours a day. Frankly, I need all the help I can get. I need the help of DBAs that know the connections and flow between the ... 20 or so databases that my system interacts with. There are literally thousands of sprocs. I have no idea what is in most of them. It's the same way with BAs. I've had useless business analysts and I've had ones that made my job a joy. Dealing with customers can be time consuming and problematic. If someone can offload that task, that's great.
Michael Breeden wrote:
I'm not sure that you work on problems quite as complicated as I do.
Over 50 front-end web applications, (some with their own databases), all interacting with our legacy system, which consist of over 1000 tables and 10,000 pieces of software. I wouldn't call it simple. Note. I use the term 'legacy' to describe it's long standing value - not as a derogatory term commonly used in IT these days.
-
SteveH wrote:
Having someone who neither understands the business nor the technology as the 'go between'
That sounds like your main problem. If the BA lacks domain experience, they need to be good at gathering requirements from those who have it, in which case they can offload this task from developers. But if they try to do it alone, or if those who know the domain don't give them the time of day, it'll be like you say. For most of my career, I worked in more or less a waterfall model where the first thing to be written was the requirements document. Sometimes it was written by a BA type. Other times it was written by the developer, especially if it was an internal capability or could reference a standard and outline the subset of it that would be implemented.
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing.Back in the day, we wrote up the requirements doc as a team of users (engineers), developers (we just called them programmers), a liaison (programmer who was also an engineer - me), and managers (BAs maybe?). We'd work until everyone understood the requirements and signed off on it, then it was just a SMOP, but everyone was clear on what they were producing and how it fit into the whole. This, I believe, is what is now known as the Waterfall model. BAs can be useful in keeping everything on track by keeping the big picture in mind and avoiding bunny trails that crop up when users and coders start to get excited :laugh: