This may be difficult to explain in abstract terms but I'll give it a go. Basically I am trying to figure out how to scale up capacity in my team without hitting bottlenecks where inputs are needed from key (experienced) individuals. I have some ideas but interested to see how others approach this.
Essentially there is a large pipeline of work (many projects / workstreams / BAU etc) for which more resource is required. However, simply adding more bodies will not solve the problem because those bodies need some level of direction. To use an analogy, adding more people to crank the handle only works if someone can figure out in advance how to hook the handle up to whatever actually benefits from the handle being cranked. And that 'figuring out' piece is due to the nature of the work very, very difficult to do without having built up a knowledge of the incumbent architecture etc, so even very intelligent/skilled newcomers would not be in a position to do it in the short term until they had got to grips with a lot of bespoke complexity with the system. Even if I bring in experienced contractors/consultants there would be a lead time and of course a problem when they move on and the knowledge leaves with them.
So the problem is that even with more people we are constrained by how many different things a small handful of senior team members can do. This creates a pipeline bottleneck so doubling the team size wouldn't double the output. In the longer term the strategy is to skill up other members of the team so that they can perform this duty, by exposing them to this activity under the tutelage of the senior people. But there is a lot to learn so that takes time, and also a level of risk involved with having multiple architects potentially not always behaving consistently. There's also the awkward catch22 of the desire to conduct knowledge transfer being constrained by the need to keep delivering on short term milestones (many of which are not really negotiable, so ramping down output in the short term to ensure better long term output isn't entirely feasible).
Currently my thoughts are basically to:
-Target recruitment on specific gaps that need filling and reducing workload for senior team members
-Give development opportunities to permanent staff to gradually pick up more of the bottle-necked responsibilities [essentially: grow people into senior roles]
-Where feasible, farm out transitory activities where we don't need to retain much knowledge to third parties
How do other people approach this? The conundrum is basically that I can hire technical skills off the shelf, but I can't hire in-depth knowledge of our systems architecture off the shelf and people still learn new things after a year in the job.
Essentially there is a large pipeline of work (many projects / workstreams / BAU etc) for which more resource is required. However, simply adding more bodies will not solve the problem because those bodies need some level of direction. To use an analogy, adding more people to crank the handle only works if someone can figure out in advance how to hook the handle up to whatever actually benefits from the handle being cranked. And that 'figuring out' piece is due to the nature of the work very, very difficult to do without having built up a knowledge of the incumbent architecture etc, so even very intelligent/skilled newcomers would not be in a position to do it in the short term until they had got to grips with a lot of bespoke complexity with the system. Even if I bring in experienced contractors/consultants there would be a lead time and of course a problem when they move on and the knowledge leaves with them.
So the problem is that even with more people we are constrained by how many different things a small handful of senior team members can do. This creates a pipeline bottleneck so doubling the team size wouldn't double the output. In the longer term the strategy is to skill up other members of the team so that they can perform this duty, by exposing them to this activity under the tutelage of the senior people. But there is a lot to learn so that takes time, and also a level of risk involved with having multiple architects potentially not always behaving consistently. There's also the awkward catch22 of the desire to conduct knowledge transfer being constrained by the need to keep delivering on short term milestones (many of which are not really negotiable, so ramping down output in the short term to ensure better long term output isn't entirely feasible).
Currently my thoughts are basically to:
-Target recruitment on specific gaps that need filling and reducing workload for senior team members
-Give development opportunities to permanent staff to gradually pick up more of the bottle-necked responsibilities [essentially: grow people into senior roles]
-Where feasible, farm out transitory activities where we don't need to retain much knowledge to third parties
How do other people approach this? The conundrum is basically that I can hire technical skills off the shelf, but I can't hire in-depth knowledge of our systems architecture off the shelf and people still learn new things after a year in the job.