The Perils of Treating Software as a Specialty Engineering Discipline
During our support of various acquisition programs within the U.S. Department of Defense (DoD), the authors have observed that system development methods employed by acquisition program offices and by contractors tend to insufficiently engage key software domain experts during the initial synthesis of requirements and systems architectures. A key characteristic of utilizing such methods often results in a physical or hardware-centric design focus during the earliest phases of a program. We have observed programs encounter difficulties that we believe are attributable to design approaches that underemphasize software engineering concerns during the early formulation of system requirements and architecture. We have also observed specialty engineering disciplines (i.e., safety, security, reliability, etc.) receive similar treatment. We continue to observe problematic reoccurrence as more and more systems are being acquired that increasingly rely on software to accomplish mission-critical goals.