致使嵌入式系统失败的缘由

  选择了IT行业,就选择了一个充满于挑战的行业。对于软件工程师而言,项目的成功和失败对他们很重要。由于一行行的代码他们不知道熬了多少个通宵,脑细胞死了多少而写出来的。若是项目失败了,就意味着辛辛苦苦的一切付诸东流。这不得不使人沮丧。本文就有尚观教育给你们讲解一下是什么缘由会让一个项目在不知不觉中慢慢地且不声不响地走上失败之路。架构

  一、成员流动工具

  每家公司都会经历员工或承包商的流动,但关键人物太过于常常变更,多是一个项目注定失败的领先指标。有不少缘由能够说明为何人员流动对项目会有不利的影响。第一,它会形成其余团队成员心理上的影响,而下降生产力。其次,失去关键人物可能会致使历史性和重要的信息会永远遗失,这会放缓发展的脚步。最后,替换队员须要对新的成员进行训练,并跟上团队的脚步。这是一个会令人分心的工做,会让其余成员放下手边的开发工做来教导新的成员,结果会致使开发成本的增长和延长交付时间。测试

  二、走走停停症候群设计

  孩子被教导说,“不要喊狼来了。”这话是一个警告,不要误发假警报。这种警告有一种“进行!中止!进行!”的周期,在项目中很容易被忽略。一位经理、客户,或其余一些单位猛烈地催促他的团队,声称该项目要在某一日以前完成。开发人员所以周末加班,投注更多的心力。而后,就像这股来得很快的催促之力,忽然之间却又嘎然而止。个月后,它又再次告急。 “快点,咱们必须在X以前出货!” 而后一样的事情又再次发生。3d

  项目这种走走停停一再重复的紧迫性将会对开发团队形成心理层面的影响。开发人员再也不相信任何的迫切性。事实上,他们会有一种心态,开始以为这个项目并非一个须要认真对待的项目,它很快将再次中止,那么为何还要投入任何的努力?日志

  因此,不要对项目喊狼来了!blog

  三、完美主义者的态度开发

  许多工程师都有一种完美主义者的态度。这种态度所带来的问题是,不可能开发出完美的系统,撰写出完美的代码,或者在最适当的时间推出产品。完美主义是镜花水月,若是完美主义是公司文化的一部分,它将会是产品可能会不断修正,直到公司破产倒闭的标志。原型

  正确的心态不是完美,而是成功。为了能够成功地推出产品,什么是最低的成功标准?设下成功的标准,并在一旦达成后,当即推出产品。以后能够用启动加载器(boot-loader)来添加功能并解决那些小错误。产品

  四、加速的时间表

  要迅速地开发出一个嵌入式系统,事实上,设计团队事实上要放慢脚步,这彷佛违反直觉。但依据加速的时间表(accelerated timetable)工做,会由于压力和,更重要的是,有比较高的可能性会产生错误,而使得效率下降。错误将直接影响小缺陷的数量,而这些小缺陷随后又会增长测试时间和返工的时间。

  另外一个问题是,当开发人员都抢着和努力知足加速的时间表时,他们会图省事而走快捷方式。好比,代码没有批注及说明。像是架构图和流程图等设计文件也付之阙如。相反地,设计只留存在程序设人员的心中。放慢脚步,把事情作正确,会更快地获得最终的解决方案。

  五、 不良的结构化软件

  嵌入式软件是嵌入式系统的血液;没有了它,产品就没法运做。不良的结构化软件是一个很明确的失败征兆。嵌入式系统的系统结构须要具备灵活性,以便将来成长之用。它要有用于测试、除错和进行日志记录的空间。一个架构不佳的系统将会使得施做不良,而致使该软件错误百出而难以管理,从而注定要将它的岁月花在除错上,直至项目最终死亡为止。

  六、 本末倒置

  开发一个新产品是一种会使人兴奋的奋斗过程。其中有不少事情要作,而公司一般是急着想把产品从概念化成能够生产的产品。这种匆促的举动是极其危险的,尤为是当生产决定浮现时。

  当产品的机械设计或外观和感受被拿来推进其电气需求时,这就是一个很好的例子。在工做的电气和软件原型被验证以前,生产工具就准备好要生产了。在这种状况下,彷佛老是有电路板没有检查,须要进行调整的问题。对那些匆匆忙忙、且太快就试着要把全部的事情同时拉在一块儿的项目,最终结果老是因为修改而落入花更长时间和更多成本的结果。

  七、 范围潜变

  每一个项目都有范围潜变(scope creep),但范围潜变的程度能够是该项目是否会成功或失败的决定性因素。范围潜变最危险的一个领域是,它是暗中为害的。某天在电路板上增长了一个简单的传感器,几个月后再加一些上去,这些看起来彻底无害。但他们多是致命的。

  范围潜变的最大问题是,变化一般是微小的。乍看之下,改变看起来只是短短几天的工做。可是,每次加一点点,系统的复杂性也随之增长了。复杂的系统须要更多的测试,可能也须要更多的除错。随着时间的发展,范围潜变能够将系统改变到使原来的软件体系结构和设计变得过期,或甚至变成是不正确的解决方案!最终的结果是使一个项目变得远远地超出其预算范围,实际进度落在交货日期以后,此一项目不多或几乎没有结束的迹象。

  结论

  不论是什么样的嵌入式工程师,在开发新的嵌入式系统时,没有人确保这个项目百分之百会成功。影响项目的成功有许多因素,而咱们工程师们须要作的就是把失败率降到最低。你能够从以上总结中吸收经验。判断本身的项目是否在走着一条缓慢且迈向失败的路。

相关文章
相关标签/搜索