ndia 21320: hpcmp create™€¦ · configuration management software (e.g., puppet, chef, ansible...
TRANSCRIPT
Distribution A: Approved for Public release; distribution is unlimited.
NDIA 21320: HPCMP CREATE™
as an Early Example of a DoD
“Software Factory”
Richard P Kendall, Ph.D. with D.E Post, Ph.D.October 2018
Page-2Distribution A: Approved for Public release; distribution is unlimited.
CREATE as an early example of of the
DoD “Software Factory” Concept:
o What is a “Software Factory?”
o Why is it important?
o The early CREATE Example
This Presentation will address:
Page-3Distribution A: Approved for Public release; distribution is unlimited.
Software Factories
The Defense Science Board(DSB) defines a “Software Factory” as:
• A small software development team (5-15 members)• Supported by an highly automated development infrastructure
(development tools, computers, networks, storage devices, etc.)
• Focused on continuous, iterative product development using Agile development practices
Page-4Distribution A: Approved for Public release; distribution is unlimited.
Commercial Software Factory*
Automated
Build
Fuzz TestingDevelopers
Source
RepositoryDynamic TestAutomated Test
(unit, static)
Documentation
Package
Deploy
Project
Management
Beta
Users
Users* Graphic from DSB Report, Feb 2018
Page-5Distribution A: Approved for Public release; distribution is unlimited.
Continuous, Iterative Software
Development
After DSB Report, Feb 2018
Not this
But this
Page-6Distribution A: Approved for Public release; distribution is unlimited.
Defense Acquisition Lifecycle Model 3
Page-7Distribution A: Approved for Public release; distribution is unlimited.
Why is this Important?
Software Drives ~60% DoD Program Risk (after DSB report)
* Graphic from DSB Report, Feb 2018
Page-8Distribution A: Approved for Public release; distribution is unlimited.
Change Driver: Explosive Growth in
Source Code for Defense Systems--
Avionics
A hint of immortality!
F-35 Lightning II
Block 3F est.(2017)
Page-9Distribution A: Approved for Public release; distribution is unlimited.
The Commercial Case for Agile
Development
A meta-survey* of 29 studies (of 300 analyzed) concluded the following return on investment:
• 29% lower cost• 91% better schedule• 50% better quality• 400% better job satisfaction
* David Rico, “What is the ROI of Agile vs. Traditional Methods”
Page-10Distribution A: Approved for Public release; distribution is unlimited.
CREATE Software Factories
HPCMP CREATETM 17 Nov 2017
Page-9
CREATE is 11 separate partnerships software factories embedded in 11
individual DoD Service Engineering Organizations
HPCMP Director
CREATE Program Associate
Director
Integrated Hydro Design
Environment
NSWC, Carderock
Kestrel46th Test Wing, Eglin
AFB
Quality Assurance
NAVAIR, Patuxent River
Helios
Army AFDD, Ames
Genesis Design
HPCMP, WPAFB
Official HPCMP
Advisory Panel
Ships ProjectProject Manager
HPCMP Lorton
Air Vehicles ProjectProject Manager
HPCMP, Lorton
RF Antennas
ProjectSensors Directorate,
AFRL, WPAFB
SENTRi
Sensors Directorate,
AFRL, WPAFB
Meshing &
Geometry
ProjectCapstone
Project Manager
Navy NRL
Ground Vehicles
ProjectProject Manager
Mercury
ERDC
MAT
TARDEC
Rapid Ship Design
Environment
NSWC, Carderock
NavyFOAM
NSWC, Carderock
Navy Enhanced Sierra
Mechanics
NSWC, Carderock
A Multi-Institutional, Multi-Organizational, Distributed Program
Software
Factories
CREATE began to establish “Software Factories” in 2008
Page-11Distribution A: Approved for Public release; distribution is unlimited.
The CREATE Infrastructure
From the beginning CREATE embraced an extended
view of the CREATE Product
Core: CREATE
executables
HPC Portal
DREN
DSRC Servers, incl Common Build Servers
Help customers see this
Developers focus on this
Ensure that Customers see the “whole” product
Page-12Distribution A: Approved for Public release; distribution is unlimited.
The CREATE Approach to Agile
Development
The CREATE Approach—”Disciplined Agile” based on Scrum
Our approach couples flexibility with accountability Figure after [email protected]
Sprint
Next Annual Increment
In Product Roadmap
Annual Release= milestone
Annual
CREATE
Development
Cycle
Beta milestone for Annual ReleasePotential release candidate
Design reviews
Page-13Distribution A: Approved for Public release; distribution is unlimited.
Software Factory Software
Infrastructure*
UNCLASSIFIED
UNCLASSIFIED
Software Factory Source Selection
Criteria SuggestionsTr
acea
bili
ty (
issu
e tr
acki
ng)
Infrastructure
Version Control
Continous Integration
Testing and Metrics
Rap
id D
eplo
ymen
t
Operations
Sup
po
rts
▪ Configuration management software (e.g., Puppet, Chef, Ansible)
▪ Continuous Integration (build and test) Systems (e.g., Travis CI for hosted service, Jenkins for open source application)
▪ Scripts and code used to release software (e.g., Python scripts)
▪ Servers, network or other infrastructure that support release tools
▪ Software and tools to support developer self-service operations (NewRelic for application performance over time, diagnostic tools, monitoring)
▪ External test frameworks (e.g., Jersey Test Framework, Testplant/Eggplant)
▪ External operational monitoring and log mining tools (e.g., Splunk, Elasticsearch + Logstash + Kibana (ELK) Stack)
▪ Source code repositories (e.g., Github for hosted service, GitLab for open source application)
▪ Issue tracking systems (e.g., JIRA, Trello, GitHub)
▪ Container driven tools (e.g., Docker, Elastic Container Service (Amazon Web Services (AWS)), Kubernetes)
▪ Requirements management (e.g., Doors, Blueprint)
▪ Infrastructure and cloud providers (e.g., AWS, Rackspace, Azure, RedHat OpenShift, Pivotal Cloud Foundry
▪ IDEs integrated DevOps process
36
Git, SVN
Jenkins
Python, PERL,…
TotalView, Tau, Valgrind,…
CREATE Server, Portal, and Continuous Build Server
SCCI (Jenkins add-on), and Home Grown Tools
SIDPACK,…
Github, Redmine, SVN,…
DoD HPCMP provides cloud-like services—5 HPC computer centers with 11 High Performance Computers linked by a high speed network
JIRA, Github
CREATE Server
MS Visual Studio, Xcode, Eclipse
JIRA, AgileComparison of DSB Software Factory with
HPCMP/CREATE Version of Software Factory
HPCMP/CREATE operating capabilities are
highlighted in red
*From DSB Report, Feb 2018, based on SEI DevOps
Page-14Distribution A: Approved for Public release; distribution is unlimited.
CREATE Software Quality Control
The Practical Aspects of
Computational Science and Engineering
Page-26Distribution A: Approved for Public release; distribution is unlimited
Software Quality Acceptance Practices
Annual Releases
Hierarchal Testing
External, Knowledgeable
Testing Group
User Testing (Beta)
Software Factory Production Requires Quality ControlA Software Factory Requires Quality Control
Based on HPCMP CREATE-AV testing practices
Page-15Distribution A: Approved for Public release; distribution is unlimited.
The CREATE Goal for Iterative
Development:
Annual releases demonstrate meaningful progress
Page-16Distribution A: Approved for Public release; distribution is unlimited.
So-Called“Valley ofDeath”
CREATE Tools Impacting DoD Programs
DDG-1000 CVN-78 Class Ohio SSBN Replacement
LX(R)
Aerostar & Raven UAVs F/A-18 E/F/G E-2D
UH-60 CH-47 (ACRB) Guided Airdrop (RDECOM)
V-22
F-15 SA/DB-110 Strategic Airlift CP&A A-10 B-52
NA
VA
IRN
AV
SEA
AR
MY/
USM
CA
FLC
MC
Page-17Distribution A: Approved for Public release; distribution is unlimited.
NDIA 21320: HPCMP CREATE™ as an Early Example
of a DoD “Software Factory”
Richard P. Kendall, Ph.D.
(505) 660 0976
Thank You!
Distribution A: Approved for Public release; distribution is unlimited.
Back-up slides
NDIA 21320
Page-19Distribution A: Approved for Public release; distribution is unlimited.
CREATE Software Development
Workflow for Distributed Teams
• Balance flexible planning with milestone-
based accountability.
CMMI Process Improvement
after Boehm, “Getting Ready for Agile Methods with Care,” IEEE Software, 2002
CMMI Software MethodsAgile Methods
Example: SpiralCMMI Level II Practices
◆◆
Or Hero?
Hacker Scrum Adaptive Methods Milestone/Risk Milestone/Plan Micromanaged Milestone
CREATE
CREATE: Disciplined Adaptive Workflow Management
based on Scrum (balance risk and value)
Iterative, time-boxed, risk-driven“Disciplined Adaptive”
Cowboy to rigid authoritarian
Page-20Distribution A: Approved for Public release; distribution is unlimited.
Software Development Practice Drivers
Notional Home Ground Chart for CREATE
after Boehm, Using Risk to Balance Agile and Plan Driven Methods, IEEE Computer Society, 2003
The attributes of CREATE environment favor an Agile
Development approach
Development Environment Indicators
Page-21Distribution A: Approved for Public release; distribution is unlimited.
Example: Kestrel Software
Architecture