自己正打算做一些软件开发方面的总结,要想成为优秀的开发人员,懒是必要的条件,因此先搜一下,看有没有现成的好的总结,这不,一下就就找到了一篇,非常好的文章,自己暂时可以不用做总结了,直接拿来收藏,学习,分享,交流。

以下纯转载(原文四篇,只转之一的第二篇,另三篇链接)。。。并强烈推荐(标题为原创纯粹为上头条,好推荐给各位,无它)。。。

软件开发基本原则(二)—— 典型错误

  大多数典型错误其表面都具有诱惑性,给人们一种诱人的前景,但通常却不能产生期望的结果。

  “想挽救进度已经落后的项目吗?---- 给项目补充更多人员!”

  下面分别按照人员、过程、产品和技术四个维度列出36个典型错误。


人 员

 

  • 典型错误1:挫伤积极性

  对人员不够关心和重视;过度的进度压力;缺乏激励;过分夸张的激励等。

  • 典型错误2:人员素质低

  人员能力欠佳,工作效率低,甚至做多错多。

  • 典型错误3:对有问题的员工失控

  不对有问题的人员采取措施是项目组成员对领导最常见的抱怨。

  • 典型错误4:英雄主义

  强调个人英雄主义会导致发生额外的风险,也会削弱在软件开发过程中多个角色的合作。

  • 典型错误5:项目后期加入人员

  盲目地在项目后期加入人手等于火上浇油。

  • 典型错误6:办公室环境拥挤嘈杂

  拥有安静、隐蔽办公环境的人员比工作在嘈杂、拥挤环境中的人员往往会有更好的工作业绩表现。

  • 典型错误7:开发人员与客户之间发生摩擦

  主要原因是缺乏沟通。这种摩擦耗费时间,它会转移客户和开发人员双方对项目工作的注意力。

  • 典型错误8:不现实的预期

  过高的期望值和主观的不切实际的设想。是导致开发人员和客户或项目经理之间的摩擦常见原因之一。

  • 典型错误9:缺乏有效的项目支持

  软件开发项目的许都方面都需要高层的支持,包括实际的计划、变更控制以及新型开发方法的采用等。缺乏有效的高层支持事实上注定了项目的失败。

  • 典型错误10:缺乏各种角色的齐心协力

  软件开发中所有主要人员必须齐心协力专注于项目,包括高层支持者、项目领导、项目成员、市场人员、最终用户、客户和任何项目介入者。

  • 典型错误11:缺乏用户介入

  没有用户早期介入的项目充满需求误解的风险,易受项目后期功能蔓延的威胁。

  • 典型错误12:政治高于物质

  “政治家”型项目强调“管理至上”,主要精力集中在他们与经理的关系上。将政治凌驾于结果之上对软件项目会造成极大伤害。

  • 典型错误13:充满想象

  闭上眼睛毫无理由地希望某事将像想象那样运作。很多软件开发问题都是由于充满想象造成的。

       想象示例:

  • 项目组不知道他们能不能按时完成项目,但他们认为如果每个人能更努力工作,并且不出现问题,他们应该能完成项目。
  • 我们无需向客户演示最新的修改,我们确信这个效果是客户想要的。
  • 项目组错过了一个里程碑好几天了,他们说会更努力工作赶上下一个里程碑,我想他们能够及时赶上的。

 
过 程
 
  • 典型错误14:过于乐观的计划

  定制过于乐观的项目计划相当于自己为项目失败画出了底线,导致缩短分析、设计等关键性前期开发活动;同时也向开发人员施加了额外压力,会长期对开发人员的自信心和生产率造成巨大伤害。

  • 典型错误15:缺乏足够的风险管理

  如果你不主动管理风险,风险随时会来找你,打乱你的开发计划。

  • 典型错误16:承包人导致的失败

  如果不对承包商加以认真管理,交付可能延期,并且质量难以保证。

  • 典型错误17:缺乏计划

  没有计划的项目就像飘荡在海洋中的小船,没人知道会飘到哪里。

  • 典型错误18:在压力下放弃计划

  很多项目组定制了计划,但遇到了麻烦时就放弃计划。项目失败的原因不是在于放弃计划本身,而是不能及时修订计划制定替代计划,并一头栽进编码和问题处理中。

  • 典型错误19:在模糊的项目前期浪费时间

  由于花在审批、预算等前期工作的时间过长,或需求无限循环等原因,导致压缩开发计划。项目前期节省几周或几个月时间比将开发计划压缩同样时间来得更容易、更廉价,风险也更少。

  • 典型错误20:前期活动不符合要求

  研究数据:

  前期被跳过的活动或工作通常在后期会以10倍到100倍的代价来完成。如果一项工作在项目初期需要5小时完成,那么在项目后期你至少需要50小时才能完成它。  (Fagan 1976,Boehm and Papaccio 1988)

  • 典型错误21:设计低劣

  前期活动不符合要求的一个特殊情况就是设计低劣。高压环境导致设计缺乏周密思考往往导致设计低劣。

  • 典型错误22:缺少质量保证措施

  研究数据:

  项目前期砍掉1天的质量保证活动,到项目后期就需要3到10天的处理代价。(Jones 1994)

  • 典型错误23:缺少管理控制

  缺少管理控制点就难以对项目的阶段和状态进行跟踪,因此不能知道项目是否按正常轨道前进。

  • 典型错误24:太早或过于频繁的集成

  在构建未完全锁定时,进行过早的集成或额外的集成不利于产品,它仅仅是在浪费时间,延长进度。

  • 典型错误25:项目估算时遗漏必要的任务

  训、公司和部门会议,技术评审会议等活动在项目估算时通常被遗漏。

  • 典型错误26:追赶计划

  当进度落后时不重新检查任务和调整计划,而是简单地决定把进度赶上来。

  另一种情况是,当产品出现变更却没有做相应的计划调整。

  • 典型错误27:鲁莽编码

  没有足够的需求基础和清晰的架构设计而进行“边编码边修改”造成太多重复工作和返工,这样的做法使项目大多以失败告终。


产 品

 

  • 典型错误28:需求的镀金

  项目的产品要求要求比实际需求多得多的产品特性或复杂功能,却又不给进度计划分配足够的时间。

  • 典型错误29:功能蔓延

  在整个开发过程中,项目平均会有25%的需求变更,对软件计划至少有25%的影响。如果任由客户不断提出新需求,项目就会一直都做不完。

  • 典型错误30:开发人员的镀金

  开发人员着迷于新技术,有时渴望在自己的产品中使用这些技术,而不管那些技术是否适合或是否会对系统整体造成破坏。

  • 典型错误31:又推又拉的交易

  管理者批准进度落后的项目顺延,但同时又给这个项目加入新任务。

  • 典型错误32:研究导向的开发

  软件开发进度是完全有理由可以预测的,而软件研究进度甚至理论上都是不可预知的,不能采用像软件研究一样的工作方式引导项目开发。


技 术

 

  • 典型错误33:银弹综合症

  过于相信某些技术宣传(某种开发过程、某种程序设计方法、某种开发语言),缺少在特定环境下使用这些工具的必要信息。当团队寄望利用他们来解决进度问题时,不可避免会失败的。

  • 典型错误34:过高估计了新技术或方法带来的节省量

  无论采用多少新工具或方法,以及这些工具或方法有多好,他们很少能够大幅度提高生产率。软件开发由多个任务组成,特定的工具或方法只会可能提高特定任务的生产效率。同时,它们所带来的效率常常被学习它们所花费的时间抵消了。

  • 典型错误35:项目中间切换工具

  在项目中间更换工具时,伴随使用新工具而带来的人员学习和掌握的过程、重复的工作、不可避免的错误等会彻底抵消它所带来的益处。

  • 典型错误36:缺乏自动的源代码控制手段

  缺乏自动的源代码控制容易造成版本冲突、历时版本丢失、更新丢失等一系列问题,并浪费大量的时间处理这些问题。

原文出处:项目主页 怪兽的博客  怪兽的微博  怪兽乐园Q群

软件开发基本原则(一)—— 策略和因素

软件开发基本原则(三)—— 基本原则

软件开发基本原则(四)—— 风险管理

[转]软件开发基本原则(二)典型错误相关推荐

  1. 软件开发基本原则(一)—— 策略和因素 (转)

    前 言 前段时间一直在写技术方面的文章,现在想转转口味,从软件开发过程和项目管理的角度来谈论软件开发.本座也知道,从这两个角度来谈论软件开发对 谈论者来说是非常冒险的一件事情,它不像技术,对就对错就错 ...

  2. 创业期的软件开发管理(二)

    接上文创业期的软件开发管理(一) 软件队伍 技术主管 决策者对软件开发可能一知半解,他们会想当然地认为软件开发过程比较"简单":从市场上找一个技术带头人,然后组建一个开发队伍,其余 ...

  3. 影响中国I软件开发的二十人

    被列入"影响中国软件开发的20人"分别为:陈榕.严援朝.求伯君.王江民.鲍岳桥.宫敏.谭浩强.李开复.陈钟.杨明.侯捷.王志东.周奕.陈天桥.吴涛.雷军.丁磊.张小龙.廖衡毅.袁红 ...

  4. python开发pc软件_程序员带你十天快速入门Python,玩转电脑软件开发(二)

    关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到 ...

  5. python做电脑软件-程序员带你十天快速入门Python,玩转电脑软件开发(二)

    关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到 ...

  6. 软件开发(二)——需求分析

    用户需求是软件开发的生命力,是软件开发的出发点和落脚点,也是软件开发最重要的步骤. 需求分析是什么? 简要的说,需求分析就是弄明白软件"需要来干什么"和软件"不要干什么& ...

  7. 快速软件开发——软件开发基本原则

    管理原则 项目估算和进程安排.项目开始前需要先制定项目进度表:首先要估算项目规模大小,然后估算实现这些规模要付出的代价,最后基于这种估算制定项目进度计划. 计划编制 项目估算和时间进度 确定项目需要多 ...

  8. ouc2022移动软件开发 实验二:天气查询小程序

    一.实验目标 1.掌握服务器域名配置和临时服务器部署:2.掌握 wx.request 接口的用法. 二.实验步骤 1."和风天气"密钥申请 "和风天气"有着可以 ...

  9. 中国联通广州软件研究院 软件开发岗二面(技术面)

    hr面后三天后接到二面通知 时间很紧,晚上八点打的电话,通知第二天早上九点就开始面试 形式是微信视频面,20个人分组hr一个个拉群 卡得非常紧非常紧,只给每个人固定时间15分钟 我的15分钟一直在扒项 ...

最新文章

  1. 新闻智能分类练习赛开始报名啦!最先达到80分就可以领GPU,技术书籍!
  2. android自定义离线地图,MapBox GL Android:已下载但未使用的自定义磁贴源的离线地图...
  3. 利用vc的mfc做的Excel表格处理工具
  4. android 微信分享没反应问题总结
  5. C51 printf修改如何能打印到不同的设备呢?
  6. web td不对齐_珍稀干货!阿里 Web 音视频开发趟坑指南
  7. STM32L之可编程电压检测(PVD)
  8. Apollo通过客户端openApi方式更新、获取、发布配置
  9. Python之if语句
  10. MySQL 面试,必须掌握的 8 个知识点
  11. Javascript ECMA-1(数据类型,字符串操作)
  12. error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
  13. git创建分支合并到master分支步骤
  14. 如何调整一个 IFrame 到其内容的大小不显示滚动条[微软帮助]
  15. Redis Info命令陈述
  16. 创e下载园7edown.com(坑爹流氓网站大揭秘)
  17. 滤波器截止频率理解?
  18. Eureka注册中心的搭建与使用
  19. mos 多路模拟电子开关_模拟开关与多路转换器
  20. SQLserver数据库教程

热门文章

  1. 车载以太网 - SomeIP - 详细解析 - 02
  2. 【English】百词斩阅读记事
  3. 采用粒子群优化算法实现投资组合优化【Matlab实现】
  4. python小技巧:求32位二进制负数的补码,附剑指offer中的应用
  5. java的静态与非静态 及其代码演示示例
  6. 什么才算是关键指标?如何选择关键指标? by彭文华
  7. 2022年系统集成项目管理工程师考试知识点:项目成本管理
  8. 区块链能否遏制公共部门的腐败行为?
  9. Chrome Performance 页面性能分析
  10. 微信小程序 图表chart