0

Context

This is related to a question I asked regarding the challenges of a small company working with an external dev team which had some great feedback. For context, I am a PO of a small company in the UK which have an externally based dev team. I have heard horror stories from other businesses at various events when changing dev teams, with the majority of them saying to avoid it at all cost. There seemed to be a running pattern of external dev teams making it as difficult as possible for them to go elsewhere.

Question

I am not currently in a position where we are searching for another dev team but I wondered what the challenges might be when making the move to switch from an established external dev team to another team in the future (maybe an in house team or another external dev team) if it is deemed necessary? Are there any recommended fail safe procedures that can be put in place early doors to smooth it if it was to ever happen?

1
  • This question is asking for an unscoped enumeration of possibilities; it is intrinsically an opinion poll. These types of open-ended questions don't allow for a canonical answer and are not a good fit for this site. With sufficient editing to narrow this to a pragmatic and well-scoped question, with clearly-defined parameters and explicitly-documented assumptions that would allow for a canonical answer, the question could potentially be reopened by the community. However, as currently written it is off-topic and must be closed until it meets our community guidelines.
    – Todd A. Jacobs
    Dec 10, 2022 at 8:26

2 Answers 2

1

On the engineering side some of the things that help with team changes include:

  • Living documentation - i.e. continually updated and used to ensure it is still useful
  • Good regression test coverage - ensuring that people who are new to the code are confident enough to make changes
  • Avoid accumulating technical debt - this will be harder for new people to deal with

Techniques like Behaviour Driven Development (BDD) are also really good at building maintainable code that can pass between teams.

0

There is no such thing as a "fail-safe." Everyone is replaceable. All the time. In every circumstance. I answer that in an absolute way because our history shows that everyone has been replaced and/or will be replaced. What you need to examine is the benefits of replacing a person or team with its associated costs and risks and choose the alternate path that yields the best benefit/cost-risk ratio.

The first thing you need to examine is whether you have a single point of failure with the team. Have you enabled an organization where, if the team is removed and replaced, the impacts are so adverse that recovery is long and painful? If your organization is like this, then you have already failed on a business capability principle and risk management. It is not really about you choosing to remove/replace the team but more about what happens if the team disappears overnight - the "airplane crash" type of scenario. If your organization is resilient, you would have the capabilities in place to recover and continue with minimal disruption.

Therefore, if you had those capabilities in place, replacing your team for whatever reason would be enabled. Enablers are redundancy, clear documentation (as barnaby wrote in another answer), cross training, a bench, and a healthy attrition rate to name a few.

Not the answer you're looking for? Browse other questions tagged or ask your own question.