As part of the training I am receiving as an element of the new role, I recently partook in a Design Thinking course, where as there are no wrong or bad ideas (just ones with less impact and feasibility), one of the unthinkable choices for fixing a problem was to apply the resources of an infinite number of monkeys to the situation. What how can that actually help, and what are the real challenges for an infinite resource?
The challenge we were asked as a team to overcome was to improve (reduce) the time to operation for a specific deployment process within a business. This was primarily constrained by testing and validation resources within the teams involved.
I’ve been a fan of the Infinite Monkey Theorem since being introduced to it via Douglas Adams‘ Hitchhikers Guide to the Galaxy, when the protagonist Arthur Dent experiences the Infinite Improbability Drive for the first time.
Provided you have a large enough resource pool, tasks can be reduced in time (or alternatively if you can wait long enough, can be achieved with a resource of infinite lifetime). Given that we want to test a finite number of deployments, then increasing the resources infinitely allows this to occur more quickly (with bounds of the shortest and longest test times).
But in real life, the application of an infinite number of monkeys isn’t that possible (the feeding and housing costs alone are, well, infinite!).
So how can we make a resource intensive process shorter, without needing more resources? In our example, we looked at packaged pretested deployments, distributed testing (using the resources of the team to test, using processes and validations from the tester resource) and automated testing tools.
All of these get to the end game of reducing the impact of the limited testing resource by either testing a reduced number of times (using the prepackaged scenario), or to focusing the expertise on the right areas (such as generating the test and validation plans) rather than the process of testing itself.