【IT168 评论】大家都知道,现在的软件开发已经不再是20年前个人英雄主义的时代,一个超级程序员就能够搞定一切的情况已经很少存在了。更多的情况是我们都是以团队的形式进行系统的设计和开发,因此,团队精神也变得越来越重要。
早在我刚刚毕业要踏入到软件开发这个行业的时候,就在自己的简历里面写到:具有很强的团队精神。然而,说句实话,当时对这个词的理解真的不是那么透彻,只是觉得人缘好,和别人合得来,就叫做有团队精神。然而,随着工作的年头越来越多,经历过各种不同的团队,也带领过不同的团队,渐渐地,对于“团队精神”的体会也越来越深,也越来越觉得并非那么简单。
那么到底什么是团队精神呢,我觉得它包括了下面这些特点:
荣辱与共
交流分享
精诚协作
尊重理解
下面让我分别结合自己多年来的工作经历谈下自己的理解,与大家共享,同时也说说自己理想中的团队的样子。
荣辱与共
作为一个团队中的成员,就要把整个团队的荣辱放在第一位,这似乎是集体主义精神的体现,与当前更为流行的个人为中心的思想有些格格不入,但是,只有把整个团队的利益放在首位,团队才能够发展和进步。而团队的发展和进步必定会给其中的每个成员带来好处。
在这里我要说个很典型的情况,在团队中一般都会有开发人员和质量管理人员(也就是我们常说的测试人员),一般来说这两种角色都是冤家。前者非常怕后者测试的时候测出无数的问题,而后者经常会经常抱怨说“你自己测没测试啊”。似乎二者之间总是有着不可调和的矛盾。
想要解决这个问题,其实很简单,就是要明确荣辱与共这条原则,开发人员的目的是想要高效高质的开发出程序,这首先就要对自己提高要求,如果开发出来的程序质量不高,那么必然会返工修改,似乎当时是节省了自己的时间,尽快地把程序提交上去了,但实际上,自己后来还需要修改,节省的时间还要再找回来,另一方面,还需要测试人员指出低级的问题,(那些问题只要再稍微细心一些就能够避免),也会浪费测试人员的时间,结果对于团队来说,就花费了两份时间。如果能够想到为团队节省时间的话,也就会自觉地提高自己程序的质量了。
而对于质量管理人员来说,首先当然要仔细地测试,不可敷衍了事,那样的确可以节省自己的时间,而且容易和开发人员搞好关系,但是必定会导致程序质量的下降。而对于客户来说,质量才是程序的生命线。其次,不可以因为自己发现很多缺陷就沾沾自喜,的确这意味着作为质量管理人员,工作做得很到位,但是我们的目的是什么呢?并非是要找到更多的缺陷,而是要想办法提高系统整体上的质量。我想我们大可以将缺陷总结分类,然后将自己的分析结果提交给整个团队,指出在哪些地方比较容易犯错误,那样不仅整个团队的开发质量得到了提高,也节省了自己以后工作的时间,只不过是不会总是找到那么多的缺陷了。
交流分享
交流在任何工作中都是非常重要的,人和人之间只有充分交流,才能够更好地工作。这些交流不能仅仅限于开发人员之间,团队之中每个人之间都应该充分的交流,否则就会在信息的传达过程中出现理解上的偏差。比方说,如果上游工程(需求分析、概要设计)的负责人不和下游工程(详细设计、编码、测试)的人员充分交流,那么很可能会得到最终用户这样的评价:你们所做的东西不是我要的。这就是由于信息在传达的过程中发生了偏差,失之毫厘谬以千里,导致了最终客户对团队的恶评。
团队的成员应该成为朋友。也许这在现在的职场之中,很难得到认同,甚至还听到有人说过,不要把同事当成朋友,但是我不以为然,毕竟我们很多的时间都是与同事一起度过的,很多东西需要和同事一起承担、一起分享。如果不是朋友的话,没有最起码的信任,怎么做事儿呢?的确,有些同事会不值得做朋友,那么就应该去找到值得做朋友的人,或者在组建团队的时候就要慎重地挑选所有的成员,尽量让大家都成为朋友,那样才更有利于工作的开展。
分享意味着什么呢?我觉得它意味着共同进步,知识要分享,经验要分享,好吃的,好玩儿的都要分享。这也应该是大家成为真正的朋友的前提吧。尤其是知识和经验的分享,对于组建学习型的团队非常重要。而最有效的形式,就是在固定的期间内举办技术交流会,团队的所有人尽可能地参加,大家可以把自己工作学习生活中所发现、所学到的知识分享出来,这样不仅仅有利于大家共同提高,也有利于解决工作中的各种问题。而这也是我一直在致力推行的一种方式,尽管最近有些障碍,呵呵。