0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式项目烂尾的几点真相

strongerHuang 来源:strongerHuang 2023-06-20 09:17 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

选择了嵌入式行业,就选择了一个充满于挑战的行业。对于软件工程师而言,项目的成功和失败对他们很重要。因为一行行的代码他们不知道熬了多少个通宵,脑细胞死了多少而写出来的。 如果项目失败了,就意味着辛辛苦苦的一切付诸东流。这不得不令人沮丧。本文就给大家介绍一下是什么原因会让一个项目在不知不觉中慢慢地且不声不响地走上失败之路。

成员流动

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

走走停停综合征

孩子被教导说,“不要喊狼来了。”这话是一个警告,不要误发假警报。这种警告有一种“进行!停止!进行!”的周期,在项目中很容易被忽略。 一位经理、客户,或其他一些单位猛烈地催促他的团队,声称该项目要在某一日之前完成。开发人员因此周末加班,投注更多的心力。然后,就像这股来得很快的催促之力,突然之间却又嘎然而止。几个月后,它又再次告急。 “快点,我们必须在X之前出货!” 然后同样的事情又再次发生。 项目这种走走停停一再重复的紧迫性将会对开发团队造成心理层面的影响。开发人员不再相信任何的迫切性。事实上,他们会有一种心态,开始觉得这个项目并不是一个需要认真对待的项目,它很快将再次停止,那么为什么还要投入任何的努力? 所以,不要对项目喊狼来了!

完美主义者的态度

许多工程师都有一种完美主义者的态度,这种态度所带来的问题是,不可能开发出完美的系统,撰写出完美的代码,或者在最适当的时间推出产品。 完美主义是镜花水月,如果完美主义是公司文化的一部分,它将会是产品可能会不断修正,直到公司破产倒闭的标志。 正确的心态不是完美,而是成功。为了可以成功地推出产品,什么是最低的成功标准?设下成功的标准,并在一旦达成后,立即推出产品。之后可以用启动加载器(boot-loader)来添加功能并解决那些小错误。

加速的时间表

要迅速地开发出一个嵌入式系统,事实上,设计团队要放慢脚步,这似乎违反直觉。但依据加速的时间表(accelerated TImetable)工作会产生压力,更重要的是,有比较高的可能性会产生错误,而使得效率降低。错误将直接影响小缺陷的数量,而这些小缺陷随后又会增加测试时间和返工的时间。 另一个问题是,当开发人员都抢着和努力满足加速的时间表时,他们会图省事而走快捷方式。比如,代码没有批注及说明。像是架构图和流程图等设计文件也付之阙如。相反地,设计只留存在程序设计人员的心中。放慢脚步,把事情做正确,会更快地得到最终的解决方案。

不良的结构化软件

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

本末倒置

开发一个新产品是令人兴奋的奋斗过程。其中有很多事情要做,而公司通常是急着想把产品从概念化成可以生产的产品。这种匆促的举动是极其危险的,尤其是当生产决定浮现时。 当产品的机械设计或外观和感觉被拿来推动其电气需求时,这就是一个很好的例子。在工作的电气和软件原型被验证之前,生产工具就准备好要生产了。 在这种情况下,似乎总是有电路板没有检查,需要进行调整的问题。对那些匆匆忙忙、且太快就试着要把所有的事情同时拉在一起的项目,最终结果总是由于修改而落入花更长时间和更多成本的结果。

范围潜变

每个项目都有范围潜变(scope creep),但范围潜变的程度可以是该项目是否会成功或失败的决定性因素。范围潜变最危险的一个领域是,它是暗中为害的。某天在电路板上增加了一个简单的传感器,几个月后再加一些上去,这些看起来完全无害,但他们可能是致命的。 范围潜变的最大问题是,变化通常是微小的。乍看之下,改变看起来只是短短几天的工作。但是,每次加一点点,系统的复杂性也随之增加了。复杂的系统需要更多的测试,可能也需要更多的除错。随着时间的发展,范围潜变可以将系统改变到使原来的软件体系结构和设计变得过时,或甚至变成是不正确的解决方案!最终的结果是使一个项目变得远远地超出其预算范围,实际进度落在交货日期之后,此一项目很少或几乎没有结束的迹象。

最后

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5209

    文章

    20650

    浏览量

    336935
  • 代码
    +关注

    关注

    30

    文章

    4976

    浏览量

    74375

原文标题:嵌入式项目烂尾的几点真相

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何成为一名高薪嵌入式工程师?

    嵌入式,也可以轻松入门。 如果你已经明确好,想要从事嵌入式开发,想要成为一名高薪的嵌入式工程师,那下面这几点建议请好好看看: 一、夯实技术基础 ✅编程语言 C语言:
    发表于 04-09 09:03

    嵌入式单片机开发学习路径

    通过完成一些简单的项目来巩固所学知识。例如,制作一个简单的LED闪烁电路或温度传感器测量系统。 4. 高级进阶 4.1 操作系统学习 学习嵌入式操作系统(如FreeRTOS),理解多任务
    发表于 02-09 15:42

    什么是嵌入式应用开发?

    概述 所谓的嵌入式应用开发就是在嵌入式操作系统下进行开发、软硬件综合开发 ‌嵌入式应用开发‌是指在嵌入式操作系统下进行开发,包括系统化设计指导下的硬件和软件综合研发。
    发表于 01-12 16:13

    嵌入式应掌握的几种能力

    1. 编程语言 基本掌握嵌入式必备的编程语言。C语言为主,C++为辅。在资源有限的情况下,大多数嵌入式产品还是使用C语言为主的,特别是底层驱动开发。上层应用开发大多用C,在一些资源比较充足的平台
    发表于 12-08 06:05

    开源 | 60余套STM32单片机、嵌入式Linux、物联网、人工智能项目(开发板+教程+源码)

    私信免费领取!60余套综合项目案例STM32单片机、嵌入式、物联网、人工智能智能车/机器狗/小智AI/家居/农业/安防等多领域项目文档+项目源码,全开源高校教学、学生毕设、创新竞赛、
    的头像 发表于 12-04 11:42 925次阅读
    开源 | 60余套STM32单片机、<b class='flag-5'>嵌入式</b>Linux、物联网、人工智能<b class='flag-5'>项目</b>(开发板+教程+源码)

    嵌入式和FPGA的区别

    。 在当今智能化时代,嵌入式系统和FPGA技术都是电子系统设计中的重要组成部分,但许多工程师和技术爱好者常常对两者的区别和应用场景感到困惑。本文将深入解析嵌入式系统和FPGA的核心差异,帮助您在项目
    发表于 11-19 06:55

    嵌入式需要掌握哪些核心技能?

    嵌入式需要掌握哪些核心技能? 若想通过学习嵌入式技术提升就业竞争力,需重点掌握C语言、嵌入式硬件架构、RTOS/Linux开发、通信协议四大核心技能,并结合行业需求积累项目经验。
    发表于 10-21 16:25

    嵌入式达到什么水平才能就业?

    (三)实战经验拥有2-3 个完整嵌入式项目经验:项目需包含需求分析、方案设计、代码开发、测试优化全流程,能清晰阐述项目难点与解决方案能独立排查
    发表于 09-15 10:20

    新一代嵌入式开发平台 AMD嵌入式软件和工具2025.1版现已推出

    抢先体验 SHEL 流程简化所有 AMD 嵌入式开发平台上的软件项目生成过程 Zephyr RTOS 兼容性已扩展至第二代 AMD Versal AI Edge 系列、Kria SOM
    的头像 发表于 08-20 09:15 4204次阅读

    入行嵌入式应该怎么准备?

    不同的领域,如汽车、医疗、工业控制等。对于特定领域的了解将使你更具竞争力。因此,了解不同领域的特点和要求是非常有益的。 入行嵌入式需要掌握的技术能力远不止上述几点,但这些是入门的基础。通过学习和实践,方可逐渐提高自己的技术水平,并在
    发表于 08-06 10:34

    Linux嵌入式和单片机嵌入式的区别?

    :成本较低,适合预算有限的项目。 Linux嵌入式 :成本较高,适合对功能和性能有较高要求的项目。 8. 社区和支持 : 单片机嵌入式 :社区和支持相对较小,但也有一些专业的论坛
    发表于 06-20 09:46

    嵌入式AI技术漫谈 如何组建一个AI项目开发小组

    我们来谈一谈如何组建一个AI项目开发小组: 为什么要为嵌入式AI项目 组建一个专门的开发小组 相对于以往成熟的项目开发体系,嵌入式AI
    的头像 发表于 06-11 16:34 1553次阅读

    【书籍评测活动NO.61】Yocto项目实战教程:高效定制嵌入式Linux系统

    用的嵌入式 Linux 构建工具之一是 Buildroot。尽管 Buildroot 能在较短时间内提供简单的嵌入式系统,但它的局限性在于对复杂项目和频繁变化的软硬件需求的支持不足。随着嵌入式
    发表于 05-21 10:00

    飞凌嵌入式2025嵌入式及边缘AI技术论坛圆满结束

    飞凌嵌入式「2025嵌入式及边缘AI技术论坛」在深圳深铁皇冠假日酒店盛大举行,此次活动邀请到了200余位嵌入式技术领域的技术专家、企业代表和工程师用户,共享嵌入式及边缘AI技术的盛宴!
    的头像 发表于 04-28 13:57 4344次阅读
    飞凌<b class='flag-5'>嵌入式</b>2025<b class='flag-5'>嵌入式</b>及边缘AI技术论坛圆满结束

    嵌入式适合自学吗?

    缺乏系统的规划,而学习到一些不相关或不重要的内容。 2)缺乏实践机会:嵌入式开发需要大量的实践,而自学的学习者可能缺乏实际的项目练习和实践机会。这会导致学习者在实际工作中缺乏经验,难以胜任嵌入式
    发表于 04-27 09:54