Recently we have all been stuck indoors and as such, some of us have taken up jigsaw puzzles. Let’s assume you have bought a second-hand jigsaw puzzle. This is much like taking over a system.
There are two approaches to solving a jigsaw puzzle or learning about a domain. Working from the pieces up or from the full picture down. Using this analogy I will go through why I think the latter has more benefits.
When you start with the pieces numerous things can happen:
1. There are two jigsaw puzzles mixed in the box
It might not be clear that you have more than one jigsaw until you have struggled to put similar pieces together and found they don’t look quite right. It’s a lot of wasted effort and can be incredibly frustrating.
In terms of preloved systems, this is what can happen when you try to figure out a system from components up when it turns out there are two domain areas you are responsible for. In these systems, these domains might not be clearly separated. It can be much harder to separate than two jigsaw puzzles and really hard to see clearly.
2. There are missing pieces
For a second-hand jigsaw puzzle, missing pieces can mean not finishing the full picture.
For pre-loved systems, a missing piece can happen from a number of situations. There might be parts of your domain that haven’t been handed over or documented. It may be that for some reason another team has that missing piece of your domain for some historical reason. It could just be that there is a piece of the system that hasn’t been thought of or created yet that could enhance your domain as a whole.
3. There are extra pieces
You might not have a full extra puzzle but you might have a few extra pieces that don’t fit. You wouldn’t find out until the majority of the puzzle was done that this was the case.
Again, with your systems if there are extra parts of the system that don’t seem to fit, there could be numerous reasons for this. It may be that you’ve been handed a piece that fits in someone else’s domain. It might be the extra components aren’t used or aren’t finished, in which case you might be able to deprecate them. We all love deleting code and saving money after all!
4. You can fit pieces together, but they don’t look quite right.
Whether it’s part of the above, or as part of figuring out one jigsaw, sometimes pieces almost fit together but don’t look right. You end up moving pieces around and eventually working out how they fit.
For systems, this can also happen. It can take time and energy to figure out how parts of the system fit together in which order. We can get it wrong multiple times before getting to that final picture.