Software Implementation Methodology
Summary
In order to produce highly reliable software the following tenants must be applied within a toolings software development methodology:
Use-case Driven - defining, developing, and refining software design(s) to meet known and emerging use cases enable software solutions to meet critical real-world needs.
Architecture-centric - formally documenting the “layers” of capabilities that a software system may have enables developers to identify dependencies between layers and thus allowing for shared responsibility of reducing functional complexity across the entire software solution.
Iterative and Incremental - similar to the Agile mindset, software solutions should be developed in small iterative and incremental ways thus affording time to perform adequate IV&V.