互动社区采访

一、前言

首先,很荣幸接到互动社区的采访邀请,感谢老师们的支持与鼓励。

在接受采访的同时,也正好也能借此机会让自己总结一下本学期

软件工程》的收获与自己的不足。

二、采访内容

问:

学习软件工程这门课你有哪些收获?你认为通过这门课程学习到的知识、技能

或工具是将来走上工作岗位也有用的,请列举出来。

答:

在软件工程这门课的学习过程中,我的内心是复杂的,总觉得要做很多我们当

前所学知识还没涉及到的的领域,如app开发。然而,当一个学期过去后,蓦然回

首,才发现在这门课程中收获还是很多的,下面我简单地列举几点:

1.   敏捷开发模式。无可否认,这是一个非常好的开发模式,效率高、任务明

确、计划清晰、还有利于提高开发团队的士气,模式虽好,但要用好也不容易。

我下一步计划就是要把它运用到我们团队的实际开发中去,发挥它的实际作用,

说起来容易,做起来的话就必须得对这种开发模式有深入的了解,毕竟实际开

发讲的是效益,而非徒劳作秀。

2.   Github代码资源同步开发。我们平时开发用的代码同步工具是SVN,虽然

久闻Github大名,但还是软件工程课程让我首次接触了与SVN截然不同的

Github,Github作为一种新兴的代码同步工具,有着一些SVN所没有的机制

,这在开发行业中倍受青睐。SVN和Github同时深度掌握,将会是职场上的

一大法宝。

3.   通过博客园等社区平台分享学习成果。毋庸置疑这是大家都掌握了的一项

技能了吧,在《软件工程》课程学习前,我偶尔也会在CSDN等平台发表一两

篇文章,但并没有分享学习成果的习惯,我自己也是一个比较喜欢写写东西的

人,以后会保持这种习惯下去。

4.   通过学习进度条记录学习进度。在更新进度条的时候,往往能总结最近所

学,这也是一个很好的习惯,由于最近有点忙,我的进度都没能更新上去,是

时候注意一下了。

5.   团队合作、管理作与沟通能力。这是软件工程思想一直强调的东西吧,一

个大的项目离不开团队的努力,如果一个程序员连如何在团队中发挥最大价值

都不会,那一定不是一个合格的程序员。

 

 问:

你们曾经总结了阅读《构建之法》的第8章需求分析的一些体会,你们获得

成功的作业项目,当时是如何进行需求分析的?

答:

我们的选题是自主创业类型的项目,与服务外包不一样的地方在于其没有繁

杂而正式的需求文档,一切需求得我们自己去挖掘,可以说市场就是我们的需求

发布者。而我们要做的就是去分析市场需要的是怎样的一个产品,如何定义我们

的产品才能受到更多用户的青睐。而如何去分析,就要去参考一下《构建之法》

中的专业方法了。《构建之法》给我的印象就是有很多生动的小例子,还是很好

理解的。

 

 问:

从个人开发”、“结对开发”到“团队开发”,感觉有什么不同?对于PM这个角

色,你们有什么样的理解?

答:

从个人开发”、“结对开发”到“团队开发”,给我感觉就是一个愈发体现软件工

程价值的过程。随着团队成员的增加,如何规范、科学高效地开发开始变得越来

越重要,这对个人能力也是一个进阶式的考验,从最初的散漫自由的个人开发到

最后为团队利益发光发热,不知不觉中,自己的团队协作能力就已得到大大的提

升。

对于PM(项目经理)这个角色,我感触良多,因为除了无论是在软件工程小

组还是学校创客中心的开发团队中,我都充当着PM的角色,如何做一名合格的PM

,是我夜里辗转反侧思考的问题,我觉得一名出色的PM,要有以下技能:

(1)有够硬的技术支持。PM,虽然被定义为负责代码开发以外的工作,

但那是大公司团队的PM,因为他们还有架构师等职位人员。而我们的PM

,除了要负责代码开发外的的工作,也要有全面的知识覆盖,能在设计的

时候就分析出实现难点,从而避免一些可避免的问题。

(2)能敏锐地发现团队中的沟通问题。我一直认为,队员之间沟通不

好,是PM的责任。PM需要鼓励队员们沟通合作,实时地观察团队中的

异常,从而达到亡羊补牢的作用,这一点,我就觉得我做得还不够好。

(3)懂得捍卫团队的利益。在软件工程小组中可能涉及不到这一点,

因为小组做的项目偏向于作业的提交,而不需要太过考虑开发成本、版

权等问题。一个老谋深算的PM,往往需要让团队开发花最少的时间获取

最大的利益,需要在需求与开发成本中做成一些取舍。例如,某PM接了

一个十万块的外包项目,项目

有一个功能模块可能要耗去团队成员价值八万块的劳动力,PM可能

就需要跟客户那边沟通要不要舍弃这一个模块了,而不是单纯地考虑怎

样让产品最完美。

(4)有一定的魄力。 这一点也非常重要,因为在漫长的开发工作中,

往往会遇到很多分歧问题,而这些问题也往往没有绝对的对于错。也有

些时候团队成员会因为工作氛围过于自由而散漫放松,这些时候一个能

hold住场面的PM就是关键了,他需要拿出略为强硬的一面作出一些抉

择与规定,以利于重整团队的风气,提高开发效率。

(5)能得民心。古人有云:小成于勤,中成于智,大成于德。由此可

见没有良好的品德者是无法成大事的,PM有良好的品德,在工作中讲

究客观务实,才会深得团队成员的心,别人才会真心实意地给你干活。

这一点,我怕是学一辈子都学不完啊。

(6)有良好的抗压能力。作为PM,总会承受各种各样的压力,客户催

进度、老板挤成本、队员闹矛盾、需求改了又改等等,但这些都是无

可厚非的,人在职场,连一点心理承受能力都没有就很难生存下去了,

学会自我减压吧。

 

问:

在你们的团队开发工作中,有哪些经验是值得分享的?有哪些不足之处是需要改

进的?

答:

我觉得我们做得较好值得分享的地方有:

1.敢于与其他班同学组队开发。团队开发的出发点本就是为了做好项目,不

应该只看谁关系好就跟谁组队,尝试把目光放出班外,也许你会发现更多适

合你队伍的人才。

2.选题迎合市场。我们选的鲜花外卖平台,是分析过市场需求才定的,建议

多选这样的题材,那样能更接地气,更多地去了解市场的规律。

3.利用更多的工具与平台。为了提高开发效率,我们应掌握更多实用的工具

与平台,如我们项目设计中用的Axure原型设计工具、PowerDesigner数

据库模型设计工具,项目开发中的SSH框架、Bootstrap框架等。

当然,我们也有很多不足的地方,如:

1.没能很好地动员每个成员,让每个成员都投入到开发工作中去。

2.没能很好地考虑实现性问题,前期想b/s版和安卓版产品都做,后期才发

现是我们太不现实了,只把精力放在b/s版的开发中,效果会更好。

3.没能一鼓作气,善始善终。前期进度还是挺快的,后期由于一些原因就使

项目进度耽搁下来了,这些原因包括我个人的身体问题、课程项目开发中还

参与了其他的项目开发及比赛,但我觉得最大的问题在于我们不懂得协调时

间,这个问题需要好好反省一下。

 

 问:

面对自己不熟悉的技术,你们是如何快速熟悉并完成老师布置的任务的。

答:

      不熟悉又要用的技术,我们都是现学现用的,看文档、看别人的Demo,在短

时间能先做到会用,以后有时间再做到理解也不怕。现学现用,谁都知道这是一个

比较痛苦的过程,总能让人在奔溃的边缘徘徊,但现学现用却是培养自我学习能力

的最佳途径。依据行业前辈所说,学习能力往往比已掌握知识更重要,进公司往往

要学习这个公司自己的开发框架,或者某开发方向做不来要能调方向时,又得学很

多很多的东西。人掌握的知识是有限的,遇到的问题却往往是多方面的,所以一名

优秀的程序员就要有良好的学习能力,学会“吸星大法”,能轻易地把别人的东西学

以致用。

 

 

posted @ 2016-07-19 19:10  42梁植淋  阅读(253)  评论(0编辑  收藏  举报