1,开发过程中注意要遵守以下流程:
需求分析(邮件或者文档);设计(设计文档,小组设计评审,任务分派,截止时间确认);编码(daily report, daily check in, daily code review);收尾阶段小组代码评审;需求验证;测试完成(测试计划及结果);签收;项目总结。
2,如果感觉任务比较复杂,问题比较棘手,自己研究了一会没有很好的解决方案。请马上联系我或者咨询组里其他同事;如果组内同事也解决不了,再求助国外同事。先发邮件说明问题,紧急的任务马上搭建电话会议保证及时沟通。
3,尽量避免同时做三个及三个以上的任务。确保自己有足够的时间完成任务。
4,项目流程方面,如果觉得需要有例外,比如不写什么文档,不做什么评审,请事先与我讨论。
5,在开始阶段对最后整体实现效果有大致理解,可以预估技术难点所在,并且实现进行研究和求助(这一点我们做得很不好)。对于项目可能有的需求变化有一定的预估和计划。
6,细致,仔细,认真;多思考,多学习,多沟通。
7,允许犯错,但是要确保同样错误不要再次出现,从问题中吸取经验教训。
8,及时回复邮件。到办公室后第一时间检查邮件和calendar当天会议安排。对于重要邮件,应该记录在本上作为TODO。
9,离开公司前,检查当天TODO任务,是否有邮件没有回复,是否有重要任务没有完成。
10,对我或者任务负责人的具体分派有疑问,可以讨论提出。如果已经拍板决定,就必须遵守决定,而不是按照自己想法我行我素。
11,随身带一个笔记本,随时记录问题,心得体会,TODO,解决方案等等。
12,每天的工作都应该有结果产出。学习应该有文档总结汇报,项目应该有流程设计文档/代码/测试文档,项目进度有每日进度报告。
避免以下情况发生:
1) 将就,马马虎虎,不求完美。
2) 需求不清楚,也不与onshore沟通澄清。
3) 任务不清楚,就开始动手编码;时间管理不好,没有缓冲,截止时间定于最后一秒。
4) 没有设计讨论,自己觉得没有问题,直接开发。
5) 有问题,不做优先级分派,先开发了再说。
6) 代码一直没有check in,累积三五天再提交;需要check in的时候,一次加入大量的代码修改。代码check in没有评审,也不做说明。
7) 代码不注释,命名不规范,不关注静态分析/debug exception。
8) “我觉得没问题,但是没有check”
9) 代码写完了,就认为是项目完成了;也只写了代码,没有设计没有文档没有测试
10) 只有最后阶段才有问题,在开始时不考虑如何技术实现或者觉得不会有问题,不做风险评估
11) “代码为什么好用?不知道;出问题的root cause?不知道”
12) “这段代码干什么用?别人就这么写,我不知道,没研究过”
13) “这个问题好像是,也许是,我猜”
14) (讨论决定使用方案A,开发一段时间后)“我觉得这样更好,所以我就用自己这个方案,方案A有问题,如何如何”
《 “大连开发组开发流程及注意事项说明” 》 有 4 条评论
好几条都可以归类为“程序员应有的基本意识”,特意写出来,看来不仅仅对日开发能遇到这样的极品。
另外,条数这么多,如果如此传达下去,估计效果未必会太好。
是啊,做到这些的人也不会是别人手下的一个码农了吧。
感觉博主太高估人的素质了。
做到这些的,照样可以是普通码农吧,这都是基本要求.
写的不错!在做项目开发中,的确会遇到这些问题。收藏一下,每日看看。