(四)、基于模型的设计实施精益开发原则

        精益开发最初由丰田为丰田生产系统开发,是一种基于特定原则和核心价值观的方法。 精益发展呼吁管理层投资于员工,建立相互尊重和持续改进的文化。 精益开发的基础是拥有精益思维并以导师的身份指导员工的管理者。

        “精益开发”和“精益生产”这两个术语经常互换使用。 精益开发和精益生产之间的基本区别在于,精益开发侧重于学习竞争,而精益生产侧重于改进竞争。 当然,这两个概念并不相互排斥。 超越学习的组织可以更快地为客户创造具有价值的知识。 组织可以使用这些新知识来交付具有更多创新功能的更高质量的产品。
        与基于模型的设计的核心概念一样,精益开发原则可以应用于任何组织结构。 同时,实施精益原则具有将官僚、等级结构转变为更加分散和有机的结构的效果。

        精益软件开发的七项原则:

        1、消除浪费: 避免未完成的工作; 知识分散或丢失; 任务切换或中断; 软件缺陷; 未充分利用的技能、见解或想法; 特征或元素的过度生产; 人员或材料的不必要移动。 增加非生产性的管理层也被认为是浪费。

        2、扩展学习:为开发人员提供更多了解应用领域的机会。 实施较短的开发周期,以提供有关设计的即时反馈。 征求客户的反馈。

        3、尽量减少官僚作风: 简化程序和决策。 减少管理开销。 删除多余的管理层。

        4、尽可能晚做决定: 花时间收集事实。 根据这些事实而不是仓促形成的假设做出决定。 系统越复杂,就应该内置更多的灵活性。一个灵活的体系结构使得延迟许多实施决策成为可能。

        5、尽快交付: 确保您的产品满足当前客户的需求,而不是客户一段时间前的需求。

        6、在流程中建立诚信: 使系统的组件作为一个连贯的实体工作。 确保设计的一致性。 通过帮助客户了解系统的使用、交付或部署方式来建立感知完整性。

        7、看整体:认识到复杂的系统不仅仅是其部分的总和。 创建定义明确的接口并对组件进行标准化,以确保组件协同工作。 与供应商和分包商建立强大的沟通网络。

        精益发展有两大核心价值观支撑:尊重人,持续改进和提升。

        尊重人:
        
通过应用以下最佳实践,专注于建立强大的工作文化、提高员工士气并加强客户关系:

        • 减少客户的麻烦——不要让他们等待,不要向他们发送缺陷产品,不要将问题归咎于他们。
        • 培养和投资于员工——教导和指导而不是指挥。
        • 以身作则。
        • 发展跨职能团队。
        • 共享知识和最佳实践,而不是强制执行流程。

        持续改进和提升:

        通过严格应用以下概念和技术来确保持续改进:
        • 五个为什么——通过问五次“为什么?”找到问题的根本原因。
        • 鱼骨图(因果图)图映射因果关系
        • “去看看”的原则——亲自去看看,彻底了解问题或情况
        • 质量飞跃——迈出一大步,或采用新的方法或思维方式以进一步改进

        通过基于模型的设计实施精益开发

        基于模型的设计支持精益开发的原则和核心价值,它可以成为在开发组织中实施精益原则的宝贵方法。 在许多情况下,基于模型的设计的工具和概念是对精益方法需求的直接响应。
        基于模型设计的核心概念支持所有七个精益开发原则和两个核心价值

        消除浪费

         • 使用基于模型的设计,整个开发过程在一个单一的集成环境中完成。 在一个环境中工作意味着更少的任务切换。 例如,在用于工厂建模的相同环境中进行控制设计会更有效率。
        • 系统级仿真可以以经济高效的方式尝试不同的解决方案,并快速排除不可行的解决方案。
        • 持续测试和验证可确保在开发早期消除错误。
        • 通过自动生成模型覆盖率指标,您可以找到模型中未使用的部分并删除不必要的代码和多余的功能。
        • 通过从模型自动生成代码,您消除了将设计手动转换为代码的容易出错的步骤。
        • 使用模型有助于减少知识分散或丢失。 模型可用于捕获项目细节以及工程师的知识。
        • 模型可以作为规范工作,并且永远不会模棱两可,因为它们可以被模拟。 如果需要文档,可以将它们链接到模型以使需求更清晰。

        扩展学习

        • 系统级模拟和假设分析提供了一种快速有效的实验、测试想法和学习方法。
        • 模型存储的信息比文档多得多,而且信息也更准确。
        • 组织可以使用模型来帮助新员工快速上手,而更有经验的员工可以使用它们来试验和创造新知识。 当专家创建他或她对系统的看法的模型时,即使专家离开或转移,该专家的知识也会得到保留。
        • 系统级仿真提供有关设计的即时反馈。 对环境建模可以增加您对系统的理解。

        尽量减少官僚作风

        使用基于模型的设计,您可以通过自动化官僚步骤(例如设计审查、标准和指南以及报告生成)来减少官僚主义对生产力的影响。

        尽可能晚做决定

         模型提供了一种在不影响生产力的情况下延迟某些决策的方法。 例如:
        • 建模和仿真使得尝试不同解决方案的成本降低,并支持并行开发多个解决方案的基于集合的开发。
        • 模型通常独立于目标实现。 因此,您可以在开发过程的后期选择目标硬件(例如 DSP、FPGA 或 ASIC),或者您可以更改硬件目标而不丢失实现。

        尽快交付

        • 通过环境或工厂模型,可以在构建硬件之前进行算法开发。
        • 自动化简化了工作流程并减少了延迟。 例如,自动代码生成消除了将设计手动转换为代码的耗时且容易出错的步骤。
        • 使用模型,测试不必等待完全实施。 您可以在开发过程中使用快速原型制作和硬件在环仿真等技术连续执行测试。
        • 您的供应商的组件模型可以作为您更大系统仿真的一部分进行仿真。 然后可以在交付甚至制造实际硬件或零件之前很久验证组件性能。
        • 仿真和代码生成提供更快的输出和结果,这有助于缩短周期时间。
        • 仿真使可行性研究更快、成本更低,使您的团队能够在不减慢开发速度的情况下研究更多选项。

        在流程中建立诚信

        • 您可以通过与外部客户共享模拟结果,为他们提供早期指导开发的机会。
        • 模型通过向团队成员展示他们的角色如何相互关联以及使他们能够结合和测试他们的工作来促进合作。 例如,软件工程师可能会通过定制代码生成器和开发合适的灵活平台来将算法集成到软件平台中。 算法开发人员在模型中开发算法。 他们的共同努力可以立即通过代码生成和代码集成进行测试。
        • 通过自动化,员工可以更轻松地共享最佳实践和模型指南。
        • 具有自动检查功能的模型指南可以确保模型设计的一致性。
        • 对于每个组件都设计为单独模型的系统架构和分解,具有很强的组件完整性。 该组件可以作为一个单独的实体进行测试和实现,但它仍然可以与其他模型一起使用以进行完整的系统仿真。 每个模型都有一个“硬”接口,这意味着无论是单独执行还是作为更大模拟的一部分,执行期间的接口和行为都是相同的。

        看整体

         • 建立系统仿真模型可以了解系统如何工作、不同部分之间的关系以及哪些细节重要,哪些细节可以忽略。
        • 全系统仿真是管理系统复杂性的关键能力。 如果组件被划分并实现为单独的模型,它们将具有定义良好的接口。 您可以选择隐藏发送给第三方的模型中的内容,但仍然可以将该模型用作更大模拟的一部分来评估性能或查看它如何适应更大的系统。

        尊重人

        • 使用模型进行沟通可以加强供应商、客户和其他利益相关者的网络。
        • 模拟让您可以在开发周期的早期频繁地向您的客户展示示例和用户界面。 您可以向客户提供有关详细信息或系统性能的准确反馈。
        • 使用基于模型设计的开发团队可以包括具有环境(工厂)建模知识的人员、算法开发人员、测试工程师和软件工程师。 使用模型使合作更容易,因为不同的任务虽然分开,但仍然紧密相连。 工作角色之间的联系被明确定义,这使得合作更容易。
        • 对于知识共享和包含其他人的想法,模型优于文本文档。 模型也比文本文档更具吸引力,因此它们增加了动力。

        持续改进和提升

        • 标准和指南可以作为在模型上自动执行的检查来实施。 这样,正式实施使持续改进成为可能。
        • 将最佳实践形式化作为实施意味着实践本身可以持续改进。
        • 模拟通过建立信心并提供廉价且安全的学习和降低风险的方式来支持质量飞跃。 在仿真环境中包含遗留代码的能力可确保现有功能与新设计匹配或协同工作。

使用精益原则和基于模型的设计诊断控制错误

        一个工程师团队正在使用基于模型的设计来开发高性能输送机的控件。传送带由带有滚珠丝杠的直流电机驱动,来回移动电路板,使机器人能够准确地拾取和放置元件。 传送带的原型目前正在测试中。

滚珠丝杠传送装置

         测试工程师正要添加新的测试用例,却被电话打断了。 他去接电话,让传送带保持打开状态但不执行任何测试。 大约 15 分钟后他回来时,传送带发出奇怪的嗡嗡声。 开发人员将问题报告给项目负责人。

        使用精益原则确定问题的原因
        随着精益核心价值的持续改进,项目负责人从“停下来,去看”开始。 她和团队会面并尝试在实验室中重现该问题。 他们给传送带加电,但不给它任何运动方向。 嗡嗡声再次出现,确认存在问题。

        下一步是花时间收集事实。 他们从“五个为什么”开始进行根本原因分析,并将结果整合到鱼骨图中。

 

        确定了问题的两个可能原因:粘滑摩擦和来自编码器的离散位置值。
        项目负责人将团队分成两个自主小组,每个小组负责调查一个原因。 通过允许这种自主权,扩展学习(为团队成员提供更多了解应用程序的机会)、消除浪费(避免增加非生产性管理层)并最大限度地减少官僚作风(简化程序和决策)。

        使用基于模型的设计解决问题
        两组都从更新被控对象模型(plant model)开始。 一个团队为离散编码器添加了细节,另一个团队为机械添加了粘滑摩擦。 然后,他们使用系统级模拟和假设分析来调查更新的影响。

        调查离散编码器的小组发现了这个问题。 他们添加了编码器信号的简单量化。 在仿真模型中运行的测试用例显示没有托盘振动。 然而,当团队手动设置所需位置时,只要离散编码器无法满足某个位置,他们就会看到控制信号闪烁。 由于编码器中的离散步骤,控制误差仍然存在,导致控制器的整体部分增加。 时间长了,力道够了,把托盘移到一个还不完全正确的位置。
        该团队对控制器的输入进行量化,以便编码器始终代表所需的位置。 他们还添加测试用例来检查这个问题。 他们从更新的控制器生成代码,编译它,并将它下载到实际机器上。 他们检查新发现的问题,但这次没有噪音。 该产品现在可以立即发布。
        团队及时解决了问题。 但也许更重要的是,他们了解了有关该系统的一些新知识。 他们获取了在工厂和控制器模型中获得的知识,这些知识可以应用到未来的项目中。 重点是他们学会了构建更好的系统。

         

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值