Rapid prototyping is a process that quickly develops, experiments with, and learns how software technologies might further prove that a concept is advantageous for a mission, business, or user. It is about accepting and embracing an uncertain world that rapidly evolves – and for software systems to rapidly evolve with it. Building for dynamic concepts becomes a practice of low-risk refinement & exploration versus concrete assumption basis and costly investments.
Software technologies, and their engineering processes, have traditionally been constructed around determinism. This makes sense, as traditional engineering (civil/structural/mechanical) are all built around mathematical certainties. Rapid prototyping challenges the notion that all software must be built around determinism.
Ask a question, research, construct a hypothesis, test and experiment — if successful, experiment more, if failure, then construct new hypothesis and repeat… these steps define the core of what we’ve all learned as the classic scientific method. The scientific method is not about determinism, or certainty, so much as it is about observation and iterative advancements. “Traditional scientific method has always been at the very best, 20 – 20 hindsight. It’s good for seeing where you’ve been. It’s good for testing the truth of what you think you know, but it can’t tell you where you ought to go.” ~ Robert M. Pirsig (Author, Zen and the Art of Motorcycle Maintenance).
Developing software can be difficult, expensive, and outcomes mission critical; insuring high-to-absolute deterministic outcomes is a requirement in these circumstances. Though, often-times the opposite may be true and that is when the desire for determinism & certainty ultimately become a contradiction. Understanding why this is, requires businesses and government organizations to metamorphose traditional thought and processes.
When the mission landscape is dynamic, or uncertain, traditional processes around holistic requirements and implementation scoping becomes a dangerous approach for businesses and government. Substantial money and time are spent on process, requirements and solution definitions, and compliance; all before a user or any idea may be validated. This leaves room for much error. Technological advancements may instantly propel competition into a strategical advantage. Users’ needs may change or might have been misjudged from the beginning. Rapid prototyping enables the ability to remain agile, iterate, and pivot when necessary – not having this ability means sunk costs, competitive disadvantage, and failure of the mission and users.
With the advent of Artificial Intelligence (AI) and Machine Learning (ML), now it is more important than ever to embrace rapid prototyping. Doing so, allows for finding adequate positions of AI/ML tech versus lacking and costly ones. Many of the advancements in AI/ML is highly generalized and finding niche success presents challenges. Without the ability to appropriately handle common dilemmas such as not having the right data, not applying the most optimal inference method, generalized models, counterfactuals, false positives or negatives, and running models in production that are difficult to audit or explain. All of these issues require answers as quickly as possible, and answers may determine the need for further exploration and/or heavy modifications.
Public and private organizations should be able to scrutinize their mission efforts and hypothesize potential adjustments or technological advancements. Rapid prototyping bridges the gap between costs/risks and the ability to pivot efficiently. Finally, rapid prototyping creates an environment in which constant and iterative validation testing progresses strategy and user outcomes.
Co-author: Michael Ramos, Rapid Prototyping Lead, Accenture Federal Services, Digital Studio, Washington DC
Dominic Delmolino is a GovLoop Featured Contributor. He is the Chief Technology Officer at Accenture Federal Services and leads the development of Accenture federal’s technology strategy. He has been instrumental in establishing Accenture’s federal activities in the open source space and has played a key role in the business by fostering and facilitating federal communities of practice for cloud, DevOps, artificial intelligence and blockchain. You can read his posts here.