Sometimes we come across a challenge that baffles us. We try different approaches from different angles. Yet it doesn’t get resolved and things don’t quite work the way we would liketo.
If the issue is not mission-critical, we may just shrug our shoulders and move on. Life’s too short to solve every situation we stumble across.
Yet when we come across challenges that are mission-critical, it’s often surprising how much can be accomplished relatively quickly by breaking the scenario into a series of steps. Then, for each, to run mini-experiments until we get to accomplish the step.
The situation where two systems can’t talk to each other
We recently had to find a way to get two systems written in different languages and paradigms to communicate. On the outset, it seemed straightforward enough. We found a library to connect the two systems, we installed it and all seemed fine, except it didn’t work.
First we mapped out the steps we needed to work as:
- Display a simple result in the user interface of system A, originating from the connecting library;
- Display a simple result in the user interface of system A, originating from system B;
- Write the code we needed for system B;
- Write the code we needed for system A;
Teamwork conquers all
Working in a small team initially of two developers in the morning, then three by mid-morning, we found a solution in one day. We ran experiments until a step was solved, and then moved on to the next step. Not one of us knew the languages for both system A and B, and none had used the library before.
As a result, it’s likely that one of us alone working on the challenge could not have solved it in a week. However between three minds, we had the knowledge and creativity to complete the work.
While this happened to be a software issue, an experimental approach can be applied to most mission-critical situations. When combined with the knowledge and creativity of different skillsets, there’s nothing that can’t be accomplished. 🙂
Any questions? Feel free to contact us.