As long as I can remember I’ve been a fan of and often used the expression, “I don’t want to build the microwave, I just want to press cook”. (I’ve never been able to remember when or from whom I first heard it – my apologies for the lack of attribution). While I’ve sometimes been fascinated by the inner workings and origin of things, in the end I’ve come to adopt the modern world and the pace at which it moves. I simply don’t have the time of day to dig into the underbellies of things and investigate the underpinnings of how they work nor their interdependencies. My aversion to such activities was upended when I joined ProModel and led (as a PM) our development team’s efforts to support Verification, Validation, and Accreditation at the behest of our sponsor’s modeling & simulation accreditation agent. While I do not intend to “build the microwave” here, I would like to describe how I learned that the act of “pressing cook” must be accompanied by complete and total impartiality of the software application.
Software, in a variety of formats, is often used to tell a story. When it comes to entertainment-based software, and for the sake of the longevity of it, the story should be a very good one. Thus the reason many folks spend countless hours trying to “level up” (it’s all about the journey, not the destination). During my college days, I was exposed to Pascal and learned that the methodology (computer language) for telling a story was via if, then, else, while, etc. statements. Truth be told, I didn’t particularly enjoy trying to figure out how to make the computer say “hello” via that methodology. Again, I am more of a “show me the story” kind of person, than a “how did you make the story” kind of person. In that regard I’m quite fond of the software that exists today. My iPad is a bevy of mindless apps that keep my 5 year old entertained while putting miles on the family wagon. However, when it comes to decision-support software, the stuff under the hood REALLY does matter and is often as equally important as the story itself. Through the VV&A journey we’ve traveled to date, I’ve become more and more focused on inner-workings of “the microwave”, both out of necessity and surprisingly out of curiosity.
Our software applications tell stories that often culminate in multi-million dollar and in some cases, billion dollar implications, not necessarily to the good. Not only must the story be stringently accurate, it must also be 100% impartial (or agnostic) to those who might be directly impacted by the results. We accomplish that impartiality by ensuring that we never begin our development processes with an end result in mind. That is not to say that we do not begin with an end-state in mind (i.e. – what is that you want to know?) The difference is nuanced in print, but significant when it comes to applying the right level of acumen and forethought into software development. The true genius of leveraging software applications to solve complex problems is that once you’ve figured out “where and why it hurts”, you can use predictive analytics, modeling, and regression analysis to attack the root of the ailment. In my simplistic mind, our software is being used to treat the condition rather than the symptom.
The rigor that has been applied to the VV&A of our specific DoD program of record is staggering when compared to similar applications. And it should be. While many software developers are not particularly fond of documenting source code and defining why a certain script was used, in the end it has made both our customers and us extremely confident about our methodologies, processes, and coding standards. Frankly, (although I’d never admit it to the folks who raked us through the coals) we’ve become a better development team because of it. Combine the penultimate requirements associated with VV&A with our use of the Agile/SCRUM development methodology, we’ve accomplished the delivery of an application that withstands painstaking scrutiny and is adaptive enough to answer evolving customer demands and utility. In the end, the vetting our software application has endured at the hands of the accreditation agent is not the value added propositions our customer demanded, although it was a necessary evolution. What really matters is that we’ve produced a traceable software application that is impartial. It may not always give you the answer you want, but it will always give the answer that you need – the truth.