《2022年软件开发项目管理之我见共享 .pdf》由会员分享,可在线阅读,更多相关《2022年软件开发项目管理之我见共享 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、导读:项目失败只有一个原因:就是项目经理不合格。不注重 code人员,其实这是一个严重的错误。问题不应该依赖由测试人员来发现,而应该由开发人员来发现。软件的质量应该由程序员来保证的,而不是测试人员。不要说项目的失败是因为新需求引起的,一个没有新增需求和风险的项目是不存在的。代码阶段还有一个重要的工作就是做 code review 代码公开评审。注意:这儿讲的项目失败与成功,是从开发的角度来讲的,运营是否成功不在讨论之列。软件开发项目管理之我见陈仁奇chendiy 一、开发管理项目为什么会失败?为什么发布日期会一拖再拖?项目失败只有一个原因:就是项目经理不合格。除非这个项目经理在项目开始阶段就已
2、经提出来了这个项目会失败,或者是完全属于项目之外不可抗拒的原因导致失败。看到这儿项目经理也许不服,您请继续,新增需求的原因导致失败?客户会让你新增100个需求而要你二天交货吗?必然是分析设计阶段没有充分考虑好可扩展性和新增需求导致现在不可控制而失败的!程序员人力不足导致?人都没有到位,怎么会失败,多少人做多少人的事,多少人做多少人的计划,不会有失败。程序员技能不够?项目经理是如何面试的?怎么在项目失败了才发现是程序员技能不够?有问题早提出来嘛。测试人员没有做好?少来了,测试人员只是加了一道保障证明。程序很多流程都通过不了,程序还属于开发调试阶段,与测试人员有什么关系?我在国内参加个大大小小好些
3、项目,有日本外包,华为外包的,公司自主研发的。发现有这样一个概念很多项目经理都没有搞清楚:什么叫开发阶段?我认为开发阶段最多只能包括单元测试这一部分。综合测试绝对不能属于开发阶段名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 5 页 -了,也就是说不能到了最后验货阶段还有程序流程走不通,程序随便正常操作都会失败。程序随便正常操作都出现好多bug属于开发还没有完成,绝对还没有过单元测试阶段,离综合测试和验货阶段还早着呢。说明白点,还属于代码code阶段。不懂程序设计的项目经理,往往不注重 code开发人员,其实这是一个严重的错误。软件的质量来源于什么?由谁来保证?有的项目经理说是由
4、测试人员来保证,就算测试人员的测试用例写得很详细,把需求中的每一个功能点都测试到了,那最后就没有问题了吗?当然不是,很多逻辑上的东西要程序员来保证不出问题的,而测试人员只是起一个验证的作用,问题不应该由测试人员来发现,而应该由开发人员来发现。也就是说,我们尽量不要让测试人员来发现问题。如果第一次测试有至少25%以上的用例通不过,那说明质量监控出了问题。这样的版本根本就不应该拿出来进行测试。由此分析,软件的质量是由程序员来保证的,而不是测试人员。细细说来!一个项目的成败与否,与项目的各个阶段皆有关系:需求都不清楚,开发起来肯定是南辕北辙;分析设计不够好,会让编写的难以维护,随着新增需求的增多,会
5、导致整个系统混乱不可控制;编码不好,整个系统不稳定是必然的,Bug也是抓不尽的;测试不做好,系统是没有保证的,少了哪个环节都不行。项目管理,我认为重点主要放在项目计划(plan),进度监控(progress control),质量监控(quality control),风险预测(exposure rating)这四个方面。不要说项目的失败是因为新需求引起的,一个没有新增需求和风险的项目是不存在的,承认这一点之后,我们就不会有很多怨言了。以下从上面提到的几方面进行详述:项目计划:没有项目计划,那失败还有什么话好说?大家都知道凡事预则立,不预则废。项目计划一定要包括这几方面的内容:各阶段里程碑时间
6、点,各个里程碑的输出结果,风险预测,意外应对。计划一定要提前于交货时间计划,风险意外是否留下时间和应对处理方案?进度监控:对每个阶段把握好,每个阶段要完成的任务一定要完成,如果完不成,是什么原因导致的?我们的应对策略是什么?我们要信任别人,但是不要忘记锁门。同样的,别人说完成了,你不能就认为别人完成了,要看到结果才能证明完成了。有的项目经理说,我也进度监控啦,他说完成了就完成了,谁想到没有完成?到底是程序员不诚实还是项目没有管理好?你没有锁好门,能怨别人偷你东西吗?还有一种情况就是不懂如何锁门根本就不知道这一阶段的输出结果是什么?当然进度监控就是一句空话了。质量监控:也应该是分阶段进行的,每一
7、个阶段的质量监控内容有所不同。名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 5 页 -需求分析阶段的质量监控就是完整而又正确的理解用户需求,需求是否清楚可懂,写用例的测试人员是否明白需求?分析设计阶段的质量监控就是设计是否完全满足需求?这个设计方案是否满足以后新功能的扩展?以及是否有考虑到新功能的意外和设备环境,运行平台的变化?编码阶段的质量监控就是变量命名是否规范?代码是否可读?是否有详细的注释?是否有重复代码?要知道重复代码是必然会造成系统不稳定,bug成群的。可变部分的代码和不可变部分的代码是否分离。要知道上面讲的每一部分如果没有做好,都会导致后期的产品出现大量问题。代码
8、阶段还有一个重要的工作就是做code rev iew 代码公开评审,你自己发现不了的问题别人也许就看得见。单元测试阶段的质量监控任务就是单元测试代码是否测试通过?代码覆盖是否完全?单元测试报告提交情况如何?单元测试用例有没有做好?综合测试阶段质量监控任务当然就是看用例是否完全?是否全部真正执行?测试报告有没有写好?回归测试当然得看以前测试的Bug 是否还在,如果还在,当然是无条件打回去重新开发。测试阶段最主要的监控就是看用例是否真正执行,是否有安全性测试?破坏性测试?异常测试,压力测试?项目管理表:阶段管理内容立项,准备需求分析分析设计代码设计单元测试综合/回归测试质量监控1 计划是否完善?是
9、不顺有确定各个里程碑时间表?2 考虑了意外和风险吗?3 意外和风险有应对解决方案吗?1 是否完整而又正确的理解用户需求?2 需求是否清楚可懂3 写用例的测试人员是否明白需求?1 设计是否完全满足需求?2 是否满足以后新功能的扩展?3 是否有考虑到会新增功能,设备环境,运行平台的变化?1 变量是否正确规范清晰命名2 代码是否可读?3 是否有详细的注释?4 是否有重复代码?5 代码是否有1 单元测试代码是否测试通过?2 代码覆盖是否完全?3 单元测试报告提交情况如何?4 单元测试用例有没有做好?1 用例是否完全?2 是否全部真正执行?3 测试报告有没有写好?4 回归测试是否有测试上次测试没有通过的
10、用例?名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 5 页 -Code review进度监控计划是不顺完成?计划做好了没有?是否按计划完成?客户的需求已经完成了吗?是否按计划完成?分析设计文档是否有评审?是否按计划完成?代码是否可以真的运行?是否按计划完成?单元测试结果有输出吗?是否按计划完成所有用例测试?以上的每个阶段最好完成了才进行下一阶段,否则会造成混乱出现问题的。想并行进行节约时间反而浪费了时间!二、公司产品管理是不是一定要每个阶段完成了才能够进行到下一阶段呢?其实项目细分还可以分为“项目”和“产品”,当然,一个项目可能包含多个产品,一个产品分为多个项目。在这儿,产品好
11、比的是一本书,项目好比是其中的一个章节(文章)!当然了,写书的人远远没有写文章的人多,上面讲的是项目的管理细节问题,下面再谈到产品的开发。其实一个公司在开发一个产品时,由于产品的复杂性,功能太多而不确定性,如果每一个阶段都能够分析清楚再开始做下一步,这个产品的开发可能变得没有意义。所以在大多数公司开发产品的时候,都是先按照确定的需求来,当要增加新功能往往要等到下一个版本。想要一次就做到大而全是不现实的,因为人总是在进步的。谈到产品,要保证产品质量,就到谈到公司的软件开发相关方面的制度。我认为一个公司的在开发方面的制度以下这个几个方面是非常重要的。1、编码规范编码规范是相当重要的,一个好的编码规
12、范可以做到零注释!既然可以做到零注释,那我们再加上注释,不就是锦上添花双保险?维护人不更是轻松了很多?无论你采用什么语言(C、C+、Java、.net、php、 等),建议采用 Java 命名规范,千万不要采用匈牙利命名法。在如今普遍使用智能IDE 的情况下,如今已经公认的最优秀命名规范为前者,后者已经被无数次证明为垃圾!建议变量所有单词为全拼,毕竟东方人的英文水平天生不如以英文为母语的国家。Cfg 也许都知道是“配置”的意思,但 config来得更明显。当然都有特例(在极少的情况下用需要采用匈牙利命名法和单个字母的变量),值得说明的是,千万不要禁用goto 语句,在意外失败的情况下goto
13、again是相当不错的手法。2、公用类库一个公司一定要有自己的公用类库,而且还要有一个兼职管理员!因为我们在开发的过程中会发现,往往在开周期超过一个月的软件项目中,至少会有50%的工作是重复的!也就是以前或者以后会碰到!真正变量的东西是很少的,大部分的时候都是以前碰到过类似的开发过程。把变化的和不变的代码分开,在公司层上应用就是公用类库。名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 5 页 -我以前服务过的公司,还几乎没有见到过有自己公用类库的公司。采用公用类库的好处至少可以提高二倍的工作效率,运用得好,随着公用类库的积累,提高10 倍的工作效率都是比较容易的事情。我编程的时候
14、,有时候如果不采用公用类库,可能至少需要1 个星期以上时间才能够搞定的工作,采用公用类库后,可能只需要几分钟。而且不需要测试,更稳定,更健壮!公司平时可以把贡献的公用类库数量作为考核标准之一。3、公用框架(公司框架Framework)一个公司的业务可能局限在一个行业,而市场上的开发framework 是针对各行业都适合的,那针对某个公司的行业,就一定还有优化的地方,建立适合自己公司的简化的开发框架,保守估计可以提高30%以上的开发效率。国内的 No.1 华为就有自己的开发框架!尽信书则不如无书,同样,尽信我不如我!任何规则都不是绝对的,先学习规则,然后再活用规则!欢迎各位同学就此论点进行讨论,发表你的任何观点(赞同,反对),我的联系邮件:名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 5 页 -