软件开发中团队作用的思考
摘 要 文章简单介绍了目前的软件开发团队,分析了在软件开发的过程中团队起到的作用,并讨论了沟通在团队中的重要性。
关键词 软件 软件开发 团队合作
中图分类号:TP311.5 文献标识码:A
在从事软件开发的工作中,尤其是软件研发企业中最常见的就是软件开发团队,一个软件从构想到真正出现在市场上,需要大量的从事不同工作的人共同努力,因此,软件研发企业目前的产品生产管理主要是以项目为主而进行运作,软件开发作为一项知识密集型的智力劳动,客观上要求必须对团队内部的知识进行系统的挖掘与利用,从而不断产生新的知识,才能保证高质量地完成开发任务。同时,软件开发团队是以特定客户为中心的任务导向团队,开发任务目标完全以用户需求为中心,开发任务的约束条件以客户要求为准,不能完全参考以往的任何模式,因此软件开发团队对知识创新的需求十分明显。
1 认识团队
团队是相互支持、协作的个体为了实现某些共同目标而组成创设的。团队需要所有成员清楚的角色认知和分工,拥有一致的目标,共同的认识,最重要的是有合作精神。因而必要的技术组合、技术分工、适当的酬劳和不同的决策范围是必然的,他们相互协力工作共同实现目标。
目前国内软件开发团队的成员结构不够稳定,由于软件项目不同阶段任务量工作性质变化很大,团队成员的多少和具体人选会随着项目的进度与变化而不断调整,造成团队成员的构成具有不稳定性。由于激烈的市场竞争和软件行业近几年的快速发展,造成软件人员流动性较高,软件人员被称为最不安分的人。跨部门跨行业软件项目涉及专业面较广,团队成员往往来自企业的不同职能部门或不同行业。组织临时性软件开发团队是专门为完成某一软件项目而设立的组织,这种组织绝大多数在完成项目后,其使命即告终结,项目团队即要解散,另外,如果软件项目由于各种原因被迫中止,研发团队也可能解散,待到项目解冻或重新开始时,再重新组建。
2 团队的作用
一个团队的力量一定是方方面面的人合作产生的合力,而且合力大于所有参与人的力量总和,也即“1+1>2”。和其他一般的团队不同,软件研发团队还具有其自身的独特性。一是,相互依赖性大,某个团队成员所编写的模块可能需要另外成员为他提供函数接口,同时又要为其他成员提供函数接口。二是,时间压力大,在软件开发团队中,为了赶项目进度,团队成员经常要求主动加班。三是,所面临的情境瞬息万变,如用户需求的频繁变动,软件版本的不断更新等。软件开发团队的这些特点,要求团队成员之间必须形成一个“共享心智模式”才能有效地完成团队目标。
3 沟通的重要性
团队内部沟通顺畅,必要的规范和纪律,可以保持团队活力。营造高效软件开发团队依靠规范的工作机制,建立高效团队软件项目的开发是创造性的工作,团队成员若发挥各自的优势,清晰定义角色职责,可避免角色交叉工作冲突;让大家感受到自身的价值,能受到认可和重视,并有效实现信息上下互通。建立团队文化促进团队信任关系,虽然项目实施团队是一个临时性组织,但大家为了一个共同的愿景努力,也会塑造良好的文化,创造一种开放和自信的气氛,全体团队成员有统一感和使命感,鼓励项目成员形成沟通协作的文化是一些成功项目团队的制胜法宝,在软件企业,开发新产品项目的主要责任者是市场部门和研发部门,开发团队也多由这两个部门人员组成,因为他们是新产品的设计师知识源和专家,开发团队的工作与两个部门的协调合作密不可分,因此,应当建立起有效的沟通平台促进团队协调工作:一是建立部门间的协调机制,如建立不同部门间的联席会议制度,定期交流项目情况,确定开发方向,明确成功或失败原因,为后期工作积累经验。二是集中安排项目地点,如果团队成员不在相同的地点办公,势必会影响沟通的有效进展,影响团队目标的实现。因此,将跨部门临时团队的开发人员集中在一个舒适的,与世隔绝的空间里,在其中集合并张贴进度计划及新信息,在特定的时间内展开科研攻关,更方便团队成员相互间的协作沟通,提高团队的运作能力。在一些项目中,集中安排可能无法实现,这时可以采用安排频繁的面对面的会议形式作为替代,以鼓励相互之间的交流。
总之,软件开发的过程复杂,而团队方式可以使其简单许多,遇到问题的时候可以大家一起想。特别是在一个较大型的软件工程项目中,一个人的力量和智慧显然是不够的。团队操作在很大程度上可以实现优势的互补。例如在做软件的时候,一方面需要实现强大的功能,另一方面需要有良好美观的界面,这两个方面就需要两个分别擅长其中一项的人来进行合作。团队合作在很大程度上培养了人与人之间的沟通和理解能力。有些人技术相当好,但是却不能很好地与人沟通,团队中,只有通过频繁地相互交流,个别人在研发过程中遇到的困难才能最快、最有效地得到解决。
推荐访问: 团队 作用 思考 开发 软件