It’s not uncommon within specific software communities for there to be what we call “vertical” resources. I’m one, myself – a person trained to be able to handle the entire project, from project management, to business analysis to development work. There are specific reasons these resources exist and, as my customers tend to like, some benefits, as well.
What “Verticals” Do
The intention of using vertical resources is that they are supposed to know the product extremely well and to be able to jump in and do just about any work with the product. Here are some basics they are supposed to be able to do:
- Determine how long it will take and manage that (project management).
- Work with users to best design the new features (business analysis and system design).
- Properly create the solution (development and configuration skills).
With this said, no-one truly can do it all. However, vertical resources are experts that should be able to suggest to the customer areas that would better be handled by someone else. As one example, instrumentation parsing scripts tend to be handled by a small subset of people who are efficient at it and are really the most cost-effective people to have do this type of work. With all this said, that person might not be an expert at doing the task, but they should still understand the basics of what it takes to get it done.
Why They Exist
Services groups, especially those at software vendors, initially struggle to get enough resources for their projects. They need to have people who just take whatever the next project on the docket would be, for the most part. Thus, they send people out as projects come in and the resources are expected to deal with whatever situation they’re put into.
Why They’re Not Just Called “Generalists”
It’s because the opposite choice, people who do just one type of thing, aren’t necessarily called “specialists.” A Business Analyst isn’t a “specialist” unless they work in a narrow area where they truly know all the details. For example, if a Business Analyst (BA) only worked with Sample Manager in the energy industry, such as one BA that I happen to know, we might refer to that person as a “specialist” but I don’t know that we would call the BA that merely works with any LIMS in any industry a “specialist.”
Trends and Situations
We see trends throughout computing where we go between these two choices, where one becomes more popular than the other.
Software vendors who are extremely short on resources, and this can be true of the larger software vendors, too, but they will need to use “verticals.” Software vendors who have plenty of resources might still use this type of resource because they have a choice but, on the other hand, some of them will define more rigid roles for their people because they have enough resources to lay it out the way they want to.
Smaller projects tend to need the vertical resources. They tend to need someone who can do a lot of things because they don’t have large-enough projects or enough funding to have one specialist for each task.
But what about the larger projects? Should they use people who work horizontally (specialists in one area)?
It depends on the project. However, I personally have worked on large projects to fill-in in areas where there are not enough resources. There were some people hired specifically as business analysts or developers but not enough to keep all resources fully working at all times, as one example.
Thus, one situation where a “vertical” is useful on a large project, would be to work to assist the specialists in getting some stages of the project finished. Or, sometimes everyone on a project is “vertical” and can be switched around as the project is needed.
For a large project, what it tends to come down to is who is available. Large projects tend to need such a large amount of people that they do sometimes have to think more outside the box on this than the smaller projects in order to get the project staffed and finished.