如何用正确的方法来写出质量好的软件的75条体会

上传人:夏** 文档编号:488789396 上传时间:2022-09-26 格式:DOCX 页数:12 大小:23.16KB
返回 下载 相关 举报
如何用正确的方法来写出质量好的软件的75条体会_第1页
第1页 / 共12页
如何用正确的方法来写出质量好的软件的75条体会_第2页
第2页 / 共12页
如何用正确的方法来写出质量好的软件的75条体会_第3页
第3页 / 共12页
如何用正确的方法来写出质量好的软件的75条体会_第4页
第4页 / 共12页
如何用正确的方法来写出质量好的软件的75条体会_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《如何用正确的方法来写出质量好的软件的75条体会》由会员分享,可在线阅读,更多相关《如何用正确的方法来写出质量好的软件的75条体会(12页珍藏版)》请在金锄头文库上搜索。

1、编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页 共1页1. 你们的项目组使用源代码管理工具了么?应该用。VSS、CVS、PVCS、ClearCase、CCC/Harvest、FireFly都可以。我的选择是VSS。2. 你们的项目组使用缺陷管理系统了么?应该用。ClearQuest太复杂,我的推荐是BugZilla。3. 你们的测试组还在用Word写测试用例么?不要用Word写测试用例(Test Case)。应该用一个专门的系统,可以是Test Manager,也可以是自己开发一个ASP.NET的小网站。主要目的是Track和Browse。4. 你们的项目组有没有建立

2、一个门户网站?要有一个门户网站,用来放Contact Info、Baselined Schedule、News等等。推荐Sharepoint Portal Server 2003来实现,15分钟就搞定。买不起SPS 2003可以用WSS (Windows Sharepoint Service)。5. 你们的项目组用了你能买到最好的工具么?应该用尽量好的工具来工作。比如,应该用VS.NET而不是Notepad来写C#。用Notepad写程序多半只是一种炫耀。但也要考虑到经费,所以说是“你能买到最好的”。6. 你们的程序员工作在安静的环境里么?需要安静环境。这点极端重要,而且要保证每个人的空间大于

3、一定面积。7. 你们的员工每个人都有一部电话么?需要每人一部电话。而且电话最好是带留言功能的。当然,上这么一套带留言电话系统开销不小。不过至少每人一部电话要有,千万别搞得经常有人站起来喊:“某某某电话”。人件里面就强烈谴责这种做法。8. 你们每个人都知道出了问题应该找谁么?应该知道。任何一个Feature至少都应该有一个Owner,当然,Owner可以继续Dispatch给其他人。9. 你遇到过有人说“我以为”么?要消灭“我以为”。Never assume anything。10. 你们的项目组中所有的人都坐在一起么?需要。我反对Virtual Team,也反对Dev在美国、Test在中国这种

4、开发方式。能坐在一起就最好坐在一起,好处多得不得了。11. 你们的进度表是否反映最新开发进展情况? 应该反映。但是,应该用Baseline的方法来管理进度表:维护一份稳定的Schedule,再维护一份最新更改。Baseline的方法也应该用于其它的Spec。Baseline是变更管理里面的一个重要手段。12. 你们的工作量是先由每个人自己估算的么?应该让每个人自己估算。要从下而上估算工作量,而不是从上往下分派。除非有其他原因,比如政治任务工期固定等。13. 你们的开发人员从项目一开始就加班么?不要这样。不要一开始就搞疲劳战。从项目一开始就加班,只能说明项目进度不合理。当然,一些对日软件外包必须

5、天天加班,那属于剥削的范畴。14. 你们的项目计划中Buffer Time是加在每个小任务后面的么?不要。Buffer Time加在每个小任务后面,很容易轻易的就被消耗掉。Buffer Time要整段的加在一个Milestone或者checkpoint前面。15. 值得再多花一些时间,从95%做到100%好值得,非常值得。尤其当项目后期人困马乏的时候,要坚持。这会给产品带来质的区别。16. 登记新缺陷时,是否写清了重现步骤?要。这属于Dev和Test之间的沟通手段。面对面沟通需要,详细填写Repro Steps也需要。17. 写新代码前会把已知缺陷解决么?要。每个人的缺陷不能超过10个或15个

6、,否则必须先解决老的bug才能继续写新代码。18. 你们对缺陷的轻重缓急有事先的约定么?必须有定义。Severity要分1、2、3,约定好:蓝屏和Data Lost算Sev 1,Function Error算Sev 2,界面上的算Sev 3。但这种约定可以根据产品质量现状适当进行调整。19. 你们对意见不一的缺陷有三国会议么?必须要有。要有一个明确的决策过程。这类似于CCB (Change Control Board)的概念。20. 所有的缺陷都是由登记的人最后关闭的么?Bug应该由Opener关闭。Dev不能私自关闭Bug。21. 你们的程序员厌恶修改老的代码么?厌恶是正常的。解决方法是组织

7、Code Review,单独留出时间来。XP也是一个方法。22. 你们项目组有Team Morale Activity么?每个月都要搞一次,吃饭、唱歌、Outing、打球、开卡丁车等等,一定要有。不要剩这些钱。23. 你们项目组有自己的Logo么?要有自己的Logo。至少应该有自己的Codename。24. 你们的员工有印有公司Logo的T-Shirt么?要有。能增强归属感。当然,T-Shirt要做的好看一些,最好用80支的棉来做。别没穿几次就破破烂烂的。25. 总经理至少每月参加次项目组会议要的。要让team member觉得高层关注这个项目。26. 你们是给每个Dev开一个分支么?反对。B

8、ranch的管理以及Merge的工作量太大,而且容易出错。27. 有人长期不Check-In代码么?不可以。对大部分项目来说,最多两三天就应该Check-In。28. 在Check-In代码时都填写注释了么?要写的,至少一两句话,比如“解决了Bug No.225”。如果往高处拔,这也算做“配置审计”的一部分。29. 有没有设定每天Check-In的最后期限?要的,要明确Check-In Deadline。否则会Build Break。30. 你们能把所有源码一下子编译成安装文件吗? 要的。这是每日编译(Daily Build)的基础。而且必须要能够做成自动的。31. 你们的项目组做每日编译么?

9、当然要做。有三样东西是软件项目/产品开发必备的:1. bug management; 2. source control; 3. daily build。32. 你们公司有没有积累一个项目风险列表?要。Risk Inventory。否则,下个项目开始的时候,又只能拍脑袋分析Risk了。33. 设计越简单越好越简单越好。设计时候多一句话,将来可能就带来无穷无尽的烦恼。应该从一开始就勇敢的砍。这叫scope management。34. 尽量利用现有的产品、技术、代码千万别什么东西都自己Coding。BizTalk和Sharepoint就是最好的例子,有这两个作为基础,可以把起点提高很多。或者可以

10、尽量多用现成的Control之类的。或者尽量用XML,而不是自己去Parse一个文本文件;尽量用RegExp,而不是自己从头操作字符串,等等等等。这就是“软件复用”的体现。35. 你们会隔一段时间就停下来夯实代码么?要。最好一个月左右一次。传言去年年初Windows组在Stevb的命令下停过一个月增强安全。Btw,“夯”这个字念“hang”,第一声。36. 你们的项目组每个人都写Daily Report么?要写。五分钟就够了,写10句话左右,告诉自己小组的人今天我干了什么。一则为了沟通,二则鞭策自己(要是游手好闲一天,自己都会不好意思写的)。37. 你们的项目经理会发出Weekly Repor

11、t么?要。也是为了沟通。内容包括目前进度,可能的风险,质量状况,各种工作的进展等。38. 你们项目组是否至少每周全体开会一次?要。一定要开会。程序员讨厌开会,但每个礼拜开会时间加起来至少应该有4小时。包括team meeting, spec review meeting, bug triage meeting。千万别大家闷头写code。39. 你们项目组的会议、讨论都有记录么?会前发meeting request和agenda,会中有人负责主持和记录,会后有人负责发meeting minutes,这都是effective meeting的要点。而且,每个会议都要形成agreements和act

12、ion items。40. 其他部门知道你们项目组在干什么么?要发一些Newsflash给整个大组织。Show your teams value。否则,当你坐在电梯里面,其他部门的人问:“你们在干嘛”,你回答“ABC项目”的时候,别人全然不知,那种感觉不太好。41. 通过Email进行所有正式沟通Email的好处是免得抵赖。但也要避免矫枉过正,最好的方法是先用电话和当面说,然后Email来确认。42. 为项目组建立多个Mailing Group如果在AD+Exchange里面,就建Distribution List。比如,我会建ABC Project Core Team,ABC Project

13、 Dev Team,ABC Project All Testers,ABC Project Extended Team等等。这样发起Email来方便,而且能让该收到email的人都收到、不该收到不被骚扰。43. 每个人都知道哪里可以找到全部的文档么?应该每个人都知道。这叫做知识管理(Knowledge Management)。最方便的就是把文档放在一个集中的File Share,更好的方法是用Sharepoint。44. 你做决定、做变化时,告诉大家原因了么?要告诉大家原因。Empower team member的手段之一是提供足够的information,这是MSF一开篇的几个原则之一。的确

14、如此,tell me why是人之常情,tell me why了才能有understanding。中国人做事喜欢搞限制,限制信息,似乎能够看到某一份文件的人就是有身份的人。大错特错。权威、权力,不在于是不是能access information/data,而在于是不是掌握资源。45. Stay agile and expect change要这样。需求一定会变的,已经写好的代码一定会被要求修改的。做好心理准备,对change不要抗拒,而是expect change。46. 你们有没有专职的软件测试人员?要有专职测试。如果人手不够,可以peer test,交换了测试。千万别自己测试自己的。47.

15、 你们的测试有一份总的计划来规定做什么和怎么做么?这就是Test Plan。要不要做性能测试?要不要做Usability测试?什么时候开始测试性能?测试通过的标准是什么?用什么手段,自动的还是手动的?这些问题需要用Test Plan来回答。48. 你是先写Test Case然后再测试的么?应该如此。应该先设计再编程、先test case再测试。当然,事情是灵活的。我有时候在做第一遍测试的同时补上test case。至于先test case再开发,我不喜欢,因为不习惯,太麻烦,至于别人推荐,那试试看也无妨。49. 你是否会为各种输入组合创建测试用例?不要,不要搞边界条件组合。当心组合爆炸。有很多test case工具能够自动生成各种边界条件的组合但要想清楚,你是否有时间去运行那么多test case。50. 你们的程序员能看到测试用例么?要。让Dev看到Test Case吧。我们都是为了同一个目的走到一起来的:提高质量。51. 你们是否随便抓一些人来做易用性测试? 要这么做。自己看自己写的程序界面,怎么看都是顺眼的。这叫做审美疲劳臭的看久了也就

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号