The first lesson I was ever taught in programming is the need for scaffolding. Just like painting a house, even if you are certain you can reach every nook and cranny and cover every wall, eventually you will come to a spot you just can’t get right.

Setting up an outline before writing any code and highlighting the areas for concern should always be your first step. Whether it be programming, conducting an investigation, or any other fields, there is the same need for a structure around you to provide support.

As mentioned in one of our previous blog posts, the 80/20 rule applies to everything. Across the board, it is invaluable to take the time before starting your task, to set up a proper workflow, gather information, and allow yourself the opportunity to step back and take a second look.

The basis of programming is taking a problem, breaking it up into manageable individual chunks, and building out a solution that solves each of those micro-problems. The same can be said for an investigation. An investigation is built around pulling out individual pieces, lining them up properly, and constructing the full picture.

When conducting an investigation, your scaffolding should be something like knowledge of who/what you are looking into. This is very broad and can be anything, but any source of information that provides context and helps fill in the cracks gives us access to more clues. In many cases, this can help explain motives and build out the full investigation. If you go into an investigation with a preconceived notion of guilt, you will ignore breadcrumbs so it will match your image of the case.

In programming, it is useless to rush into writing something without fully understanding the problem. And even if you do fully understand the problem it is, more often than not, impossible to address it as a whole. You have to build pieces that work together and help solve the larger issue at hand. Scaffolding here resembles finding sample solutions for problems that may arise, finding multiple solutions to all of those problems, and outlining what you want your desired code to do and how it should accomplish that in broad steps.