DoD Software Systems DoD Software Systems Characteristics of DoD S/W Development Evolution of DoD S/W Development Learning from the Commercial World Additional Technologies Approach and Implementation Characteristics of DoD S/W Development It’s a Government Acquisition • Competitive bidding, development specification part of RFP • Awarded to and, designed and implemented by civilian contractor(s) • Contractor has personnel requirements • Contractor has procurement and reporting rules • And adherence to DoD and military standards RFP: Request for Proposal Characteristics of DoD S/W Development Approach and Implementation • • • • • • • Extensive planning Long delivery schedule (IOC) Process driven Formal project management Rigorous quality control Oversight/formal reviews Documentation intensive Sequenced Activities • Defined by DoD or military standard • Interim design reviews • Verification activities IOC: Initial Operating Capability Characteristics of DoD S/W Development In Most Cases it’s Requirements Driven Requirements Can Get to be Volatile • Long delivery cycles means folks have time to think • Risk management activities are key to managing requirements Development Requires Focus on Minimizing Volatility Risk Military Flight Simulator Simultec Full Mission Simulator Depicted: Cockpit w/ Yoke, Throttle & Rudders Instrument Panel w/ Heads Up Display (HUD) and Multifunction Displays (MFDs) Instructor Operator Station (IOS) Military Flight Simulator It’s the Software That Makes it all Work! Software Behind the Scenes …This is what the trainer looks like. Evolution of DoD S/W Development Moore’s Law Helps Explain the Advancement of Technology Which Benefits • Processing speed • Disk capacity • Memory capacity Working with the Hardware • Initially programming the hardware required intimate knowledge of the target H/W • From machine code/assembly language • Towards independence from target H/W • And to the mature complier tools we use today Moore’s Law: The number of components in an integrated circuit doubles approximately every two years. Evolution of DoD S/W Development Evolution of Languages • Languages used to develop DoD applications numbered over 400 • Different languages for different problems • Focus now is more of extensions to the more recent languages; C++ Language Standardization/Extensions • Wrappers/Plug-ins • Math Libraries/Special Functions/Reuse • Reusable standards/components Maintenance on Legacy Systems Still Biggest Cost; Fortran, Pascal, Jovial, Ada… Evolution of DoD S/W Development Process Models • Originally ads-hoc development • Adoption of disciplined approach introduce less defects, meaning less rework • SEI’s CMMI establishes levels of maturity • ISO 9001 establishes quality standards for software products Variation of Approaches have Evolved • Waterfall • Evolutionary (incremental, spiral, agile…) Evolution of DoD S/W Development Moving Towards Adopting Commercial Practices • Tailor processes to developer’s best practices • Leverage on evolving and maturing development standards and methods • Application under development determines the approach Development Methods have Evolved • Structured Analysis / Structured Design • Object Oriented • Agile It’s iPhone vs Space Shuttle Learning from the Commercial World Development Flexibility • • • • Agile vs disciplined balanced development approach Tailored engineering work products Reduced documentation Testing approaches Scaling is Key • Scope • Team • Time Additional Technologies Information Assurance / Cyber Security Architectures Maintenance Configuration Management Logistics Architecture Models for Integrating S/W Can’t Do It Without A Team It’s a team effort that goes into the success of the software design/development and It’s the individual talent within the team that ensures the team’s success Personnel/Team Capability Trumps All References Cook, David A., CrossTalk Journal of Defense Software Engineering, CrossTalk and Software – Past, Present and Future. Hinchcliffe, Dion, Architectures, http:hinchcliffe.org. Boehm, Barry, Software Engineering Economics. Jones, Capers, CrossTalk Journal of Defense Software Engineering, Defense Software Development in Evolution. Kennedy, Matthew, CrossTalk Journal of Defense Software Engineering, An Agile Systems Engineering Process. Cook, David A., CrossTalk Journal of Defense Software Engineering, Evolutionary Trends in Programming Languages.