热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

高效程序的45个习惯---第八章敏捷协作

38定期安排会面时间立会(站着开的会议)是将团队召集在一起,并让每个人了解当下进展状况的好办法。顾名思义,参与者们不允许在立会就坐,这可以保证会议快速进行。

38 定期安排会面时间
 
立会(站着开的会议)是将团队召集在一起,并让每个人了解当下进展状况的好办法。顾名思义,参与者们不允许在立会就坐,这可以保证会议快速进行。
 
要保证会议议题不会发散,每个人都应该只回答下述三个问题。
1 昨天有什么收获。
2 今天计划要做哪些工作作?
3 面临着哪些障碍?
 
只能给予每个参与者很少的发言(大约两分钟)。如果要讨论某些问题,可以在立会结束之后,再召集相关人员进行。
 
平衡的艺术
1 会议占用开发时间,所以要尽量保证投入的时间有较大的产出。立会时间最长不能超过30分钟。10到15分钟比较理想。
2 如果要使用需提前预定的会议室,就把预定的时间设定为一个小时吧。这样就有机会在15分钟的立会结束后,马上召开更小规模的会议。
3 虽然大多数团队需要每天都碰头,但对于小团队来说,这样做可能有点头了,不妨两天举行一次,或者一周两次,这对小团队来说足够了。
4 要注意报告的细节。在会议中要给出具体的进度。但不要陷入细节之中。
5 迅速地开始可以保证会议短小,不要浪费时间等着会议开始。
6 如果觉得立会是在浪费时间,那可能是大家还没有形成真正的意识,这不是坏事,有利于问题进行改进。
 
 
39 架构师必须写代码
 
 
优秀的设计从积极的程序员那里开始演化。积极的编程可以带来深入的理解,不要使用不愿意编程的架构师。
 
 
平衡的艺术
1 如果有一位首席架构师,他可能没有足够的时间来参与编码工作。还是要让他参与,但是别让他开发在荐关键上的,工作量最大的代码 。
2 不在允许任何人单独进行设计,特别是你自己。
 
 
40  实行代码集体所有制
 
项目中绝大部分的代码都可以轻松应对.
 
平衡的艺术
 
1 不要无意间丧失了团队的专家技能。如果某个开发人员在某个领域中极其精通,不妨让他为这方面的驻留南家。而且系统的其它部分代码也对他开放,这样对团队和项目都很有帮助。
2 在大型项目中,如果每个人都可以随意改变任何代码,一定会把项目弄得一团糟,代码集体所有制并不意味着可以随心所欲,到处破坏。
3 开发人员不必了解项目每一部分的每个细节,但是也不能因为要处理某个模块的代码而感到惊恐。
4 有些场合是不能采用代码集体所有制的。也许代码需要某些特定的知识,对特定问题域的了解。比如一个高难度的实时控制系统。这些时候,人多了反而容易误事。
4 任何人都可能有一些灾难事故,或者有可能被竞争对手雇佣。如果不向整个团队分享知识,反而增加了丧失知识的风险。
 
41 成为指导者
 
 
成为指导者。分享自己的知识很有趣,付出的同时便有收获,还可能激励别人获得更好的成果,而且提升整个团队的实力。
 
平衡的艺术
1 如果一直在就同一个主题向不同的人反复阐述,不妨记录笔记。此后就此主题写一篇文章,甚至一本书。
2 成为指导者是向团队进行投资的一种极佳的方式。
3 结对编程是一种进行高效指导的,很自然的环境。
4 如果总是被一些以懒于自己答案的人打扰。
5为团队成员在寻求帮助之前陷入某个问题的时间设定一个时限,一个小时应该是不错的选择。
 
 
42允许大家自己想办法
 
给别人解决问题的机会。指给他们正确的方向,而不是直接提供方案。每个人都能从中学到不少东西。
 
平衡的艺术
1 用问题来回答问题,可以引导提问的人生走上正确的道路。
2如果有人真的陷入胶着状态,就不要他们了。告诉他们答案,再解释为什么是这样的。
 
43 准备后好再共享代码
 
准备好后再共享代码,绝不要提交尚示完成的代码,故意签入编译未通过或者没有通过单元测试的代码,对于项目 来说,应被视作玩忽职守的犯罪行为。
 
 
平衡的艺术
 
1 有些源代码控制系统会区分“提交”和“可公开访问”两种代码权限。此时可以进行临时的提交操作,不会因为完全提交未完成的代码,而团队的其他成员感到郁闷。
2 有些人希望代码在提交之前可以进行复查操作。只要不会过久拖延提交代码的时间就没有问题。如果流程的某个部分产生拖延,那就修正流程吧。
3 仍然应该频繁提交代码。不能用“代码尚未完成”作为避免提交 代码的借口。
 
 
44 做代码复查
 
 
那该如何进行代码复查呢?可以从下面这些不同基本方式中进行选择。
 
1 通宵复查。可以将整个团队召集在一起,预定好美食,每个月进行一次“恐怖的代码复查之夜”。但是这可能不是进行代码复查最有效的方式,大规模团队的复查会议会很容易陷入无休止的讨论中。大范围的复查不公没有必要,而且有可能对整个流程造成损害。我们不建议这种方式。
 
2 捡拾游戏。当某些代码编写完成,通过编译,完成测试。并已经准备签入时,其他开发人员就可“检搭”起这些代码开始复查。类似的“提交复查”是一种快速而非正式的方式,保证代码在提交之前是可以被接受的。为了消除行为上的惯性,要在开发人员之间进行轮换。这是一种很有效的技术。
 
3 结对编程。在极限编程国,不存在一个人独立进行编码的情况。
 
在代码复查中要看什么呢?你可能会制订出要检测的一些特定的问题列表,这示这里是一个可供启动的最基本的检查列表。
 
1 代码能否被读懂和理解?
2 是否有任何明显的错误?
3 代码是否会对应用的其他部分产生不良影响?
4 是否存在重复的代码?
是否存在可以改进或重构的部分?
 
 
复查所有的代码。对于提升代码质量和降低错误率来六,代码复查是无价之定。如果以正确的方式进行,复查可能产生非常实用而高效的成果。要让不同的开发人员在每个任务完成后复查代码。
 
平衡的艺术
1 不进行思考,类似于橡皮图章一样的代码复查没有任何价值。
2 代码复查需要积极评估代码的设计和清晰程序,而不只是考量变量名和代码格式是否组织的标准。
3 同样的功能,不同开发人员的代码实现可能不同。差异并不意味着不好。除非你可以让某段代码明确变得更好,否则不要随意批评别人的代码。
 
4 如果不及时跟进讨论中给出的建议,代码复查是没有价值的。可以安排跟进会议。或者使用代码标记系统,来标识需要完成的工作。跟踪已经处理完的部分。
5 要确保代码复查参与人员得到每次复查活动的反馈。作为结果,要让每个人知道复查完成后所采取 行动。
 
 
45 及时通报进展与问题
 
及时通报进展与问题。发布进展状况,新的想法和目前正在关注的话题,不要等着别人来问项目 状态如何。
 
平衡的艺术
 
1 每日立会可以让每个人都能明确了解最新的进展和形势。
2 在展开进度状况时,要照顾到受众关注的细节程序。举例来说,CEO和企业主是不会关心抽象基类设计的具体细节的。
3 别花费太多时间在进展与问题通报上面,还是应该保证开发任务的顺利完成。
4 经常抬头看看四周中,而不是只埋头于自己的工作。
 
 
 
 
 
 

推荐阅读
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • C语言注释工具及快捷键,删除C语言注释工具的实现思路
    本文介绍了C语言中注释的两种方式以及注释的作用,提供了删除C语言注释的工具实现思路,并分享了C语言中注释的快捷键操作方法。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 从零学Java(10)之方法详解,喷打野你真的没我6!
    本文介绍了从零学Java系列中的第10篇文章,详解了Java中的方法。同时讨论了打野过程中喷打野的影响,以及金色打野刀对经济的增加和线上队友经济的影响。指出喷打野会导致线上经济的消减和影响队伍的团结。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 本文介绍了在多平台下进行条件编译的必要性,以及具体的实现方法。通过示例代码展示了如何使用条件编译来实现不同平台的功能。最后总结了只要接口相同,不同平台下的编译运行结果也会相同。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了StartingzookeeperFAILEDTOSTART相关的知识,希望对你有一定的参考价值。下载路径:https://ar ... [详细]
author-avatar
xiaojin
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有