热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

团队紧密协作

前言:jeffatwood,百度百科以及维基百科上都没有其简介,他是stackoverflow的创始人之一,我是读“陆其明”
前言:jeff atwood,百度百科以及维基百科上都没有其简介,他是stack overflow的创始人之一,我是读“陆其明”大牛的博客了解到的,进而就在读《effective programming:高效能程序员的修炼》一书进一步了解作者深邃的思维,我觉得对我个人而言,我很喜欢翻译的文笔,更喜欢作者Jeff给我的启发和感悟,每一节都值得我去深思和学习。




不关怎么说,那总是人的错





是啊,不关怎么说,软件开发过程中出现的任何问题,都不能怪罪于技术的原因,都是由人造成的。作者提出了一个我喜欢讨论的问题:“你喜欢你的同事吗?




恐怕拘泥于我们中国人的礼节和教育,我们都会义不容辞的回答:“既使我不喜欢某一个同事,但我不讨厌他(她)”。但是我能感受到,无论是在以前的公司还是目前的公司,我的确不喜欢一些同事,当然别人可能也不喜欢我。然而我想表达的也是作者的观点:“为什么我不去找到我喜欢的人、尊敬的人、挑战和激励我的人,一起工作呢?




领导需以身作则





很多时候,我们都能听到一个声音,一个公司的企业文化在于其老板,一个团队的执行力在于其组织者。这都是无可厚非的道理,所谓一只羊带领着一群狼无法和一只狼带领着一群羊进行抗衡也有着内在的道理。团队能够得到升华在于要有一个好的领导。




我们很多编程人员在面对他行的人时,总会沉默不语,而一旦面对自己的同行时,往往又夸夸其谈。今天早上我们几个同事还在“秉持”着自己的观点聊了很久,我发现我不是一个实干家,因为很多时候也在耍嘴皮子,弄的是假把戏。我们总是在向别人提供建议的时候滔滔不绝,我们似乎也乐于去指导别人去按照自己的意愿去做,而自己总是在行动上落空。那么这样的我们,又如何能获得别人的信赖呢?




  1. 保持谦虚。在融入一个团队的时候,如果不谨言慎行,没有调查出结果之前为了表现自己多么有经验,而妄下断论,最终的结果如果是错误的话,那就倒霉了。
  2. 提出建设性的批评时要小心。我承认,我在这方面做得不好,我在面对别人的错误的时候,总是容易冲动,把自己的意见强加在伙伴身上,当然是由于我和团队成员相对熟悉了,如果在融入一个团队时,就要小心了,尽量不要去冒犯他人。
  3. 要赢得他人的尊敬,最好是获得实实在在的成绩。我发现这个是真理,我之前总是喜欢把自己喜欢的博文放到我们团队的群里面,然而发现别人并没有很感兴趣,我坚持写博客,把自己在CSDN上取得的成绩在群里炫耀,别人也不感冒,当看到作者这句话的时候,我能够释怀了,只有等自己做出别人无法取得到并且能够证明自己的成绩后,才能赢得别人的尊敬。
  4. 百说不如一干。OK,这句话就不用再多做解释了,放之四海而皆准,做一名实干家永远是对的。





如果你希望你的团队能够成为你想要的状态,那么首先就要求自己去做到,自己先遵守规则,如果你的成员做到了,而你并没有做到,OK,低下你高昂的头颅,向他学习。如果你想成为一名好的领导,那么就以身作则,你不能披着“毕姥爷”的外衣去恶意中伤你所属的团队,是吧?!善意的对待别人,别人才有可能对你投桃报李。




程序员和系统管理员的黑夜传说





当前我们的团队还小,我个人就同时兼做两个角色,而在之前的公司,分工很明确,一个项目的SVN管理库、系统运行的环境等等都会交由固定职能的人员来管理,我作为开发人员,的确在有的时候很讨厌系统管理员,他们要求我按照各种规定来提交SVN,当然这是对的,但是我们当时没有很好的相处。




结对编程和代码评审





对于这个小节,我有的时候感到无力,因为我们的团队从来不曾执行过代码的“结对编程”、“代码评审”。虽然我不认可结对编程,因为那太过可怕,小团队来说简直就是要了命,因为总共就两三个人,如果还要交叉工作,那就等到天荒地老吧。但是代码评审,真的是非常棒的一件事情,然而我们却从来没有执行过,我现在都深深感到遗憾,究竟是什么造成了我们现在这个样子。




我们团队的有一些成员,总是抱怨团队之间缺少“副手”,就是说一旦某人因为一些原因不能正常工作了,其他人对他负责的业务无从下手。我有的时候就是干着急,我曾经提出的代码review,从来都得不到实践。




我很希望我们的团队成员在完成代码的开发后,能够安静的坐下来进行一次代码的review,旁观者去发现讲述者所编写的代码存在的漏洞、不完美的格式、不够简洁的表达方式,还能去理解业务,真是百利而无一害啊,真希望以后我们能够进行代码的评审工作。




会议是浪费工作时间的最佳去处





对于会议,我们团队也有很多弊端,开会之前大家毫无准备、会议主题总是不够明确、会议内容散漫无记录、上一个会议的结果从来不落实等等,我不是多么的憎恶自己的团队,从而提出各种锐利的批评,而是内心太希望我们的团队能够凤凰涅槃,浴火重生,在未来呈现出新的面貌,为大家的职业生涯带来价值。

  1. 会议绝对不可超过一个小时。虽然我无法断定这是不是一个真理,但是绝对的值得考虑,毕竟漫长的会议会让人沉沉欲睡,并且容易忘记。
  2. 每个会议都应该有一个清晰的目标。这当然是必须的,如果会议跑题了,那自然也是失败的。
  3. 开会之前做好功课。如果参加一个会议之前,提议者没有充足的准备那很荒谬,而如果旁听者也没有准备,那么在会上就会不知所云。
  4. 把会议变成可选的。这个是个好想法,如果与会者对当前主题不感兴趣,OK,就不要去耗费时间了。
  5. 在会议结束的时候概括待办事项。这很重要,另外我想追加一个就是“在会议开始之前,回顾上一次会议的执行结果”。





处理坏苹果和坏苹果是团队的毒药





所谓千里之堤溃于蚁穴,和作者提出的观点是一致的。如果坏苹果不及时处理,我们都知道,好的苹果也会随之腐烂;而如果坏的苹果遗留在团队之中,就会成为团队的害群之马。




作者提到鉴定坏苹果的警报信号:

  • 他们掩饰自己的无知。就如同南郭先生一样,他们精于藏匿自己的无知,他们会说“我的代码太复杂了,无法测试”。
  • 他们对于个人隐私过度在意。他们害怕别人查看自己的代码,从而不断回避。
  • 他们在意自己的地盘。他们不允许别人去修改他们的代码。
  • 他们抱怨团队做出的决定。总是认为自己的是对的。
  • 他们不会积极参与团队的行动。他们无故请假,找各种借口不参加群体活动。


OK,这个时候,团队领导要做的就是把他撵走吧!




毫无疑问,有坏苹果的团队表现就会很差。”




我们都知道木桶效应,木桶所能容纳的水量在于最短的挡板而不是最长的。如果团队之中有害群之马,而你无法鉴别出来,OK,那么你就是那个需要被赶走的人。




关于远程办公





在这上面,也许我有很多经验之谈,因为之前在江苏富士通,由于是做对日外包项目,自然少不了和在日本的人员进行沟通,那么需要做的无非就是远程越洋电话和视频会议。




作者所说的远程办公,是建立在有相同编程热情的基础上,也是我一直想说的“有自我驱动力”,这不仅仅是在远程协作上,在团队中,同样适用。如果团队成员不是建立在同一愿景下,也没有很强的自我驱动力,团队往往就会落后于他人。




下面作者提到的几个观点,我想我们日常开发也需要类似的做法:

  1. 实时交谈。如果团队成员不能在步调上保持一致的话,那就让人痛苦了,远程协作的时候尤其重要,因为两人身处异地,交流起来就更加容易被时间阻隔,那么好的及时通信软件很重要的。
  2. 固定的邮件列表。这个同样适用于我们当前的开发团队,我们的团队分两块,两块的言语和架构不同,大家之间的交流就更少之甚少。虽然我们每个团队小组都有自己清晰的邮件列表,每天都会要求发送工作日报给彼此,但是我们的执行力还不够,需要加强。
  3. 语音和视频聊天。OK,讲话在一些方面上的确比文字来的直接和痛快。





另外我接下来需要做的流程:

  • 周一的团队报告:我们上周做了什么?这周准备做什么?有什么阻碍我们前进。这个主题和站立会议差不多,现在说起来都惭愧,说好的站立会议,我们团队也执行的不够。
  • 会议纪要:是的,当我们在讨论的时候,必须要把重点内容记录,所谓好记性不如烂笔头,就是这样。








推荐阅读
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 通过与阿里云的合作,牛客网成功解决了跨国视频面试中的网络卡顿问题,为求职者和面试官提供了更加流畅的沟通体验。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 自己用过的一些比较有用的css3新属性【HTML】
    web前端|html教程自己用过的一些比较用的css3新属性web前端-html教程css3刚推出不久,虽然大多数的css3属性在很多流行的浏览器中不支持,但我个人觉得还是要尽量开 ... [详细]
  • 本文介绍了多个关于JavaScript的书籍资源、实用工具和编程实例,涵盖从入门到进阶的各个阶段,帮助读者全面提升JavaScript编程能力。 ... [详细]
  • 深入理解Java中的volatile、内存屏障与CPU指令
    本文详细探讨了Java中volatile关键字的作用机制,以及其与内存屏障和CPU指令之间的关系。通过具体示例和专业解析,帮助读者更好地理解多线程编程中的同步问题。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 利用存储过程构建年度日历表的详细指南
    本文将介绍如何使用SQL存储过程创建一个完整的年度日历表。通过实例演示,帮助读者掌握存储过程的应用技巧,并提供详细的代码解析和执行步骤。 ... [详细]
  • 自学编程与计算机专业背景者的差异分析
    本文探讨了自学编程者和计算机专业毕业生在技能、知识结构及职业发展上的不同之处,结合实际案例分析两者的优势与劣势。 ... [详细]
  • SQLite 动态创建多个表的需求在网络上有不少讨论,但很少有详细的解决方案。本文将介绍如何在 Qt 环境中使用 QString 类轻松实现 SQLite 表的动态创建,并提供详细的步骤和示例代码。 ... [详细]
  • 阅读本文大约需要3分钟。微信8.0版本的发布带来了许多令人振奋的新功能,如烟花特效和改进的悬浮窗,引发了用户的热烈反响。 ... [详细]
  • 作为一名程序员,从大学步入职场后,常常感受到一种难以言喻的空虚感。这种感觉或许源于对生活的不满、职业发展的瓶颈,或是日常琐事带来的压力。本文将深入探讨这种复杂的情感,并尝试寻找解决之道。 ... [详细]
  • 本文深入探讨了C++对象模型中的一些细节问题,特别是虚拟继承和析构函数的处理。通过具体代码示例和详细分析,揭示了书中某些观点的不足之处,并提供了更合理的解释。 ... [详细]
author-avatar
红酒醉红颜2702937481
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有