Frak Lopez image

Frak Lopez

Chicken and Egg

Oct 24, 2014

What came first, the chicken or the egg? The most likely answer is that the egg came first. That is, there was probably some reptile which laid an egg containing some genetic mutation. When the egg hatched, the resulting creature had some imperceptible mutation that took it one step away from a reptile and one step closer to a chicken. After some time this line of creatures, with the mutation in their DNA, produced an egg that contained yet another genetic mutation. This mutation brought them even closer to the chicken. Over time, the layering of mutations during the gestation of the egg, a creature hatched that resembled our modern chicken.

No creature turned into a chicken directly. It took a lot of eggs and a lot of different mutations to give rise to the chicken. What does this have to do with developing? Stay with me, don’t chickeh… n/m.

“A hen is only an egg’s way of making another egg.” - Samuel Butler

The main idea is that our originating “creature” didn’t directly become our “chicken”. The creature produced an egg that, combined with a mutation, produced a slightly different creature. This process repeated until the right mutations formed inside the egg creating a chicken. The egg is where the magic happens.

The Creature

The creature is our starting point. The creature is the catalyst for development. If we need a website, our creature is the lack of a website. Maybe we have a website but it needs a new look. Our creature is now the formulation/execution of a new design. Perhaps, our application is broken or needs to function differently. The creature now becomes the fixing or retooling of our application. Once we have established what the problem is, we can move on to problem solving. We can move on to making some eggs.

The Egg

That problem or creature, will give rise to an egg. For us, the egg is an idea that will allow us to do what it is we need to do. This may not be our chicken just yet. We might have to go back to our creature and try to produce another egg. Each time we make a new egg, we need to inject a new mutation. Approach the problem from a different angle. Try some different variables or a new design. With every successive egg, it’s important to keep in mind that without a mutation, the creature remains a creature and thus can never be the chicken we seek.

While it’s definitely possible to hit on the right mutation the first time, more often than not, it will take many iterations. Each iteration adding new mutations and sometimes removing some in order to get to our chicken.

The Chicken

At some point, we will come up with a set of mutations that, when combined in our egg, will result into a chicken. Notice I didn’t say THE chicken. There is a spectrum of fowl that can be called chickens. Likewise for us, our solution lies within a spectrum. One thing that happens often is that the chicken you set out to find, isn’t exactly the one you end up with.

A lot of times, if you are liberal with your ìmutationsî, you may happen upon a chicken that is different and maybe even better than the one you intended on. It is very possible that our chicken ends up a nice golden laced chicken (this dandy bird here) instead of just some generic one. It could be that we NEED a generic one and not anything else. Frequently though, a nice variant is good for development, if at the very least to serve as an ace in the hole for a future project.

At the end of the day, what does this mean? Well, it means a solution to a problem is resolved through an iterative process. It means, trying to solve a problem the same way, over and over, without changing anything will almost always end in the same failed result. It also means that having breakfast for dinner can make for some interesting dreams which can make for some weird posts!

Comments

Join the conversation by commmenting below.