An Architecture-Centric Approach for Acquiring Software-Reliant Systems

Similar documents
The Impact of Conducting ATAM Evaluations on Army Programs

Fall 2014 SEI Research Review Aligning Acquisition Strategy and Software Architecture

Agile Acquisition of Agile C2

Discerning the Intent of Maturity Models from Characterizations of Security Posture

Evolution of a Software Engineer in a SoS System Engineering World

A Mashup of Techniques to Create Reference Architectures

Frameworks for Assessing IT Systems Engineering Acquisition Issues and Proposed Approaches in Support of Public Law 111

Smart Grid Maturity Model: A Vision for the Future of Smart Grid

Machine Learning for Big Data Systems Acquisition

Evaluation of Competing Threat Modeling Methodologies

Driving Efficiencies into the Software Life Cycle for Army Systems

Analytical Evaluation Framework

Measure it? Manage it? Ignore it? Software Practitioners and Technical Debt

Software-Intensive Systems Producibility

Carnegie Mellon University Notice

Analytical Evaluation Framework

Improving Software Sustainability Through Data-Driven Technical Debt Management

Guided Architecture Trade Space Exploration of Safety Critical Software Systems

Technical Debt Analysis through Software Analytics

DoD Joint Federated Assurance Center (JFAC) Industry Outreach

Manufacturing Readiness Level Deskbook

SERC Technical Overview: First-Year Results and Future Directions. Barry Boehm, USC Rich Turner, Stevens. 15 October 2009

Jerome Tzau TARDEC System Engineering Group. UNCLASSIFIED: Distribution Statement A. Approved for public release. 14 th Annual NDIA SE Conf Oct 2011

Grundlagen des Software Engineering Fundamentals of Software Engineering

Manufacturing Readiness Assessment (MRA) Deskbook

Michael Gaydar Deputy Director Air Platforms, Systems Engineering

Model Based Systems Engineering (MBSE) Business Case Considerations An Enabler of Risk Reduction

Challenges and Innovations in Digital Systems Engineering

Carnegie Mellon University Notice

DEFENSE ACQUISITION UNIVERSITY EMPLOYEE SELF-ASSESSMENT. Outcomes and Enablers

Technology Transition Assessment in an Acquisition Risk Management Context

Distilling Scenarios from Patterns for Software Architecture Evaluation A Position Paper

DoD Modeling and Simulation Support to Acquisition

CHAPTER 1: INTRODUCTION TO SOFTWARE ENGINEERING DESIGN

An Element of Digital Engineering Practice in Systems Acquisition

Dr. Cynthia Dion-Schwartz Acting Associate Director, SW and Embedded Systems, Defense Research and Engineering (DDR&E)

Reducing Manufacturing Risk Manufacturing Readiness Levels

Our Acquisition Challenges Moving Forward

Models, Simulations, and Digital Engineering in Systems Engineering Restructure (Defense Acquisition University CLE011)

Test & Evaluation Strategy for Technology Development Phase

Technology & Manufacturing Readiness RMS

The DoD Acquisition Environment and Software Product Lines

Digital Engineering Support to Mission Engineering

Manufacturing Readiness Level (MRL) Deskbook Version 2016

A Knowledge-Centric Approach for Complex Systems. Chris R. Powell 1/29/2015

Finding Discipline in an

Interoperable systems that are trusted and secure

Multi-Agent Decentralized Planning for Adversarial Robotic Teams

Department of Energy s Legacy Management Program Development

Stakeholder and process alignment in Navy installation technology transitions

Software Architecture Evaluation Methods A Survey Abstract Refer ences

Program Success Through SE Discipline in Technology Maturity. Mr. Chris DiPetto Deputy Director Developmental Test & Evaluation October 24, 2006

Air Force Small Business Innovation Research (SBIR) Program

A New Way to Start Acquisition Programs

DoDI and WSARA* Impacts on Early Systems Engineering

Transitioning Technology to Naval Ships. Dr. Norbert Doerry Technical Director, SEA 05 Technology Group SEA05TD

COMMERCIAL INDUSTRY RESEARCH AND DEVELOPMENT BEST PRACTICES Richard Van Atta

Autonomy Test & Evaluation Verification & Validation (ATEVV) Challenge Area

UNIT-III LIFE-CYCLE PHASES

TECHNICAL RISK ASSESSMENT: INCREASING THE VALUE OF TECHNOLOGY READINESS ASSESSMENT (TRA)

The Role of CREATE TM -AV in Realization of the Digital Thread

Manufacturing Readiness Assessments of Technology Development Projects

Synopsis and Impact of DoDI

Technology Readiness Assessment of Department of Energy Waste Processing Facilities: When is a Technology Ready for Insertion?

Committee on Development and Intellectual Property (CDIP)

TRL Corollaries for Practice-Based Technologies

Strategy for a Digital Preservation Program. Library and Archives Canada

Modeling Enterprise Systems

Digital Engineering and Engineered Resilient Systems (ERS)

Critical Role of Software Engineering in Development Planning and Sustainment

Committee on Development and Intellectual Property (CDIP)

Reconsidering the Role of Systems Engineering in DoD Software Problems

The Decision View of Software Architecture: Building by Browsing

WSARA Impacts on Early Acquisition

Engineered Resilient Systems NDIA Systems Engineering Conference October 29, 2014

Project Management for Research and Development: Using Tailored Processes to Assure Quality Outcomes

Proceedings of the First Software Architecture Technology User Network (SATURN) Workshop

Engineered Resilient Systems DoD Science and Technology Priority

Technology Evaluation. David A. Berg Queen s University Kingston, ON November 28, 2017

EGS-CC. System Engineering Team. Commonality of Ground Systems. Executive Summary

Modeling & Simulation Roadmap for JSTO-CBD IS CAPO

ACE3 Working Group Session, March 2, 2005

ThinkPlace case for IBM/MIT Lecture Series

Future Trends of Software Technology and Applications: Software Architecture

Reengineering: An Engineering Problem

Air Force Research Laboratory

Initial draft of the technology framework. Contents. Informal document by the Chair

OSATE overview & community updates

Open Systems Architecture in DoD Acquisition: Opportunities and Challenges

Technology and Manufacturing Readiness Levels [Draft]

Software Product Lines: Experiences from the Sixth DoD Software Product Line Workshop

Gaining Control and Predictability of Software-Intensive Systems Development and Sustainmen

Framework Document: Model-Based Verification Pilot Study

A Case Study of Changing the Tires on the Bus While Moving

TRLs and MRLs: Supporting NextFlex PC 2.0

Semiconductor Foundry Verification

Foundations Required for Novel Compute (FRANC) BAA Frequently Asked Questions (FAQ) Updated: October 24, 2017

A Model Problem for an Open Robotics Controller

Comments of Shared Spectrum Company

SPICE: IS A CAPABILITY MATURITY MODEL APPLICABLE IN THE CONSTRUCTION INDUSTRY? Spice: A mature model

Transcription:

Calhoun: The NPS Institutional Archive Reports and Technical Reports All Technical Reports Collection 2011-05-11 An Architecture-Centric Approach for Acquiring Software-Reliant Systems John Bergey http://hdl.handle.net/10945/33610

An Architecture-Centric Approach for Acquiring Software-Reliant Systems 11-12 May 2011 John Bergey Larry Jones Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213-2612

Architecture is Important The quality and longevity of a software-reliant system is largely determined by its architecture. In recent studies by OSD, the National Research Council, NASA, and the NDIA, architectural issues are identified as a systemic cause of software problems in DoD systems. 2

Why Is Architecture Important? Represents earliest design decisions First design artifact addressing Key to systematic reuse hardest to change most critical to get right communication vehicle among stakeholders performance modifiability reliability security transferable, reusable abstraction Key to system evolution manage future uncertainty assure cost-effective agility The right architecture paves the way for system success. The wrong architecture usually spells some form of disaster. 3

Why is an Approach Needed? Studies have shown that acquisition practices have not kept up with architecture practices. Architecture-centric acquisition can reduce acquisition risk. KPPs, KSAs and TRLs can be evaluated earlier in the life cycle. Architecture-centric acquisition can facilitate needed synergy between systems and software engineering. The efficacy of the software architecture has a direct impact on the war fighter. 4

Presentation Outline Software Architecture Basics Architecture-Centric Engineering Conclusion 5

What Is an Architecture? Informally, an architecture is the blueprint describing the structure of a system. 6

Formal Definition of Software Architecture The software architecture of a computing system is the set of structures needed to reason about the system, which comprise software components, relations among them and properties of both. Clements et al, Documenting Software Architectures, Second Edition. Addison-Wesley, 2011 7

Implications Architecture is an abstraction of a system. Architecture defines the properties of elements. Systems can and do have many structures. Every software-reliant system has an architecture. Just having an architecture is different from having an architecture that is known to everyone. If you don t develop an architecture, you will get one anyway and you might not like what you get! 8

System Development Functional Requirements If function were all that mattered, any monolithic implementation would do,..but other things matter The important quality attributes and their characterizations are key. Modifiability Interoperability Availability Security Predictability Portability... analysis, design, development, evolution Quality Attribute Drivers Non-functional Requirements Software & System Architectures has these qualities Software & System 9

Specifying Quality Attributes Quality attributes are rarely captured effectively in requirements specifications; they are often vaguely understood and weakly articulated. Just citing the desired qualities is not enough; it is meaningless to say that the system shall be modifiable or interoperable or secure without details about the context. The practice of specifying quality attribute scenarios can remove this imprecision and allows desired qualities to be evaluated meaningfully. A quality attribute scenario is a short description of an interaction between a stakeholder and a system and the response from the system. 10

Parts of a Quality Attribute Scenario Stimulus Artifact: Process, Storage, Processor, Communication Response SOURCE ENVIRONMENT RESPONSE MEASURE 11

Example Quality Attribute Scenario A performance scenario: A remote user requests a data base report under peak load and receives it in under 5 seconds. Stimulus Artifact: Process, Storage, Processor, Communication Response SOURCE Remote user ENVIRONMENT Database under peak load RESPONSE MEASURE under 5 seconds 12

Presentation Outline Software Architecture Basics Architecture-Centric Engineering Conclusion 13

What is Architecture-Centric Engineering? Architecture-Centric Engineering (ACE) is the discipline of using architecture as the focal point for performing ongoing analyses to gain increasing levels of confidence that systems will support their missions. Architecture is of enduring importance because it is the right abstraction for performing ongoing analyses throughout a system s lifetime. The SEI ACE Initiative develops principles, methods, foundations, techniques, tools, and materials in support of creating, fostering, and stimulating widespread transition of the ACE discipline. 14

Architecture-Centric Activities Architecture-centric activities include the following: creating the business case for the system understanding the requirements creating and/or selecting the architecture documenting and communicating the architecture analyzing or evaluating the architecture implementing the system based on the architecture ensuring that the implementation conforms to the architecture evolving the architecture so that it continues to meet business and mission goals 15

Some SEI Techniques and Methods of Particular Interest to Acquisition Organizations understanding the requirements analyzing or evaluating the architecture documenting and communicating the architecture Quality Attribute Workshop (QAW) Mission Thread Workshop (MTW) Architecture Tradeoff Analysis Method (ATAM); Views and Beyond Approach 16

Analyzing the Architecture SEI s Architecture Tradeoff Analysis Method (ATAM ) The ATAM is an architecture evaluation method that focuses on multiple quality attributes. Business Drivers Software Architecture Quality Attributes Architectural Approaches Scenarios Architectural Decisions Analysis Tradeoffs impacts Sensitivity Points Risk Themes distilled into Non-Risks Risks 17

Presentation Outline Software Architecture Basics Architecture-Centric Engineering definitions and key elements effect on system evaluation an acquisition example application of the new practices Conclusion 18

What is? is the act of using architecture and architecture-centric practices as a contractual means to reduce risk and gain early confidence that the system being acquired will meet its mission goals. [Bergey 2010] 19

Key Elements of an Architecture-Centric Acquisition Approach Architecture-centric acquisition involves: Determining the system s architecturally significant requirements and specifying them in a meaningful way Commissioning the development of the architecture and ensuring it is appropriately documented Evaluating the architecture to determine its suitability to support the architecturally significant requirements and Mission (and Business) Goals Key Performance Parameters (KPPs) Technology Readiness Levels (TRLs) Leveraging other promising architecture-related practices so a program office can perform its acquisition responsibilities more effectively 20

Earlier System Evaluation An architecture-centric acquisition can help a Program Office evaluate: Key Performance Parameters (KPPs) Key System Attributes (KSAs) Technology Readiness Levels (TRLs) A KSA is an attribute or characteristic considered crucial in achieving a KPP or some other key performance attribute deemed necessary by the sponsor. KSAs provide decision makers with an additional level of capability performance characteristics below the KPP level. A KSA can often be mapped to one or multiple Quality Attributes. Example Openness KSA mapped to Software Early Architecture Evaluation Evaluation Integrateability Interoperability Modifiability Security Performance Quality Attributes 21

Technology Readiness Levels (TRLs) 22

Technology Readiness Level 4 Software Technology Readiness Levels (TRL) TRL Definition Description Supporting Information 4 Module and/or subsystem validation in a laboratory Environment (i.e., software prototype development environment). Appropriately specify the desired qualities and conduct an architecture evaluation. Quality Attributes Basic software components are integrated to to establish that that they will work together. They are relatively primitive with regard to efficiency and robustness compared with the eventual system. Architecture development initiated to to include interoperability, reliability, maintainability, extensibility, scalability, and security issues. Emulation with current/legacy elements as appropriate. Prototypes developed to to demonstrate different aspects of eventual system. Source: DoD Technology Readiness Assessment (TRA) Deskbook, May 2005 Advanced technology development, stand-alone prototype solving a synthetic fullscale problem, or standalone prototype processing fully representative data sets. Conduct an architecturally significant prototype demonstration. These are two elements of an architecture-centric acquisition approach 23

Incorporating Architecture-Centric Practices PHASES Milestones Materiel Solution Analysis A B C Technology Development Engineering and Manufacturing Development Production and Deployment Operations and Support Pre-Systems Acquisition Systems Acquisition Sustainment CONTRACTING Study Contracts Technology Development Contract Example System Development and Demonstration Contract Proactive Requires taking appropriate action during acquisition planning Low-Rate Initial Production Contract Production Contract Reactive Post-Production Production Software Support Contracts Sustainment Contracts 24

An Example Government Stakeholders APW QAW PHASES Milestones Materiel Solution Analysis Government and Contractor Stakeholders TIM Contract Award QAW A B C Engineering and Technology Manufacturing Development Development Production and Deployment An option is to conduct a system and software architecture evaluation Initial SWARD Delivery SRR Operations and Support By an Independent Architecture Evaluation Team Evaluation Report Arch Risk Mitigation SWARD Prototype Readiness SW Arch Plan Demo Review Evaluation PDR Assumption PDR is in the EMD Phase Contractually-specified architecture practices Contract Option SW Arch Evaluation CDR Acquisition Planning Scheduled by Program Office RFP / SOW N days after contract award Contract Performance Phase with Government Oversight Y X days before Arch Eval Z W days before PDR P Q days before CDR Legend APW Acquisition Planning Workshop SRR System Requirements Review CDR Critical Design Review SWARD SoftWare ARchitecture Description Document PDR Preliminary Design Review TIM Technical Interchange Meeting 25

New Practices Being Piloted or Explored New architecture-centric practices that are being explored or piloted include: Concurrently evaluating proposed architectures of two development contractors during a competitive down select Incorporating an architecture competency skills survey as part of a competitive acquisition An architecture-centric approach as part of a product line acquisition An architecture-driven test approach to better focus testing efforts so they are more effective from an importance/time/cost standpoint Taking remedial action in the O&S* phase to motivate a recalcitrant legacy system contractor to adopt good architecture practices Incorporating a set of architecturally significant metrics and an architecture improvement roadmap in a system acquisition Incorporating model-based development as part of an architecture-centric approach * O&S: Operations and Support phase of the DoD 5000 acquisition life cycle 26

Presentation Outline Software Architecture Basics Architecture-Centric Engineering Conclusion 27

Summary An architecture-centric acquisition approach provides early insight into critical requirements and design decisions that drive the entire development effort provides a proven and effective means for discovering software design risks and risk themes enables risks to be mitigated earlier and more cost effectively results in fewer test and integration problems and costly rework downstream provides the knowledge base needed for cost-effective system evolution and sustainment Provides a focal point that aligns with a program office s responsibilities and limited resources, time available, and key contractual events Enables an acquisition organization to perform its contract management and technical monitoring responsibilities with greater effectiveness. 28

Your Choice An Architecture-Centric Acquisition Approach or or perhaps Agile Acquisition* DOD 5000 Acquisition Model * However it will be implemented. 29

Contact Information John Bergey Research, Technology, and Systems Solutions Program Telephone: 215-348-0530 Email: jkb@sei.cmu.edu Larry Jones Research, Technology, and Systems Solutions Program Telephone: 719-481-8672 Email: lgj@sei.cmu.edu U.S. Mail: Software Engineering Institute Carnegie Mellon University 4500 Fifth Avenue Pittsburgh, PA 15213-3890 World Wide Web: http://www.sei.cmu.edu/productlines SEI Fax: 412-268-5758 30

NO WARRANTY THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE MATERIAL IS FURNISHED ON AN AS-IS" BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT. Use of any trademarks in this presentation is not intended in any way to infringe on the rights of the trademark holder. This Presentation may be reproduced in its entirety, without modification, and freely distributed in written or electronic form without requesting formal permission. Permission is required for any other use. Requests for permission should be directed to the Software Engineering Institute at permission@sei.cmu.edu. This work was created in the performance of Federal Government Contract Number FA8721-05-C-0003 with Carnegie Mellon University for the operation of the Software Engineering Institute, a federally funded research and development center. The Government of the United States has a royalty-free government-purpose license to use, duplicate, or disclose the work, in whole or in part and in any manner, and to have or permit others to do so, for government purposes pursuant to the copyright license under the clause at 252.227-7013. 31

Back up slides 32

References - 1 Software Architecture in Practice, Second Edition Bass, L.; Clements, P.; & Kazman, R. Reading, MA: Addison-Wesley, 2003. Evaluating Software Architectures: Methods and Case Studies Clements, P.; Kazman, R.; & Klein, M. Reading, MA: Addison- Wesley, 2002. Documenting Software Architectures: Views and Beyond, Second Edition Clements, P.; Bachmann, F.; Bass, L.; Garlan, D.; Ivers, J.; Little, R.; Nord, R.; & Stafford, J. Reading, MA: Addison-Wesley, 2010. Software Product Lines: Practices and Patterns Clements, P.; Northrop, L. Reading, MA: Addison-Wesley, 2001. 33

References - 2 Kazman, R. & Bass, L. Categorizing Business Goals for Software Architectures (CMU/SEI-2005-TR-021). Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, 2005. http://www.sei.cmu.edu/reports/05tr021.pdf Nord, R.; Bergey, J.; Blanchette, S. & Klein, M. Impact of Army Architecture Evaluations (CMU/SEI 2009-SR-007). Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, April 2009. http://www.sei.cmu.edu/reports/09sr007.pdf Bergey, J. A Proactive Means for Incorporating a Software Architecture Evaluation in a DoD System Acquisition (CMU/SEI-2009-TN-004). Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, July 2009. http://www.sei.cmu.edu/reports/09tn004.pdf 34

The SEI Software Architecture Curriculum Three Certificate Programs Six Courses Software Architecture Professional ATAM Evaluator ATAM Leader Software Architecture Principles and Practices* Documenting Software Architectures Software Architecture Design and Analysis Software Product Lines ATAM Evaluator Training ATAM Leader Training ATAM Observation : required to receive certificate * : available through e-learning 35

Some SEI Techniques, Methods, and Tools creating the business case for the system Pedigreed Attribute elicitation Method (PALM) understanding the requirements Quality Attribute Workshop (QAW) * Mission Thread Workshop (MTW) * creating and/or selecting the architecture documenting and communicating the architecture analyzing or evaluating the architecture implementing the system based on the architecture ensuring that the implementation conforms to the architecture evolving the architecture so that it continues to meet business and mission goals ensuring use of effective architecture practices Attribute-Driven Design (ADD) and ArchE Views and Beyond Approach; AADL Architecture Tradeoff Analysis Method (ATAM) *; SoS Arch Eval *; Cost Benefit Analysis Method (CBAM); AADL ARMIN Architecture Improvement Workshop (AIW)* and ArchE Architecture Competence Assessment * = indicates a software engineering method that has been extended to systems engineering 36

Structures and Views One house, many views Carpentry view Plumbing view Electrical view Ductwork view No single view accurately represents the house. No single view can be used to build the house. Although these views are pictured differently, and each has different properties, all are related. Together, they describe the architecture of the house. 37

View-Based Documentation Views give us our basic principle of architecture documentation Architecture for System XYZ = View 1 View 2 View n + Documentation beyond views Documenting an architecture is a matter of documenting the relevant views, and then adding documentation that applies to more than one view. The choice of views used depends on the nature of the system and the stakeholder needs. 38

Typical Acquisition Impact BEFORE: There is no software architecture documentation. AFTER: A software architecture description document is a contract deliverable. BEFORE: The development contractor presents a couple of PowerPoint box-and-line drawings to describe the architecture and high-level software design. AFTER: The software architecture description includes a comprehensive set of views (e.g., module decomposition, allocation, run-time) that can be suitably analyzed. BEFORE: The system s non-functional (i.e., quality) requirements that greatly impact the architecture design and software implementation are poorly defined. AFTER: The system s quality requirements have been specified by key stakeholders in terms of a clear and concise set of quality attribute scenarios that are testable. BEFORE: The proposed software design is not appropriately analyzed or evaluated. AFTER: The software architecture is evaluated with stakeholder participation and risks (and risk themes) are subsequently identified and appropriately documented so they can be mitigated early and cost effectively. BEFORE: Software reviews are largely perfunctory and based on checklists and PowerPoint presentations. AFTER: During the Preliminary Design Review (PDR), the development contractor describes architecture evaluation results and presents its risk mitigation plan. BEFORE: Plans for system evolution are ad hoc and estimates are often unreliable. AFTER: The development contractor manages quality requirements, architectural changes, and risks and follows an architectural improvement roadmap. 39

Integration of Systems Engineering and Software Engineering in an RFP the way it s the commonly staple done paradigm today the integrating element of the system & software engineering aspects in the traditional RFP RFP Preparation 40

Promoting System Engineering and Software Engineering Congruency From the way it s the commonly staple done paradigm today to a synergy-driven paradigm the integrating element of the system & software engineering aspects in the How can you help achieve more synergy and cooperation between systems engineering and software engineering in an acquisition? traditional RFP What can you do on the acquisition organization s side-of-the-fence? What can be done on the development contractor s side-of-the fence -- i.e., during the contract performance phase? RFP Preparation 41

Promoting System Engineering and Software Engineering Congruency From the way it s the commonly staple done paradigm today the integrating element of the system & software engineering aspects in the traditional RFP to An Overarching Use Cases for functional requirements a synergy-driven paradigm Common Context Terminology and Specification Create Conduct Adopt Quality Adopt Attribute Scenarios for non-functional requirements System Context Diagram System Engineering Software Engineering Mission Thread Workshop System-of-Systems System Engineering and Software Engineering Congruency Concurrent System & Software Architecture Evaluation RFP Preparation 42