Title: OneSAF: A Case Study in Agile Methods and Extreme Programming Mr. Doug Parsons LTC John R.
1OneSAFA Case Study in Agile Methods and
Extreme Programming Mr. Doug ParsonsLTC John
R. Buck SurduMr. Derrick Franceschini
2Introduction
- Traditionalists view agile methods as excuses
to hack undocumented, poorly designed code. - Agilists consider plan-driven responsible for
saddling developers with low-value processes. - OOS development uses a mix of both techniques.
Agile methods are designed for small teams. The
OOS development team is divided into several
smaller teams.
3OneSAF Program Background
- A composable, next generation CGF
- Represent a full range of operations, systems,
and control processes (TTP) - Entity up to brigade level
- Variable level of fidelity
- Supports multiple Army MS domain (ACR, RDA,
TEMO) applications.
Software only
Automated Composable Extensible Interoperable
Platform Independent
- Field to
- RDECs and Battle Labs
- National Guard armories
- Reserve training centers
- All active-duty brigades
- and battalions
- All FCS platforms
Capable of replacing legacy entity-based
simulations BBS, OTB/ModSAF, CCTT/AVCATT SAF,
Janus, JCATS MOUT
4OneSAF Program Background (continued)
- Cross Domain Requirements analysis and training
- Streamlined Acquisition Strategy
- Government PM is the prime
- Integrated Development Environment (IDE)
5Communication and Collocation
- Business people and developers must work
together daily throughout the project. - Most effective communications is face-to-face
- Morning, standing meeting
- OOS practices these notions
- Collocation
- Associate Contractor Agreements
- Real teaming
- Sub-elements have team meetings to discuss the
days activities
6Spiral Development(XP and Agile Methods)
- Satisfy customer through early and continuous
delivery of working software - Make frequent, small releases of software
- Welcome changing requirements
- Iteration planning starts each iteration
- Code must be written to agreed-upon standards
- Leave optimization until last
7Spiral Development(OOS Implementation)
Build X-1 Build X Build X1
Testing Software Development Requirements Analysis Conceptual Modeling Knowledge Engineering
8Customer Involvement
- Dedicated, collocated customer representatives
- Beta sites
- User assessment baselines (UABs)
9Paired Programming
- Two programmers on a single workstation
- Provides immediate code audits
- Counter-intuitive, but it has been shown to be
productive - Not implemented as a rule in OneSAF, but often
short-duration tiger teams employ this technique
10Documentation vs. Working Code
- Decide where to place the balance between
documentation and working software. - OOS has had working code since Build 4
- OneSAF.net repository
- Architecture and Integration contractor
externally certified at CMMI 5 - Electronic Process Guide
- Product Line Architecture Specification
11Extreme Testing(XP and Agile Methods)
- Code the unit test first
- All code must have unit tests that must pass
before it comes into the baseline - When a bug is found, tests are created
- Acceptance tests are run often and the score is
published
12Extreme Testing(OOS Implementation)
- Automated Tests
- Build Boy
- Tests for classes of errors
13Agile Tools
- Electronic Process Guide
- Build Boy
- OneSAF.net
- compDocs
- Electronic Product Line Architecture Framework
- WebRT
- Doors
- Open Source tools and products
14Summary
- Development of OOS uses most of the tenets of
Extreme Programming and Agile Methods - Many practices were modified slightly to fit
programming in the large - Blended XP and Agile techniques with traditional
techniques - These methods work!
- Team OneSAF has won many industry and DoD awards