|
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
|
|
|
|
|
It was something of a red herring for me to call it a waterfall model, because there isn't much point in designing or coding until the requirements are reasonably firm. After that document was written, a meeting was held to review it before development began.
Yes, limiting the interaction between users and coders is important once development begins!
SMOP = simple matter of programming?
|
|
|
|
|
Yes. Simple Matter of Programming
I tend to reduce most projects to this model: make a clear plan, gather all needed resources, execute plan, so essentially I want to get to the SMOP even when it's not really programming
|
|
|
|
|
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;
|
|
|
|
|
Gary R. Wheeler wrote: Let me guess: he hired a bunch of his cronies from the old place. Yep! You got it!
|
|
|
|
|
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. 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.
|
|
|
|
|
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
|
|
|
|
|
|
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.
|
|
|
|
|
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 believe the BA's do serve an important part of the business, but like someone else mentioned on here, they need to have domain experience or working to gain that experience.
Ideally, as software engineers, we are all very, very busy (thankfully!). When the business wins a new customer or an enhancement for an existing customer, the BA's come in to clarify the customer's needs from a "business" perspective.
Meanwhile, us software engineers are working diligently to keep up with the work we already have so it's nice that we have the BA's out there getting our future work ready.
When the new work is defined enough from a business standpoint the engineers can be brought in to start figuring out the technical details to satisfy the business requirements. The BA's are consulted about requirements as the tech team comes up with a plan.
As the project moves forward the BA's will start to focus on other needs since they won't be consulted as much as they were in the early stages.
I don't know what company your with, but I'll bet you are just seeing growing pains since the BA role is new to the company. The BA's are probably still learning the domain so they aren't as effective as they will be in the future.
Hang tight if you like the company. The BA's should make your life better once they get some runway.
|
|
|
|
|
I have to agree with you. I've never worked with a BA who was worth their salary, but I'm sure there are some out there.
My Agile story is when "we're going to try Agile on this project!". Then everyone except the technical people go away, and come back six weeks later with a 60+ page requirements document written by the BA.
Sigh. No, that's the opposite of Agile.
Of course, the document was so poorly considered, we had to do agile-like cycles of development/review/etc anyway. Only six weeks later.
|
|
|
|
|
The (flawed) business reasoning behind the proliferation of PM's and BAs is that because they work for less money, overall cost can be lowered for development by using less (and more expensive) software developer/engineer positions. The (again, flawed) thinking is that these non-technical PMs and BAs are offloading on a one-for-one person-hour the PM/BA type work from the developer.
Of course, this (flawed) thinking comes from the business types who have no clue how software engineering actually works.
|
|
|
|
|
Interesting, I hadn't thought of it that way -- the average salary decreases by hiring more resources.
|
|
|
|
|
Yes. Been there, done that!
|
|
|
|
|
The two times I recall being handed a spec I threw it out and wrote something better.
|
|
|
|
|
In my opinion, it works best when you don't have business analysts, project managers, or even programmers / coders. Managing projects and analyzing the business needs is the responsibility of software engineers. You get better end results when the people writing the code are deeply involved in understanding the business needs.
|
|
|
|
|
Member 7799927 wrote: You get better end results when the people writing the code are deeply involved in understanding the business needs. You summed it up perfectly, with this one sentence.
|
|
|
|
|
While BA's can be useful, they should be used appropriately as an adjunct help to the developers.
I wrote this about 1-1/2 years ago, and still believe this is true - from years of experience, having done it, and having seen it in action. The trick is finding the experienced engineers capable of project management and technology management with sufficient people and business skills. There are those out there who can, and within that population, those who will. I have seen on several occasions how non-technical management makes a mess out of technical projects. Some just take longer, cost more, and result in mediocrity at best; some were complete failures.
Soup to Nuts[^]
As for Agile...
Agile Principles from a Traditional American View/[^]
Rethinking the Software Development Life Cycle (SDLC)[^]
|
|
|
|
|
Great articles in your links.
|
|
|
|
|
|
I feel like you're describing an FA instead of a BA.
BA's basically mess around by "identifying" abstract business objects of value, typically for internal reporting to a board or a director. Then they make requests for implementing a business layer that respects and reports on those objects.
This is done to give the board members a false sense of security.
In reality, however, business objects are figments of someone's imagination made concrete, for no clear reason other than to show graphs or metrics. This in itself can create value if your brand narrative relies on fancy graphs and is mostly B2B oriented.. but the exact same result can often be achieved by measuring actual objects, so I fail to see the point of mucking up a code base for imaginary points of interest.
|
|
|
|