So recently I’ve had a few tasks to complete that involved me, a software engineer, doing more of a requirements collection and analysis of those requirements. It got me thinking, as I have in the past about this, what are the benifits and negatives of having a single person do the business analysis and software engineer work?
The largest issue that looms overhead is that a software engineer is what they are because that is solely what they want to do. A business analyst is usually a business analyst for the same reason. Being they are distinctive functions having a single person complete the tasks usually means one of the functions will suffer dramatically. Many software engineers are not practiced, coherent, or even good at collecting requirements. Many business analysts could not develop a single window basic windows application. When crossing functions like this it is almost gauranteed to slow down the development schedule.
The largest positive for combining the roles is that the software engineer becomes intimitately familiar with the business functionality (which I strongly believe should be the case, regardless of split roles or not) and also is familiar with the functional application side of that business function. This can lead to faster turn around time on defects, bugs, etc. However, in some cases, and definitely in large corporate development environments this is absolutely not the case. Even attempting to combine business functionality into a software engineer’s scope is impossible as the functional knowledge required to develop and maintain large corporate applications is far more than a single person can perform. In small development environments it is crucial to combine these roles as closely as possible.
I really need to dig up some of the efficiency charts for divisions of labor like this. It would be interesting to know, see, or even figure out where the efficiency points cross. Is it in teams of 4-5, maybe as large as 6-7 before a business analyst is needed, or maybe vice versa? Feel free to toss me a comment on any data one might know about in studies related to this.