项目管理者联盟 | 中国工程管理网 | 中国研发管理网   会员中心 资料库 博客 圈子

PMI-ACP®认证

适合敏捷开发项目
敏捷项目管理最佳实践

网络课程

PMI-PBA®认证

重视项目商业分析
商业价值与需求分析能力

网络课程

NPDP®认证

产品管理国际认证
全球产品管理最佳实践

网络课

PMP®认证

单项目管理经典指南
年轻项目经理首选

北京 | 直播 | 录播

PgMP®认证

大型复杂项目全球标准
定位高级项目管理层

网络班

PfMP®认证

链接战略与项目
实现组织资源投资回报

全球直播

软考项目管理

信息系统项目管理师
系统集成项目管理工程师

计划 | 报名 | 经验

论坛
价值源于交流与分享
会员区:
登陆ID 密  码
功能区: 公告建议 | 帖子搜索 | 管理团队 | 荣誉版主 | 帮助手册






 项目型组织  项目管理  工程项目  科技项目  项目化管理  管理软件  资格认证  职业休闲
EPM体系与流程 综合集成管理 总承包管理 IT软件开发 项目型制造 P3E/P6 PMP | PgMP 职业发展探讨
组织与人力资源 进度,范围,成本 国际工程 生物制药 专业服务 微软PROJECT IPMP | PRINCE2 管理学堂
项目管理信息化 团队建设与沟通 房地产 汽车设计开发 生活项目 PowerOn专版 软考项目管理 英语角|读书版
多项目与大项目 质量与风险 监理与咨询 手机数码 文体娱乐 注册建造师 房车吃游
PMO建设与管理 采购与合同 工程设计 项目管理硕士 闲聊版|商务版
俱乐部北京 | 大连 | 福州 | 广州 | 杭州 | 南京 | 山东 | 上海 | 深圳 | 四川 | 天津 | 武汉 | 西安 | 郑州 | 申请成立 TOP榜精华 | 最新 | 最热 | 会员

版面信息

说明:项目组织结构,项目团队的建立与开发,项目成员关系协调;项目沟通计划、信息传送、实施情况报告及行政总结

本版版主

runindream
登录:2018/1/29
次数:145
注册:2004/7/29
发帖:102
erpcn
登录:2017/12/14
次数:220
注册:2004/1/8
发帖:126

俱乐部导航

北京大连福州广州杭州
南京山东上海深圳四川
天津武汉西安郑州 

联盟·近期活动

社区热点

华师大CTO学院:科创生态建设与创.
宏发电声江玫瑰谈PgMP:“下好一盘.
PgMP:交付能力与创造未来的项目管.
开放讲座|《项目组合管理与PfMP认证
开放讲座|项目组合管理与PfMP认证
开放讲座|PgMP:项目管理思维与方法
开放讲座|《项目组合管理与PfMP认证
网络讲座|《项目组合管理与个人职业
开放讲座|《项目组合管理与PfMP认证
网络直播|产品经理的四大核心技能提

精彩专题

如何做好项目沟通计划

软件项目质量管理

国际工程索赔与反索赔

更多:

推荐信息

·项目经理沙龙俱乐部
·推荐项目管理公开课程
·联盟VIP会员服务
·联盟99元大课堂
·建造师课程辅导免费试听

社区圈子

集团企业生态体.
圈主:ETPPM
行业:综合应用

生态系统体系下.
圈主:ETPPM
行业:综合应用

施工总承包管理
圈主:fylm9999
行业:工程设计安装

IT项目管理圈
圈主:lepu29341
行业:IT软件

HG信用盘0出租
圈主:de123
行业:综合应用

联系社区管理员

咨询电话 010-82273401/11
斑竹申请 admin@mypm.net


版权所有 © 2003-2004
京ICP证070584号 
BBS业务许可2007第353号 
最佳显示模式:1024*768像素
项目管理与PMP认证
软件开发人员的“七重苦” [发表于 2014/4/12]
状态 开放帖 浏览量 477   

该帖子同步发自:(fayjie的博客  访问该博客)

  软件开发这个行业无疑的是有快乐的,但这篇文章里,我们先不关注他,而是要来看看那些让人痛苦的地方。

  有时候想想,人作为一种生物还是挺有意思的。

  快乐的东西快乐过了,也就忘了,记的牢的的反倒是些让人不快乐的东西。

  第一重:垃圾代码

  佛家总讲成住坏空,软件亦莫能外。

  唯一有点特别的是,软件“住”的阶段短,“坏”的阶段来的快。

  要想软件保持不“腐败”,其实要花的精力远比想的多,这导致在商业利益比较强势的世界里,大多时候有的只是“能用就行”的软件,而不是“好”的软件。

  “能用就行”的软件里,大多时候到处都是垃圾代码。

  如果说超过100行的方法/函数让人痛苦的话,那么时有出现的超过200行的方法/函数就是让人绝望了。

  不改不行,改了不知道对错,一旦错了很可能被抱怨。这就是垃圾代码带来的痛苦。

  软件行业已经存在超过30几年了,现存的软件很多。所以软件开发人员遇上垃圾代码的可能性绝对高于50%。

  开源的世界要好很多,只可惜很多时候开源和饭碗的关联有点艰难。

  第二重:莫名其妙的加班

  很多日程是把程序员的工作时间作为变量的。

  简单来讲就是,要完成的工作是不确定的,但日程是确定的。

  这样一来,软件开发人员必须加班。

  但关键是一个人每天能写的既定质量水平的代码大概就那么多,一旦逼急了,只能放水,少想多做,进而贡献更多的垃圾代码。

  因此说,这类加班很莫名其妙:目的可能是节约成本,缩短工期,但实际上垃圾代码一出,大多时候是适得其反。

  可以10人月做完的项目,只计划投入5个人月,最终投入了15个人月的例子其实不少。

  项目越复杂,越容易出现这种情况。

  第三重:需求变化下的无用功

  没什么比,费了很大力气完成一项功能,结果收到的反馈是“这不是我们想要的”或“这个功能不需要了”更让人泄气了。

  需求变化是正常的,迭代也是正常的,可无用功太多一定是不正常的。

  但软件这个行业中,这事似乎没法根绝。

  这也许根本就不是个技术问题,或者说不只是技术问题。

  人有偏好,偏好在变化。世界有走势,走势在变化。这些都会传导到软件里来,进而使无用功成为一种宿命。

  第四重:选择太多

  在很多工程领域里,确定性的东西比较多。但软件开发里恰恰相反,确定性较少,选择太多。

  这也许是好事,但有的时候确实也让人痛苦。

  假设说,我们要从头开发一款软件,那么至少要做这些选择:

  用什么语言?这好像很简单,但如果真要很理智的去分析和选择,其实很难,C++,C#,Java那个没有自己的优势呢。

  用什么框架?选新技术,可能支持不到位,也可能很快被淘汰;选老技术,可能会有些已知的限制。

  是买还是自己造?买的话省时间,但一旦出问题,很可能导致项目卡壳。自己造的话,有可能时间上来不及。

  ... ...

  每次面临这类问题时,都让人感觉,世界很大,自己不过是一只小小鸟。

  其实选择让人难受的主要原因是自身知识与未知世界间的矛盾,但软件的世界真的很大,一个人要想了解所有事情完全不可能。

  所以痛苦的选择题就总在那里,不管你爱或不爱。

  第五重:技术变化快,积累上不去

  设想一下,一个10年前的高手,这10年他什么也不学,那他今天会是什么样的一个状况。

  我个人估计是快被淘汰了。

  这是个极端的例子,但回顾一下软件的发展历程你会发现,新技术的出现是爆炸式的。

  在DOS的时代里,软硬件的距离非常近,你只要会一种语言,了解基本算法和数据结构,再了解计算机硬件的知识,你就可以写大部分的程序。

  接下来软件和硬件间的层次越来越多,Windows加上一层,Java虚拟机加上一层,浏览器加上一层,Flash等再加上一层,诸如此类。

  每多一层技术的种类就增加一些。这就导致软件开发人员同时面对两类压力:一是项目上的时间压力,一是技术更迭上的学习压力。但偏偏一个的时间是有限的。

  很多时候特定工作岗位会限定关联技术的范畴,如果自身不做点安排,那就真成吃“青春饭”的了。

  第六重:究竟谁干的好,谁干的不好

  大多时候,考评不能每个人都打A,否则就成了吃大锅饭的。

  可在软件的世界里,一旦要分个你好他差,难度就出来了。

  根据实绩判断,一个人很难全面理解很多人的工作。如果团队规模少于10人,这类的判断还存在可能性;如果超过10人,那么误判的几率会直线上升,除非是天才。

  根据数据,大多数据真的不能用来评价软件开发人员。生产率、Bug率这些是一定不行的,圈复杂度这类歧义性很小的指标勉强可用,但说明的问题会比较片面。

  根据感觉和印象的话,多少有些草菅人命的感觉。

  于是考评大多时候总是天怒人怨的考评,而天怒人怨的程度很多时候取决于当事人的在意程度。

  第七重:弟兄们意见很多,统一很难

  软件很重要的一个特质就是仁者见仁,智者见智。

  观点的差异有的时候是是非问题,但大多时候是视角问题,是横看成岭侧成峰式的。

  而软件团队大多时候在两个极端间徘徊:要么没意见,要么很多意见。

  很少有团队会是在合适的时候有合适的意见---这是政治家干的事,程序员不大做的来。

  没意见的团队实是兵无战心的团队,其实更差,这里不去说他。

  有意见的团队协调起来比较很辛苦。

  程序员群体里大致上是越优秀的越容易固执己见,所以大致上越优秀的团队吵得越多,越凶。

  但不管怎么样,最终的选择只有一个。这时候,不能只靠行政力量去拍,要在理解各种想法后,结合外部需求,时间压力,人员状况去协调。

  这事其实很不容易。

  小 节

  一定程度上讲,这七重苦很难根绝。

  好多即将做软件的或做的时间不长的同仁大多时候关注的是新技术,是创造性;但就和阳光下总有阴影一样,不管方法如何更迭,总有些东西无法彻底改善。

  所以想做软件的,并想坚持做软件的,要有点心理准备,不能梦想的太美,那样回头会比较失落。

  风光的活是有的,脏活累活也很多,有了这样的心理预期,才能在做软件中找到快乐。

  说了这么多,倒不是悲观。

  有些问题即使没法彻底解决,但程度上还是不一样的。

  痛苦在那种程度上是事在人为的主战场,这点上做和不做差别很大。

  假如一个人不把眼光只局限于某个项目,而是把视野扩展到整个软件开发所对应的方法论,那么关注现实中的痛苦,则是有所得得前提。


>>> 由论坛统一发布的广告:
楼主 帅哥约,不在线,有人找我吗?fayjie


职务 无
军衔 主帅
来自 四川省
发帖 1197篇
注册 2009/12/18
PM币 40960
经验 17390点

Re:软件开发人员的“七重苦” [回复于 2014/4/13]
谢谢,学习到很多
1楼 美女约,不在线,有人找我吗?453854381


职务 无
军衔 三等兵
来自 北京市
发帖 8篇
注册 2014/4/10
PM币 24
经验 25点

共1页  97 [ 第1页 ] 8:
  
!  您尚未登录,不能回复主题。    现在 登录  注册
关于联盟 | VIP会员 | 培训服务 | PMP认证 | PgMP认证 | 刊物出版 | 沙龙会议 | 人才服务 | 广告投放 | 联系我们 | 友情链接
建设运营:共创时网络
版权所有 京ICP证070584号 BBS业务许可2007第353号