工作效率

  今天看到一篇InfoQ的文章<<拖累开发团队效率的困局与解决之道>>,讲得很不错,备注一下:

  1、软件开发中的锁:不同技能的人或模块需要依赖另外的人或模块,长时间等待延长开发周期;模块或部门利益、交流成本;接力棒似的开发模式,A团队开发完成,B团队再开发;

    解决办法:强化沟通交流,提供高水平的接口服务。

  2、保姆式开发:只管某一项工作,其他的一概不管;比如开发只写代码,写完就丢给测试,测试一测就发现很多问题,那么我们可能需要做一个code review,开发的同事又不愿意做,那么我们就成立一个code review的小组;就这样在一个产品周期中面对各种问题我们添加了各种团队成员,天天开会,互相争吵,会扯淡的人越来越多,效率也不高。

    解决办法:a、不要招只会写代码的码农,要找懂需求,注重软件工程、软件质量和软件维护的工程师;(这点极为赞同)

         b、最好的管理,不是找人来管人,而是自己管自己;(也是深有体会)

         c、组织和团队中支持性工作的人越少越好,最好不要;(这就是为什么很多创业团队工作效率极高的原因,大家都是在真正干活)

         d、服务化,我服务于你并不是代表我要帮你干活,而是代表-我要让你干活干得更爽;(在公司中很少有人能体会这点) 

  3、watchDog式开发:为了解决某个系统的问题,我们需要开发一个新的系统去看着它。

    解决办法:a、设计好了再做;(个人认为和业务发展很有关联)

         b、及时还债;

  4、故障驱动式开发:先做业务,后续再逐步完善,系统迭代、架构演化成为了很多不学无术的人的超级借口;

    解决办法:a、基础知识和理论知识都很重要,多使用已有的成熟的方案;

         b、对技术要有一颗严谨和敬畏的新。想清楚了再干,坚持高标准,design for failure! 很多事情都急不得;(这个我也是最近1两年很有感触)

原作者的总结(我觉得很有道理):

  1、软件工程师分工分的越细,这个团队就越没效率,团队间的服务化是关键的关键。(现实中分得越细人就越懒,总觉得活能少则少)

  2、你总需要在一个环节上认真,这个环节越往前就越有效率。设计、编码、测试、运维都是紧密相连的,前面的债都要后面的人来还。

  3、小而精的团队+条件和资源受限是效率的根本。只有小团队,内耗才会小;只有条件和资源受限(不是匮乏),才会逼着你用最经济的手段做最有价值的事情;(这就是很多创业团队效率高的原因)

  4、技术债不能欠,要及时还清;(这个团队领导大概都懂,但是没几个人愿意去花时间还债)

  5、软件架构上要松耦合,团队组织上要紧耦合;(沟通很重要,如何节约沟通成本,就是在招聘的时候找和你有相同想法、看法,做事风格相似的人)

  6、工程师文化是关键,重视过程就是重视结果。(很多程序员不具备细心的工匠精神)

 

  其实上面很多方面的道理大家都懂,但是在实施过程中就受到了环境的影响而改变了方向,并且有一些事情也不是一个团队或一个领导人就能决定的,但是优秀的软件开发者应该是一个技术高聚合、交流高耦合的工匠。

    

posted @ 2017-04-14 14:42  lion_eagle  阅读(202)  评论(0编辑  收藏  举报