项目管理1:嵌入式系统项目失败的7个隐形杀手

2023-10-27

转自飞凌论坛一部分

http://bbs.witech.com.cn/forum.php?mod=viewthread&tid=71580&extra=page%3D3

人人都是项目经理的年代,但不是人人都是合格的项目经理

#1 - 范围潜变

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

#2 - 本末倒置

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

#3 – 不良的结构化软件

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

#4 - 加速的时间表

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

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

#5 - 完美主义者的态度

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

#6 – 走走停停症候群

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

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

所以,不要对项目喊狼来了!

#7 – 成员流动(Team turnover)

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

项目管理1:嵌入式系统项目失败的7个隐形杀手 的相关文章

  • VS Code之Vue开发常用插件

    Auto Close Tag 自动补全html标签 Auto Rename Tag 同步更改html尾标签 ESLint ESlint语法提示 settings json 文件 eslint nodePath E WebStorm 应用路径

随机推荐

  • openwrt不支持opkg的解决办法

    opkg是openwrt的插件安装命令 类似Ubuntu上的apt get或者centos上的yum 好多采用openwrt系统的设备 最后都把opkg裁剪掉了 如果拿到一个设备又想用opkg安装网络上下载到的ipk包 应该怎么办呢 其实也
  • Fluent Nhibernate and Stored Procedures

    sql DROP TABLE Department GO CREATE TABLE Department Id INT IDENTITY 1 1 PRIMARY KEY DepName VARCHAR 50 PhoneNumber VARC
  • 【深度学习】最全的十九种损失函数汇总

    tensorflow和pytorch很多都是相似的 这里以pytorch为例 文章目录 一 L1范数损失 L1Loss 二 均方误差损失 MSELoss 三 交叉熵损失 CrossEntropyLoss 四 KL 散度损失 KLDivLos
  • 数仓建模宽表设计

    一 宽表的设计 其实宽表是数仓里面非常重要的一块 前面我们介绍过了维度表事实表 今天我们介绍一下宽表 前面我们说过了数仓是分层的 这是技术进步和时代变化相结合的产物 数仓的分层式为了更好地管理数仓以及更加高效地进行数据开发 宽表主要出现在d
  • 关于二进制的一个题目

    关于二进制的一个题目 猜测下面count的个数 test23d cpp 定义控制台应用程序的入口点 include stdafx h include
  • 【Copilot】GitHub Copilot could not connect to server. Extension activation failed: “read ECONNRESET“

    背景 搞了个Copilot 在VS里完美运行 但VScode里就一直报这个错误 GitHub Copilot could not connect to server Extension activation failed read ECON
  • 数据库锁表如何处理

    前段时间阿粉在公司开发的时候 不慎导致了数据库产生了锁表的操作 因为阿粉之前从来没有遇到过 之前只是了解过一点 所以导致了锁表 于是阿粉为了解决问题 研究了一下这一部分的内容 于是决定把这一块的知识分享给大家 数据库锁定机制 话说如果你只是
  • 将pbr移植到osg中的需要注意模型法线

    在pbr移植到osg中时 有时发现发黑 原因是光线方向和模型方向相反 在max dot N L 0 计算是 自然就是0了 也很简单 取绝对值即可 即 改为max abs dot N L 0 虽然不一定正确 但是效果起码出来了 另外 传递浮点
  • react-json-view(一看就会的教程)

    最近业务上需要用到json可视化的需求 在这给大家安利一个前端页面很好用的插件react json view 第一步 安装插件npm install save react json view 或者 yarn react json view
  • 持续集成Jenkins安装部署

    Jenkins是一个在DevOps领域中 支持CI CD 持续集成 持续交付 过程域的开源项目 其提供可扩展插件的支持 以自动化的机制对项目工程执行打包 编译 构建 测试以及最终发布到目的地服务器并成功部署运行 本文主要描述Jenkins的
  • Angular表单创建和校验

    Angular中提供了模板驱动表单和响应式表单 相对来做 模板驱动表单使用更加简单 只需要在表单外围添加 myForm ngForm 指令 给每个表单项添加ngModel指令和name属性 然后就可以通过myform value获取到表单中
  • 阿里云数据库RDS MySQL 物理全备文件数据恢复至自建数据库Mysql 5.7中

    环境介绍 CentOS 7 5 Mysql 5 7 percona xtrabackup 24 注意事项 操作系统中已安装数据恢复工具Percona XtraBackup 您可以从Percona XtraBackup官网下载安装 MySQL
  • 高并发系统设计--负载均衡与API网关

    负载均衡 负载均衡 有两个用途 1 将负载均衡的分配到多个处理节点上 减少单个处理节点的请求量 提升整体系统的性能 2 作为流量入口 对请求方屏蔽服务节点的部署细节 实现对业务方无感的扩容 可以分为两大类 一类是代理类的负载均衡服务 另一类
  • VMware Workstation 17 pro下载安装教程

    VMware Workstation 17 pro下载安装教程 Hello 感谢大家阅读我的文章 有问题评论区留言呦 最近 课题组新配了电脑 自带Win11操作系统 所以我这里安装VMware的时候就下载了最新版的17 pro 它是支持Wi
  • NCC中实现单点登录服务发布

    NCC中实现单点登录服务发布 前言 本文档旨在从方案 能力 及开发方式几个方面 对单点登录进行讲解 相关资料 百度网盘 社区资料 概念介绍 单点登录 Single Sign On 简称为 SSO 是比较流行的企业业务整合的解决方案之一 SS
  • vue实现动画滚动效果

    效果如下 npm https www npmjs com package vue seamless scroll activeTab versions 官网 https chenxuan0000 github io vue seamless
  • WebSocket 协议介绍

    WebSocket 协议 1 相关技术背景介绍 客户端 浏览器 和 服务端在是怎么进行通信的呢 当前许多传统应用的 Web 项目是通过简单的 AJAX 来进行通信的 AJAX 是一种用于创建快速动态网页的技术 通过在后台与服务器进行少量数据
  • 力扣645 错误的集合 位运算

    1 https leetcode cn com problems set mismatch solution cyi huo fa xiang jie by feng feng 19 边界条件的设定很难想到 t sum sum https
  • JDBC连接MySQL,增删改查方法

    1 加载驱动 Class forName 参数为 com mysql jdbc Driver Mysql 5 8版本 8 0版本jar包 参数为 com mysql cj jdbc Driver 2 建立连接 URL jdbc mysql
  • 项目管理1:嵌入式系统项目失败的7个隐形杀手

    转自飞凌论坛一部分 http bbs witech com cn forum php mod viewthread tid 71580 extra page 3D3 人人都是项目经理的年代 但不是人人都是合格的项目经理 1 范围潜变 每个项