作为软件工程师如何接手一个旧项目

工作一年多来,每到一个新的组,第一个任务就是从国外接手做的比较成熟的项目。开发经验没积累多少,transition的经验倒有了一些。现简单罗列一些经验:

1. 主动沟通很重要

不仅要沟通,而且要主动。培训你的人不会主动找你询问学习进度,只能自己去push对方。在培训之前先做一些预习工作,把问题分类列出来,这样在培训时效果要好很多。第一个要解决的问题就是先把开发环境搭起来,将产品的模块和代码一一对应起来,如果遇到问题要跟对方提问,一方面展示中国研发人员的能力,另一方面表明自己的决心和信心,让对方也将此次培训重视起来。

2. 应从哪些方面入手一个项目
1) 产品概要:什么功能,客户群是谁?
2) 体系架构:整个系统分为几个模块?每个模块间如何交互?接口是怎样的?
3) 负责人:原有的开发人员都有谁?各自负责哪些模块?如果有了问题应该找谁提问?
4) 代码结构:代码和各个模块的对应关系是什么?开发代码和目标机器的安装文件的对应关系是怎样的?
5) 文档:把所有的文档过一遍,对于不理解的地方要提问。
6) 部署安装:给客户的安装程序是怎样制作的?各个模块安装在目标机器上的什么位置?熟悉这一步就能将代码和最终产品建立映射关系。
7) 开发流程:原有的开发流程是怎样的?需求从何而来?有没有测试人员?产品交付给谁?

3. 如果有项目培训,则事先要求对方提供一个培训计划。在每个session中,要求对方给一个agenda,这样在每个session进行时,双方都能够紧贴目标,而不会跑题。另外要求对方在结束session前对内容做一个总结,最好能有一些练习加深理解。在培训时要求对方提供一些开发经验和注意的要点。

4. 要求对方提供一些历史bug和修改记录,了解该项目之前是否有比较大的bug,是什么性质的bug或者需求比较多。查看一些bug描述,看看自己能否根据描述发现错误所在,这样可以考察自己对这个项目掌握多少。

5. 培训结束后,可以针对一个小的需求或enhancement来一次实战演练,让自己真正过一遍设计、编码和测试,以便发现一些在培训时发现不了的问题。

发布了9 篇原创文章 · 获赞 1 · 访问量 8500

猜你喜欢

转载自blog.csdn.net/natty1412/article/details/4511562