Open Architecture Product Lines AIR C4I SPACE SUBS SURFACE MARINES 11 May 2011 Mr. Brian Womble Assistant Program Manager For Open Architecture and Systems Engineering PEO IWS 7.B Important Concepts Competition Rapidly and Innovation Fielding and Upgrading Systems Software and Hardware Design Reuse https://acc.dau.mil/oa Product Lines (introduction) A set of components or products created from shared core assets delivering features and capabilities that address the specific needs of a specific market segment or mission capability. Smart Phones Smart Phone Software Automobiles Personal Computers Marine Radars Marine Navigation Systems Core Assets include drawings, architecture, patterns, code modules, test suites and tools, and any other cumulative product from the engineering effort 3 3 https://acc.dau.mil/oa Open Architecture (introduction) Modular designs with loose coupling and high cohesion Continuous design disclosure High Reuse of designs of components and systems to minimize cost Enhanced transparency Competition and collaboration leading to development of alternative solutions and sources Investment based on analysis of which components will change most often based on technology Competition through open access to qualified third party providers for components https://acc.dau.mil/oa Open Architecture Product Lines (introduction) Open Architecture Core Assets Open managed reused components – strategic reuse Published architecture that specifies how features and behaviors are varied between products Assets can be competed as technology advances and/or mission needs change Reusable test scripts, plans, assets and harnesses shorten process and simplify execution Combining the power of OA with the leverage of Product Lines https://acc.dau.mil/oa Product Line Advantages in the DoD Marketplace (Benefits) Strategic Reuse Lowers Cost Lowers Risk Shortens Development Time Product Line Maintenance Shared Core Assets - maintained for one is maintained for all Common Code between products yields fewer software faults as number of products increases Built in variation mechanisms simplify product evolution – changes or additions to requirements generate a new product based on core assets plus some new or altered module(s) https://acc.dau.mil/oa Product Line Advantages in the DoD Marketplace Core Assets Products Architecture Requirements Assembly Process https://acc.dau.mil/oa Relative Costs, Standalone Versus Product Line (Benefits) Standalone Productivity –A Schedule – B Cycle Time - C Quality – D Product Line Productivity – 3 to 7 Times A Schedule – 1/50th to ½ of B Cycle Time – 1/3 to 1/5 of C Quality – 7 to 10 times better than D Initial Product in Product Line; Costs may be equal or higher Costs for Additional Products Decline as more are Added SEI Case Studies: http://www.sei.cmu.edu/productlines/casestudies/ https://acc.dau.mil/oa Some Opening Arguments (Starting up a Product Line) Data Rights Programs interested in Sharing Risk Some shared Requirements Organizational and Funding Construct for Shared Production Government to Government Producer/Customer governance structure Need for multiple similar products suitable for a product line https://acc.dau.mil/oa Starting or Transitioning to a Product Line (Startup) Pilot Projects Use Existing Products and Artifacts as Entering Arguments for Core Assets, Processes and Tools – Re-engineering to Adopt the Product Line Paradigm Establishing a Framework for the Naval Enterprise and Using that Framework as a Guide to Achieve Consistent Implementation Concepts and Approaches Learning and Adapting https://acc.dau.mil/oa Product Line Startup Phases Phase I – Deciding What to Build: Analysis, Scoping, Funding Plan, Product Line Adoption Plan, Risk Management, and Initial Organization Chart Phase II – Establishing Core Assets: Requirements, Architecture, Software Modules, Test Assets, Middleware, Test Plan, and Configuration Management Plan Phase III – Develop the Product Line Production Processes: Assembly Plan, Production Tools, and the Product Support Plan Phase IV – Use the Product Line Variation Mechanism to Develop, Deliver, and Support Additional Products https://acc.dau.mil/oa Phase I: Deciding What to Build Does your product fit in a Product Line? Similar related products envisioned? How do they vary? What mechanism implements the variation? Is there a market for the Product Line? How wide? How Deep? Are there willing and able customers? Is the technology available to implement the product and variation mechanism Suitable technology? Sufficient technology? Does the approach make economic sense? Economic Model and Business Case Are there over-riding intrinsic value benefits? Are funds available for implementation/transition? https://acc.dau.mil/oa Phase II: Establish Core Assets Requirements Engineering Process and Initial Product Requirements Variation points across the envisioned Product Line Product wide and product specific requirements Architecture and Architecture Analysis Define the variation mechanism Capture the variation points Capture and Document Test Assets Test Documents Test Cases Data Sets Harnesses and Scripts https://acc.dau.mil/oa Phase II: Core Assets (Continued) Components – Supporting the Behaviors and Aspects as Specified in the Requirements in the Manner Prescribed in the Architecture From existing product New development Acquire from others All built or configured to implement product variation as specified in the architecture Configuration Management Process All the assets All the products Tools capable of managing the “many-to-many” relationships between core assets and products https://acc.dau.mil/oa Phase III: Develop the Product Line Production Process Develop the Product Line Assembly Plan Informed by the architecture and components from the core assets Implements the variation mechanism(s) planned at architecture development Based on initial product artifacts when using a reactive implementation Develop and Document a Product Line Support Process Product distribution and integration support Customer feedback and issue management Product defect correction management Product improvement planning and implementation https://acc.dau.mil/oa Phase IV: Filling the Product Line Create the 2nd Product Use the Product Line factory and the variation mechanism to create the 2nd Product Update the plans, processes and analyses as lessons are learned Add to the core asset base as needed to create the new products Add Scope to the Product Line Initial envisioned products will never be exactly what gets produced Unforeseen customer needs will require products that extend the scope of the Product Line or change its variation points https://acc.dau.mil/oa Enabling Product Line Success (Startup) Establish Open Business Models Use Incentives Support and Collaborate with Program Managers Engage Resource Sponsors as Participants Implement Web Enabled Tools for Transparency Apply Governance to Protect Small Business https://acc.dau.mil/oa Summary (Why Bother) Current federal budget deficits are unsustainable and while all sectors will be carefully scrutinized and trimmed, trimming defense dollars is less personal than trimming Social Security and medical benefits or slicing away education support funding from people we know. While fewer dollars are available for defense systems, the cost growth of those systems continues to outpace similar technical advances in the commercial sector. Open Architecture Product Lines aren’t always the solution, however, when they are a solution they present an opportunity to reduce the cost of software intensive systems while improving capability, quality, and reliability and giving industry an opportunity to continue to be profitable. https://acc.dau.mil/oa