The Joy of Iterative Discovery
Many of us enjoy discovering how something works, whether it be a gadget, a piece of software, a tree, or a neutron star. Discovery is often an iterative process. We start from some rough ideas or sometimes just a few hints and engage in exploration to go to the next level of detail and the next level of detail.
Hands-on exploration often works well. If you’d like to discover how a piece of code works and what its strengths and shortcomings are, try using it, demoing it, testing it, or better still modifying it or writing some code to use it.
(How does one get hands-on with a neutron star, you ask? Well, that’s where modeling and simulation comes in. After all, we are not even really sure that a neutron star exists.)
In my own experience, knowing how something works and (even better) having taken a path of iterative discovery to reach that understanding is invaluable in several ways:
- We can work with that “something” more effectively.
- We can manage it more effectively. Here I’m thinking, for example, of managing software development in an agile fashion and responding to changes in requirements that come up as we work with internal and external customers. By experiencing what is done in the project ourselves and getting deeper into what is involved in different types of tasks, we are better able to respond to change by immediately identifying the next steps needed.
- We are more likely to come up with ideas and innovate in the area and (by triggering ideas, observing common patterns, etc.) in far-out areas. To illustrate, one of my favorite (mathematical) objects is a tree and its generalization — a graph. The branching structure of a tree can be used to represent the structure of sentences in a language, hierarchical structure formation is used to describe the formation of galaxies and galaxy clusters, and a graph can be used to represent an executable plan (implemented in software) for deploying and configuring Avaya’s unified communications and contact center products in a solution where some actions on one product depend on other actions having been completed on another product.
There are also extended effects – Having gone through iterative discovery multiple times gives us the confidence that it can be done again. The fear of the unknown is gone; instead exploring the unknown is a challenge to further develop our discover(y)ability. (German is a language that English drew a lot from – so why not concatenate nouns a bit more freely?)
And from a personal fulfillment point of view, the joy of finally cracking something after a difficult and winding path of discovery is exquisite indeed.