技术开发 频道

关于项目管理的知识点

    25. 总经理至少每月参加几次项目组会议

    要的。要让team member觉得高层关注这个项目。

    26. 你们是给每个Dev开一个分支么?

    反对。Branch的管理以及Merge的工作量太大,而且容易出错。

    27. 有人长期不Check-In代码么?

    不可以。对大部分项目来说,最多两三天就应该Check-In. 28. 在Check-In代码时都填写注释了么?

    要写的,至少一两句话,比如“解决了Bug No.225”。如果往高处拔,这也算做“配置审计”的一部分。

    29. 有没有设定每天Check-In的最后期限?

    要的,要明确Check-In Deadline.否则会Build Break. 30. 你们能把所有源码一下子编译成安装文件吗?

    要的。这是每日编译(Daily Build)的基础。而且必须要能够做成自动的。

    31. 你们的项目组做每日编译么?

    当然要做。有三样东西是软件项目/产品开发必备的:1. bug management; 2. source control; 3. daily build.

    32. 你们公司有没有积累一个项目风险列表?

    要。Risk Inventory.否则,下个项目开始的时候,又只能拍脑袋分析Risk了。

    33. 设计越简单越好越简单越好。

    设计时候多一句话,将来可能就带来无穷无尽的烦恼。应该从一开始就勇敢的砍。这叫scope management. 34. 尽量利用现有的产品、技术、代码千万别什么东西都自己Coding.BizTalk和Sharepoint就是最好的例子,有这两个作为基础,可以把起点提高很多。或者可以尽量多用现成的Control之类的。或者尽量用XML,而不是自己去Parse一个文本文件;尽量用RegExp,而不是自己从头操作字符串,等等等等。这就是“软件复用”的体现。

    35. 你们会隔一段时间就停下来夯实代码么?

    要。最好一个月左右一次。传言去年年初Windows组在Stevb的命令下停过一个月增强安全。Btw,“夯”这个字念“hang”,第一声。

    36. 你们的项目组每个人都写Daily Report么?

    要写。五分钟就够了,写10句话左右,告诉自己小组的人今天我干了什么。一则为了沟通,二则鞭策自己(要是游手好闲一天,自己都会不好意思写的)。

    37. 你们的项目经理会发出Weekly Report么?

    要。也是为了沟通。内容包括目前进度,可能的风险,质量状况,各种工作的进展等。

    38. 你们项目组是否至少每周全体开会一次?

    要。一定要开会。程序员讨厌开会,但每个礼拜开会时间加起来至少应该有4小时。包括team meeting, spec review meeting, bug triage meeting.千万别大家闷头写code. 39. 你们项目组的会议、讨论都有记录么?

    会前发meeting request和agenda,会中有人负责主持和记录,会后有人负责发meeting minutes,这都是effective meeting的要点。而且,每个会议都要形成agreements和action items. 40. 其他部门知道你们项目组在干什么么?

    要发一些Newsflash给整个大组织。Show your team‘s value.否则,当你坐在电梯里面,其他部门的人问:“你们在干嘛”,你回答“ABC项目”的时候,别人全然不知,那种感觉不太好。

    41. 通过Email进行所有正式沟通Email的好处是免得抵赖。但也要避免矫枉过正,最好的方法是先用电话和当面说,然后Email来确认。

    42. 为项目组建立多个Mailing Group如果在AD+Exchange里面,就建Distribution List.比如,我会建ABC Project Core Team,ABC Project Dev Team,ABC Project All Testers,ABC Project Extended Team等等。这样发起Email来方便,而且能让该收到email的人都收到、不该收到不被骚扰。

    43. 每个人都知道哪里可以找到全部的文档么?

    应该每个人都知道。这叫做知识管理(Knowledge Management)。最方便的就是把文档放在一个集中的File Share,更好的方法是用Sharepoint. 44. 你做决定、做变化时,告诉大家原因了么?

    要告诉大家原因。Empower team member的手段之一是提供足够的information,这是MSF一开篇的几个原则之一。的确如此,tell me why是人之常情,tell me why了才能有understanding.中国人做事喜欢搞限制,限制信息,似乎能够看到某一份文件的人就是有身份的人。大错特错。权威、权力,不在于是不是能access information/data,而在于是不是掌握资源。

    45. Stay agile and expect change要这样。需求一定会变的,已经写好的代码一定会被要求修改的。做好心理准备,对change不要抗拒,而是expect change. 46. 你们有没有专职的软件测试人员?

    要有专职测试。如果人手不够,可以peer test,交换了测试。千万别自己测试自己的。

    47. 你们的测试有一份总的计划来规定做什么和怎么做么?

    这就是Test Plan.要不要做性能测试?要不要做Usability测试?什么时候开始测试性能?测试通过的标准是什么?用什么手段,自动的还是手动的?这些问题需要用Test Plan来回答。

    48. 你是先写Test Case然后再测试的么?

    应该如此。应该先设计再编程、先test case再测试。当然,事情是灵活的。我有时候在做第一遍测试的同时补上test case.至于先test case再开发,我不喜欢,因为不习惯,太麻烦,至于别人推荐,那试试看也无妨。

    49. 你是否会为各种输入组合创建测试用例?

    不要,不要搞边界条件组合。当心组合爆炸。有很多test case工具能够自动生成各种边界条件的组合——但要想清楚,你是否有时间去运行那么多test case. 50. 你们的程序员能看到测试用例么?

    要。让Dev看到Test Case吧。我们都是为了同一个目的走到一起来的:提高质量。

    51. 你们是否随便抓一些人来做易用性测试?

    要这么做。自己看自己写的程序界面,怎么看都是顺眼的。这叫做审美疲劳——臭的看久了也就不臭了,不方便的永久了也就习惯了。

0
相关文章