打造高效的技术团队,我会关注的7个点

简介:

1、使用分布式的版本管理系统

  如果你觉得不需要使用版本管理系统,那我们沟通会有代沟,如果你是cvs、svn的粉丝,或者由于某种原因没有使用过分布式版本管理系统,比如git,那强烈建议你去看一下“why git is better than x”。

  2、一键式发布

  这里发布的目标位置,既可以是开发机,做本地测试;也可以是测试机,为QA准备好捉虫游戏的森林;还可以是生产环境(或者beta环境),供用户直接访问。

  如深度xp一键恢复系统一样,一键式发布需要自动完成很多工作:代码自动化测试(开发阶段),打包压缩,编译(测试阶段),数据同步(外网)。也许还有很多工作要加入进来,但核心是是否能通过一个脚本的执行就全部完成所有流程,这点至关重要。如果中间多出几个环境,那将来一定会引入发布的灾难。

  3、TDD / BDD 请对你自己写的代码负责

  不要为了TDD/BDD而TDD/BDD,只要能及时获得自己写的代码运行情况的反馈就行,也无需一次把test case都覆盖全。对于没有任何单元测试的代码,将来想引入单位测试,将举步维艰!如果,你认为测试完全是QA的事情,那你就花大笔的钱去招聘一个规模庞大的QA集团吧,期望他们能让你偷懒。

  4、使用靠谱的bug记录工具

  人脑的潜力虽然无限,但大脑皮层只会对进入缓存区的数据做高效的反应。记忆再好的开发,也可能被各种牛魔鬼怪折磨的忘记了昨日的痛(曾经产生的bug)。所以,从团队第一次提测,就应该使用靠谱的bug记录工作。所谓好记性不如烂笔头就是这个道理。

  那一个靠谱的bug记录工具应该要记录这些数据:

  ● bug复现的整个操作流程
  ● 产品需求中的正常情况
  ● 出现bug后,变成为什么情况
  ● 谁将负责修复这个bug
  ● bug最后修复没有

  至于怎么修复的bug,是重新设计还是漏提交了代码,我觉得无关紧要。如果一个bug修复的经验值得分享,可以单独做一次团队的技术分享,而这往往是由于对现有产品的(技术或者其他的)信息获取不够导致的。

  5、尽快修复bug

  我的开发经验告诉我,一个bug越晚修复,被修复的可能性越小,将来产生危害的可能性越大。试想,你刚提测或者发布的代码,出现的bug,往往你能最快得到解决它需求的时间,而时间在项目管理上是非常重要的。反之,如果积累了很多bug,且有一定时间了,那修复它就需要对所有相关的系统进行了解,这将花费大量你可以用来度假,娱乐的美好时光。所以,从团队一开始就贯彻这点,可以释放成员修复bug的压力。

  6、给团队成员一个安静的环境

  最近很多同学告诉我,白天基本上没有什么效率,总是受到各种骚扰。我们做一个假设:假如A同学进入最佳状态需要30分钟,那么如果他比较惨,在30分钟间隔内,他总是被打断,那么他一天都无法最高效的工作。又或者同学B google查询一个技术问,花费2分钟可以解决,但问同学A只要20秒钟(好吧,同学A表达很清晰)。这样同学B节省了100秒钟,而同学A至少损失了30分钟。

  从这个假设,我们不难发现,如果能避免团队成员受到外来信息的骚扰,他就有可能更加高效的工作,从而写出更好的产品。而常识告诉我们,人不可能一直高效的工作,所以,我们应该利用好无法集中精力的时间去进行一些沟通。但分出这个界限显然十分困难,所以我觉得不妨这样:规定每天的安静时间段,在这个时间段,其他人都不能来打扰这位同学,而在非安静时间段,可以随意访问,从而让这位同学形成一个新的生物钟(人体的自我调节能力是非常强悍的)。

  7、给员工最好的工具

  做同样一件事情,如果使用工具A,消耗的时间为5分钟,而使用工具B,消耗的时间为1分钟,那我一定给员工提供B工具,即使B工具的价格是A工具的5倍。因为,假如人在连续高效工作中的抵抗干扰时间为1分钟,那么意味着B工具能保证高效工作的时间连续,而A将可能分散了用户精力,导致需要更多的时间才进入最佳状态。事实上,之所以要更好的cpu,更大的内存,更好的编译器,更好的编辑器,多显示器,都是让程序员尽快能回到核心业务上来,而在等待上花费更少的时间。

  同时,别忘了,一把好的椅子也是维持更长高效工作时间的保证,所以,别吝啬,给员工更好的椅子吧,他们会感到你的温怀。

本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

目录
相关文章
|
敏捷开发 Dubbo Java
需求开发人日评估
随着敏捷开发在国内的风靡,越来越多的团队开始推行敏捷开发,这其中有一个关键事项就是:工时的人日评估。简单来说就是:项目经理会让开发人员自己评估自己负责的模块大概需要的开发周期。 人日,即按照1人几天完成,如1/人日:表示这个需求需要1个人1天完成,如果有2个人一起做,可能就是0.5天(需求开发一般1+1 < 2,因为有代码合并的兼容性要处理)。
1346 1
|
消息中间件 NoSQL Java
2024年高频Java面试题集锦(含答案),让你的面试之路畅通无阻!
或许这份面试题还不足以囊括所有 Java 问题,但有了它,我相信你一定不会“败”的很惨,因为有了它,足以应对目前市面上绝大部分的 Java 面试了,因为这篇文章不论是从深度还是广度上来讲,都已经囊括了非常多的知识点了。
|
消息中间件 弹性计算 运维
对比阿里云的SofaMQ与RocketMQ
对比阿里云的SofaMQ与RocketMQ
2139 2
|
安全 程序员 调度
技术人员的一点产品思维思考
作为一线的开发人员,大家是不是都经历过和产品吵得不可开交的经历,甚至最后谁也无法说服谁,只能将问题上升。最后由老板出面解决,而大多数情况下老板还真能够以某种方法去解决,并且是一个双方都能接受的方案。这个时候可能大部分同学会认为是老板的权威,地位导致了这一结果。 其实这很不准确(可能有一部分原因但绝对不是主要原因)其实更多的是各个老板们有比一线开发更强的产品力,能够听懂对方的诉求和抓住矛盾点并且给出解决方案。同时其中的表达方式更容易让彼此接受,才导致了最终你看到的老板出马,问题解决,好像自己的观点继续保持了,同时对方也留有余地。那这里这项重要的能力来源于什么呢?其实我认为更是一种产品思维的方式。
930 60
技术人员的一点产品思维思考
|
JSON Java 程序员
code S: code style & code standard
关于代码风格与代码规范的二三事
425 0
会向业务“砍需求”的技术同学,该具备哪6点能力?
阿里妹导读:“会”砍需求,并不是件容易的事情,这涉及到工程师的商业头脑,要会判断技术和业务的关系。技术与业务好比“两条腿”,相互配合才能走得更远。如何具备business sense就是我们今天的课题。
16907 0
|
2天前
|
云安全 数据采集 人工智能
古茗联名引爆全网,阿里云三层防护助力对抗黑产
阿里云三层校验+风险识别,为古茗每一杯奶茶保驾护航!
古茗联名引爆全网,阿里云三层防护助力对抗黑产
|
6天前
|
人工智能 中间件 API
AutoGen for .NET - 架构学习指南
《AutoGen for .NET 架构学习指南》系统解析微软多智能体框架,涵盖新旧双架构、核心设计、技术栈与实战路径,助你从入门到精通,构建分布式AI协同系统。
302 142
|
6天前
|
Kubernetes 算法 Go
Kubeflow-Katib-架构学习指南
本指南带你深入 Kubeflow 核心组件 Katib,一个 Kubernetes 原生的自动化机器学习系统。从架构解析、代码结构到技能清单与学习路径,助你由浅入深掌握超参数调优与神经架构搜索,实现从使用到贡献的进阶之旅。
281 139