做一些大型项目,在项目中锻炼团队合作精神,代码编写能力和自己独立开发的能力。今天简单的跟大家分享一下,在工作中常遇到的项目中的21条经验。
1.项目中的源代码管理工具。
主要有:VSS、CVS、PVCS、ClearCase、CCC/Harvest、FireFly。因个人习惯,选择适合自己的工具。
2. 出了问题应该找谁?
任何一个Feature至少都应该有一个Owner,当然,Owner可以继续Dispatch给其他人。
3. 你在项目中会说“我以为”吗?
有人觉得这是谦虚的一种表现,有人则觉得是不自信的一种表现,然后领导是喜欢自信的员工的,所以一定要消灭“我以为”。Never assume anything。
4. 项目中你是独立做自己的还是跟大家坐在一起做?
就我个人认为,大家坐在一起做更能提高效益,团队合作的力量是无穷大的。
5.每个人的工作量怎么定?
这里一个好的办法就是自己估算自己的工作量。除非有特殊的原因,再来进行一些必要的分派。
6. 你们的进度表是否反映最新开发进展情况?
应该反映。但是,应该用Baseline的方法来管理进度表:维护一份稳定的Schedule,再维护一份最新
更改。Baseline的方法也应该用于其它的Spec。Baseline是变更管理里面的一个重要手段。
7. 任务大致完成了,是上交呢还是再花点时间把任务做的100%的好?
值得,非常值得。尤其当项目后期人困马乏的时候,要坚持。这会给产品带来质的区别。
8. 写新代码前会把已知缺陷解决么?
每个人的缺陷不能超过10个或15个,否则必须先解决老的bug才能继续写新代码。
9. 你们的意见不同意了怎么办?
首先要有一个明确的决策过程。然后大家坐在一起共同讨论解决。
10.你长期不Check-In代码么?
这样做是不行的,对大部分项目来说,最多两三天就应该Check-In。
11 在Check-In代码时都填写注释了么?
要写的,至少一两句话。
12 项目设计越简单越好
越简单越好。设计时候多一句话,将来可能就带来无穷无尽的烦恼。
13.会隔一段时间就停下来夯实代码么?
要。最好一个月左右一次。
14. 你会每天都写Daily Report么?
要写。五分钟就够了,写10句话左右,告诉自己小组的人今天我干了什么。一则为了沟通,二则鞭策
15. 你会厌烦你的项目经理发Weekly Report么?
有人觉得这是一种工作上的监督,或者是一种用人的不信任,其实不是的,经理也是为了沟通。内容包括目前进度,可能的风险,质量状况,各种工作的进展等。
16. 项目组的会议中、讨论你都有记录么?
大家都觉得自个脑袋好,开会议只是听,但会议中一定要养成做记录的好习惯,这样你知道下一步你的工作怎么安排,上一次你工作中需要什么调整等等内容。。
17.你让其他人知道你在做什么了吗?
有些时候需要一些沟通告诉其他不是你们项目组的人你们在做什么?要让他们知道你们项目组的价值,不至于大家觉得你们在白拿着薪水没干活。
18. 邮件沟通很重要。
必要的场合,必要的事情,有邮件沟通更能方便。
19. 你有把你的技术文档整理好到一个固定的文件夹里吗?
把你工作中遇到的需要查询的一些技术文档整理在一个文件夹里,这叫知识管理,不仅能提高你的工作效率,也能增加你的技术知识。
20. 你做决定、做变化时,告诉大家原因了么?
要告诉大家原因。Empower team member的手段之一是提供足够的information,这是MSF一开篇的几个原则之一。的确如此,tell me why是人之常情,tell me why了才能有understanding。中国人做事喜欢搞限制,限制信息,似乎能够看到某一份文件的人就是有身份的人。大错特错。权威、权力,在于是不是能access information/data,而在于是不是掌握资源。
21.是保守最初的需求还是不断迎接挑战?
在一个项目中,需求一定会变的,那么已经写好的代码一定会被要求修改的。所以你要做好随时修改的心理准备,要更好的迎接新的一个需求的改写,不要产生厌烦心理。