当前位置:首页 > > strongerHuang
[导读]关注星标公众号,不错过精彩内容来源| 网络选择了IT行业,就选择了一个充满于挑战的行业。对于软件工程师而言,项目的成功和失败对他们很重要。因为一行行的代码他们不知道熬了多少个通宵,脑细胞死了多少而写出来的。如果项目失败了,就意味着辛辛苦苦的一切付诸东流。这不得不令人沮丧。本文就给...

关注 星标公众,不错过精彩内容

来源 | 网络



选择了IT行业,就选择了一个充满于挑战的行业。对于软件工程师而言,项目的成功和失败对他们很重要。因为一行行的代码他们不知道熬了多少个通宵,脑细胞死了多少而写出来的。


如果项目失败了,就意味着辛辛苦苦的一切付诸东流。这不得不令人沮丧。本文就给大家介绍一下是什么原因会让一个项目在不知不觉中慢慢地且不声不响地走上失败之路。


成员流动

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

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

完美主义者的态度

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

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

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

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

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

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

不管是什么样的嵌入式工程师,在开发新的嵌入式系统时,没有人确保这个项目百分之百会成功。影响项目的成功有许多因素,而我们工程师们需要做的就是把失败率降到最低。你可以从以上总结中吸取经验。判断自己的项目是否在走着一条缓慢且迈向失败的路。
免责声明:本文来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。
------------ END ------------

●嵌入式专栏精选教程●精选汇总 | ST工具、下载编程工具●精选汇总 | 嵌入式软件设计与开发●精选汇总 | STM32、MCU、单片机
迎关注我的公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。嵌入式软硬件、物联网、人工智能、AIoT、半导体、单片机、开发工具、编程技术、行业资讯等相关内容(关注并回复“1024”查看更多精彩内容)。" data-from="0">
欢迎关注我的视频号:


点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

PSOC™ Edge E84 AI 开发套件是一款用于嵌入式和边缘人工智能应用的开发板。本指南将说明如何配置 Arduino IDE 以支持 PSOC™ Edge E84 AI 开发套件,并提供在该开发板上编译、上传和运...

关键字: 嵌入式 边缘人工智能 Arduino

Agentic AI 正在生成比以往更多的模型、代码、需求以及测试工件,但更多的产出并不意味着更快的系统级开发进展。这种脱节源于系统连续性的中断:每次工具之间的交接都会丢失可执行的系统状态,迫使工程师在继续工作之前,从静...

关键字: 电动汽车 Agentic AI 嵌入式

本项目将一块STM32板改造为一个简单的音频设备,通过三个按钮进行控制。按下其中一个按钮可播放音调,另外两个按钮则用于通过扬声器调节频率的上下变化。该项目探索了嵌入式编程的基础知识,包括GPIO配置、方波生成以及实时响应...

关键字: 扬声器 嵌入式 方波 STM32

树莓派Pico 2是树莓派推出的最新微控制器开发板,搭载强大的RP2350微控制器。它提供更快的性能、更大的内存、增强的安全性,并支持Arm Cortex-M33和Hazard3 RISC-V两种架构。

关键字: 嵌入式 MicroPython 树莓派 RP2350

语音控制在消费电子产品中已十分常见,但将其集成到嵌入式项目中却仍然令人意外地困难。大多数解决方案依赖云服务、需要大量编程,或仅限于固定的一组预设命令。对于创客、学生和业余爱好者而言,将离线语音识别功能融入ESP32项目可...

关键字: 消费电子 嵌入式 ESP32-S3

在后端服务、嵌入式系统的长期运行过程中,多线程死锁是最让人头疼的疑难问题之一。很多时候程序没有任何崩溃迹象,CPU占用率也很低,日志输出突然完全停滞,所有业务请求全部卡死,进程就像进入了永久休眠状态。不少开发者遇到这类问...

关键字: GDB 嵌入式

康佳特基于 AMD 锐龙 AI 嵌入式 X100 系列处理器的COM-HPC Client conga-HPC/cRX1模块 树立性能新标杆

关键字: AI 嵌入式 处理器

在嵌入式开发、硬件调试和芯片测试的世界里,JTAG是一个无处不在却又常常被开发者一知半解的核心存在。很多工程师天天用JTAG下载程序、调试芯片,却未必能说清它的本质,遇到下载失败、连接中断的问题时,只会盲目更换仿真器,找...

关键字: JTAG 嵌入式

AI编程助手已经彻底改变了一名开发者一个上午能完成的工作量。过去需要几个小时才能理清思路、写出草稿的代码,现在几秒钟就能生成。对于探索性工作和快速原型开发来说,这种效率提升是实实在在的。

关键字: AI编程助手 代码 嵌入式

很多嵌入式开发者调试IIC通信时,都遇到过这类看似无解的问题:代码逻辑完全符合数据手册要求,示波器抓波形也看不出明显异常,但总线就是随机丢包、传感器偶尔返回乱码,甚至完全无法通信。排查到最后才发现,要么是GPIO配置成了...

关键字: 嵌入式 上拉电阻
关闭