热门标签 | 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,讲话在一些方面上的确比文字来的直接和痛快。





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

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








推荐阅读
  • 一次上线事故,30岁+的程序员踩坑经验之谈
    本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 嵌入式处理器的架构与内核发展历程
    本文主要介绍了嵌入式处理器的架构与内核发展历程,包括不同架构的指令集的变化,以及内核的流水线和结构。通过对ARM架构的分析,可以更好地理解嵌入式处理器的架构与内核的关系。 ... [详细]
  • 从高级程序员到CTO的4次能力跃迁!如何选择适合的技术负责人?
    本文讲解了从高级程序员到CTO的4次能力跃迁,以及如何选择适合的技术负责人。在初创期、发展期、成熟期的每个阶段,创业公司需要不同级别的技术负责人来实现复杂功能、解决技术难题、提高交付效率和质量。高级程序员的职责是实现复杂功能、编写核心代码、处理线上bug、解决技术难题。而技术经理则需要提高交付效率和质量。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
  • 本文介绍了iOS开发中检测和解决内存泄漏的方法,包括静态分析、使用instruments检查内存泄漏以及代码测试等。同时还介绍了最能挣钱的行业,包括互联网行业、娱乐行业、教育行业、智能行业和老年服务行业,并提供了选行业的技巧。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 从零学Java(10)之方法详解,喷打野你真的没我6!
    本文介绍了从零学Java系列中的第10篇文章,详解了Java中的方法。同时讨论了打野过程中喷打野的影响,以及金色打野刀对经济的增加和线上队友经济的影响。指出喷打野会导致线上经济的消减和影响队伍的团结。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
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社区 版权所有