A framework for design assurance in developing embedded systems - Fowler, Kim Randal (Kansas State University, 2018)
Embedded systems control nearly every device we encounter. Examples abound: appliances, scientific instruments, building environmental controls, avionics, communications, smart phones, and transportation subsystems. These embedded systems can fail in various ways: performance, safety, and meeting market needs. Design errors often cause failures in performance or safety. Market failures, particularly delayed schedule release or running over budget, arise from poor processes. Rigorous methods can significantly reduce the probability of failure. Industry has produced and widely published “best practices” that promote rigorous design and development of embedded systems. Unfortunately, 20 to 35% of development teams do not use them, which leads to operational failures or missed schedules and budgets. This dissertation increases the potential for success in designing and developing embedded systems through the following: 1. It identifies, through literature review, the reasons and factors that cause teams to avoid best practices, which in turn contribute to development failures. 2. It provides a framework, as a psychologically unbiased mediator, to help teams institute best practices. The framework is both straightforward to implement and use and simple to learn. 3. It examines the feasibility of both crowdsourcing and the Delphi method to aid, through anonymous comments on proposed projects, unbiased mediation and estimation within the framework. In two separate case studies, both approaches resulted in underestimation of both required time and required effort. The wide variance in the surveys’ results from crowdsourcing indicated that approach to not be particularly useful. On the other hand, convergence of estimates and forecasts in both projects resulted when employing the Delphi method. Both approaches required six or more weeks to obtain final results. 4. It develops a recommendation model, as a plug-in module to the framework, for the build-versus-buy decision in design of subsystems. It takes a description of a project, compares designing a custom unit with integrating a commercial unit into the final product, and generates a recommendation for the build-versus-buy decision. A study of 18 separate case studies examines the sensitivity of 14 parameters in making the build-versus-buy decision when developing embedded systems. Findings are as follows: team expertise and available resources are most important; partitioning tasks and reducing interdependence are next in importance; the quality and support of commercial units are less important; and finally, premiums and product lifecycles have the least effect on the cost of development. A recommendation model incorporates the results of the sensitivity study and successfully runs on 16 separate case studies. It shows the feasibility and features of a tool that can recommend a build-or-buy decision. 5. It develops a first-order estimation model as another plug-in module to the framework. It aids in planning the development of embedded systems. It takes a description of a project and estimates required time, required effort, and challenges associated with the project. It is simple to implement and easy to use; it can be a spreadsheet, a Matlab model or a webpage; each provides an output like the model for the build-versus-buy decision.
Keywords: Design assurance; Estimation; Checklists; Project plan; Build versus buy; Delphi method