2019 I/ITSEC

Requirements Engineering Innovations for Agile-Based Programs (Room 320C)

In 2001, with the penning of the Agile Manifesto in Snowbird Utah, agile development practices were coined and have evolved in response to Department of Defense and industry frustration with long software development lead times and inflexibility of technical and management decisions made early in the development lifecycle.  With the increasing popularity and adoption of agile practices, organizations have focused primarily on transforming their approach to software development, less so on their practices in systems requirements engineering.  There has been significant focus, and consequently progress and improvement, in the application of agile software development practices. However, agile, continuous management of requirements remains a challenge because requirements are dynamic, changing over the course of a project and because of the considerable coordination effort required.  To operate effectively and efficiently, project teams must holistically adopt agile practices throughout their organization and integrate them into all aspects of their systems engineering and project management practices.  This paper identifies and explores four significant challenge areas that are impacting innovation and adoption of agile solutions for requirements engineering.  These challenge areas include culture, requirements management, requirements definition, and tools as enablers.  As part of this exploration, each challenge area will be analyzed by an integrated team of military experts (U.S. Army, U.S. Air Force) and agile systems engineering professionals from The MITRE Corporation.  These explorations will utilize case studies to understand why and how agile requirements innovation lags that of agile software development.  Based on data obtained from the case studies, the authors will provide the following requirements engineering innovations for agile-based programs: (1) how to change cultural bias to improve organizational adoption of agile-based requirements engineering; (2) agile techniques for managing requirements; (3) contextual best practices for developing just-in-time requirements; and (4) integrated tools that simplify time-intensive tasks associated with traditional requirements development.