Fact Driven Development

Tags: devops programming

Six groups of four students huddled around their respective lab tables, waiting for their dissection subject. A cat. A kitty. A dead, dyed, and preserved Felix catus domestica. Some kids hid their anxiety behind smiles, others gaped in silence. Cat dissection was the big deal in Biology II at Bishop Miege High School. Everyone experienced it, even if they never took the class. Formaldehyde wafted through the halls, following Bio II students through the rest of their day.

Cat Dissection

(The photo is from Flickr. Not my class, or my school, or even my decade…)

I wielded the scalpel about half of the time in my group. I’m not sure if they were conscientious objectors or just grossed out by the smell, but two of our four did as little cutting as possible. As the blade dug through tissue while we traced the route of blood vessels heading to the kidneys, a thought flashed through my mind: “Holy shit! We’re hacking the crap out of this cat, and we have the benefit of dyed blood vessels. Doctors do this to real people? And they live?!” I never had a strong desire to become a doctor, but that cut crossed it off my list for good. I liked my science exact, thank you very much.

Little surprise that I ended up slinging bytes for fun and money. Boolean logic is so orderly, and everything always lines up along powers of 2 or groups of 8. Unambiguous facts lead us through problems and root causes as long as we watch closely. Even the deepest and most difficult problems can be reasoned through with facts derived from direct observation, although we may retreat from the hunt with a sigh and a reboot at times.

There’s a downside to all this exactitude for people who play fast and loose while interacting with tech workers. “All of the processes restarted” is a verifiable statement, trivially so. Don’t think the sysadmin won’t check. “Every transaction is failing” will win no friends within the support ranks once they see that 2 out of 3 transactions are successful. The ISP support line operator knows when you’ve been bad or good, so reboot your modem for goodness sake.

Facts drive the growth and maintenance of technical projects and infrastructure. Gather data, analyze it, and act upon it to move forward. Running on gut feel works only as long as your gut is right.