Over the years, I’ve played with Lego blocks side-by-side with my two young boys. This is precious time – a sweet and welcome change in pace from the frenetic work of running a growing, early stage, software company. Nonetheless, as I’m kneeled on the floor in their playroom building forts and space-ships, I often find myself thinking of my work. In particular, I’ve been dwelling a bit on the importance of sorting, storing and retrieving, be it in Lego play, maintaining and organizing the information that I rely on to effectively run Scope 5 or writing software.
Lego isn’t what it used to be when I was a kid. Back then you had 4×2 blocks, 8×2 blocks and 12×2 blocks. If you were lucky, you had your choice of red, white, yellow or blue in each size. Today it’s different – my boys have hundreds of different pieces – do you want the cowling for the Tie Fighter from Star Wars I or Star Wars V? Are we looking for the door with the clear four-pane window or the solid door? In red or fuchsia? My boys have thousands of Lego pieces in hundreds of different form factors and colors.
And so – when we’re building some new space-ship they’ve dreamed up and they ask me to help find ‘that piece’, I’ll find myself digging through boxes for a long long time. Sometimes, I pull my head out of a box moments later, declaring success but more often than not I find something that I hope will do as a substitute. In fact, I’ve become their ‘finder’.
A few months ago, in a moment of deluded inspiration, I decided that we were going to fix this ‘problem’. I went to the local ‘Storables’ store and came home with a few dozen trays and sub-trays and sub-sub-trays that all nestled neatly inside each other. “Boys – we’re going to sort your Legos”, I announced, “so that we can always easily find that piece you need”. My announcement was greeted with groans from the boys but my wife and I dutifully spent the next few weeks sorting in our spare time.
Slowly, we got the Lego pieces organized. We now had two piles – the neat array of sorted pieces in their new bins and the boxes of unsorted pieces that represented remaining hours of sorting work. Building new space-ships was great. The boys would ask for that piece and I’d quickly find the piece in the right bin – “would you like that in green or turquoise?” I’d ask.
But our blissful order didn’t last for long. Projects were taken apart as frequently as they were put together and getting the boys to sort the pieces into the appropriate bins was an uphill battle. They were keen on building, not on sorting. My wife and I were losing ground – the unsorted pile was growing faster than the sorted pile.
In the abstract, we were faced with the same conundrum that we face in so many aspects of our lives – do we spend time sorting or searching? In the software world it’s a question of optimizing insertion of an object into a data structure or retrieval (a.k.a. search) of the object from the data structure.
The same abstraction applies at a higher level. Much of my work in running Scope 5 is a matter of being able to put my finger on the right information, quickly and efficiently. I know that I have what I need in that document, somewhere. Now where did I store that document, that bit of information? Usually, I’m easily able to find what I need but from time to time I spend far too much time searching.
On those occasions, I’ll pause and reflect – should I re-organize (spend time on insertion)? I’ve found what I need so any time invested in re-organizing is overhead – it won’t yield any immediate benefit but it might mean less time wasted on retrieval (search) in the future. Sometimes, I do reorganize. Most times, I don’t.
The software analogy presents an objective case – we can profile time spent in insertion and time spent in search and we can choose a data structure optimized accordingly for one or the other. But in the higher-level example of organizing information necessary to run the business, as in the Lego conundrum, there’s no obvious answer – sometimes we’ll spend too much time searching and sometimes we’ll spend too much time organizing. Ideally, we find a rhythm that alternates between the two for optimal efficiency. The value is in being mindful of the day-to-day choices we make around this conundrum wherever it may surface.