零七年底上映了一步电影,起名‘集结号’,影片中强攻的真实感让人震撼,堪比好莱坞大片的画面给我留下了深刻印象,与此同时,场景中的协作和意志同样让人敬佩。

战斗中的一支队伍,人心不齐、协作不畅,是要丢命的。

软件开发团队同样如此,今时今日的软件开发已非当年个人英雄时期可比,节奏多变的市场对开发工作提出了更高的要求,如何增强团队战斗力,从而让个人和团队都从中获益,这应当是每个团队负责人都需要思考并不断实践的问题,以下是这几年形成的一些浅薄理解,从几个关键词来分析一下。

宁缺毋滥

人是团队的核心,团队的形成是从招聘环节开始的, 从筛选简历、面试、试用都是在为团队选择更合适的人。

技术最好的并非一定合适,也许有的人技术真的很好,但是说话做事的方式跟团队差异太大,无法形成有效的补充,技术差的并非一定不合适,也许是因为当时的水平或者环境限制,踏实肯干挖掘潜力也会成长为团队骨干。

招聘环节的宁缺毋滥,严格控制团队新鲜血液的加入质量,将为团队的成长打下良好基础,也是对面试者负责任,避免进入团队以后的各种不适应。

开放氛围

这方面我很幸运,大学毕业后经历了两家公司,氛围都很开放,程序员的工作特点决定了开放氛围的重要性。

优秀的程序员需要一定的自由度,程序设计并非全是机械性的工作,自由度对于挖掘智慧是很有帮助的,你不能像赶鸭子上架一样的跟在程序员屁股后面催他做这个做那个,一个团队在面临一件事情时,单方面的安排和接受事务效率很容易提不上去,而发挥群体智慧,每个人主动的给出自己的见解,发挥出热情和智慧的力量才能具备强大的生产力。

团队的开放性也决定了技术互补和资源共享的价值积累,每个人都有自己擅长的技术路线,也有自己解决问题的不同角度,如果一个团队的所有成员都能够贡献自己的力量,乐于分享和帮助别人,这个团队的价值是放大的,每个人自然也将吸收别人的优点,于个人于团队都是受益的。

技术结构

都看过《速度与激情》吧,他们在合作中每个人都发挥出自己的特长,有电脑专家负责获取信息、狙击手负责远程场控、美女负责迷惑对手、赛车手负责赢得比赛,配合的天衣无缝,战无不胜。

甚至盗窃团伙都是有明确分工的,谁负责望风、谁负责下手、谁负责转移赃物,这个是利润驱使下形成的有效分工,某种程度上实践出真知的力证。

具体到软件开发过程,乃至现如今的敏捷开发,也是需要明确分工的,PO负责定义好需求,Master负责协调任务和观察优化团队作业流程,开发负责提交符合需求的功能集合,测试负责对提交物进行验收等等。

我们所从事的开发性工作,大致可以分为前端和后端,当然也有前后端通吃的JS,你的团队里面谁是后端的权威,前端的工作交给谁最放心,数据库设计交给谁最靠谱儿,这些都需要有准备,只有这些结构性的分工准备好了,在大项目来临之际才能抓住机会。

同时,技术结构的更新也很重要,抱着一个框架吃五年已经不灵了。

工具

现在我们准备好人了,也形成了一定的技术结构,能够在宽松的环境中做事儿了,那么一个项目接到手了,怎么去具体实施,怎么保证交付呢?

我们需要工具,人类发展的最大推进力就是工具,我们借助工具实现了结绳记事,借助电话跨越了时间障碍,借助飞机跨越了空间障碍,依赖于工具人类的发展才飞速前进。

工具应该成为项目管理的标配,根据不同的项目选择不同的工具,让工具推动项目的前进,通过搭配工具来进行有效的协作已然成为软件开发的标配,这一点国内的发展仍然是滞后的,在面试中经常遇到说项目管理工具就是SVN的。

最基本的工具有两个,任务管理工具和代码版本管理工具,所有的产品功能、问题列表都应该划分到具体的任务中,抛弃掉人的记忆吧,那是个不靠谱儿的玩意儿。而代码管理工具可以从容的进行代码变更和服务器部署,再也不要被FTP上传文件耽误了一杯咖啡的时间。

工具也是用来解决复杂度问题的,一个中大型的项目,功能模块都是可以划分优先级和不同阶段的,每个功能在每个阶段的实现度,靠大脑是很难想象出来的,通过二维的表格或者好的story mapping就能很好解决好这个问题,不适用工具,很难想象windows这种大型系统如何开发出来,有兴趣的可以翻阅人月神话关于开发协作的章节。

精神

精神这个放到最后不代表不重要,一个良好的团队必定是积极乐观的,沉默或者消极都是下坡路的开始。

前两年跟一位澳洲的程序员合作,他跟我说了很多次happy coding,这不仅应当是工作的情绪,更代表了一种态度,乐观的看待遇到的问题,积极寻找更多的思路和方式去尝试解决。

想明白工作与个人之间的关系,工作是一种对自己的尊重,不求有日本匠人的精神,至少能积极处理工作,严谨对待波折。消极敷衍是对生命的最大浪费。

是的,最后仍然是个硬广,我们还在寻找优秀的PHP开发和前端开发的小伙伴,欢迎推荐。

翁玉礼

2016年11月25日

公众号

转载于:https://www.cnblogs.com/wengyuli/p/team_work.html

软件外包故事 - 加入团队战斗相关推荐

  1. 软件外包故事 - 术业有专攻

    最近跟朋友聊天,发现有挺多人不大了解软件外包,最近的面试也遇到了谈外包色变的情况,似乎都带着有色眼镜去看待软件外包公司 ,我想以一个从业欧美外包五年多的程序员角色,通过几篇短文来带大家认识一下我们的工 ...

  2. 如何承接软件外包项目

    现在外包的软件项目不断增长,但随之而来的,承接外包的软件公司.软件团队也越来越多,包括很多个人SOHO一族也加入到承接软件的竞争行列中来了,因此现在对于软件项目的争夺也很激烈.有很多人不知道上哪里去争 ...

  3. 软件外包如何正确定价

    随着行业竞争激烈,越来越多的公司对信息化存在很大的需求,因而软件外包业务近年来始终保持了较快增长速度.从这几年的统计数据来看,软件技术服务始终以高于行业平均增长速度增长,软件外包的市场也相应地在不断地 ...

  4. 程序员如何承接软件外包项目(转)

    本文转自:http://www.freelancer-life.cn/basic-knowledge/coder-project.html 本文内容虽然09年写的,但是对我感觉还是有价值. 现在外包的 ...

  5. 程序员如何承接软件外包项目

    现在外包的软件项目不断增长,但随之而来的,承接外包的软件公司.软件团队也越来越多,包括很多个人SOHO一族也加入到承接软件的竞争行列中来了,因此现在对于软件项目的争夺也很激烈.有很多人不知道上哪里去争 ...

  6. 怎么找一个靠谱的软件外包团队?

    软件外包团队是否靠谱,归根结底还是看客户本身的需求,准确点说是客户需求与外包团队的能力和经验是否匹配.比如,做一个上百万的项目一般都会找对应行业解决方案的成熟公司,做一个几万块的项目就不必了. 飞援作 ...

  7. 为什么软件外包不再“起作用”了

    英文原文:Why Software Outsourcing Doesn't Work ... Anymore 本文转自:https://news.cnblogs.com/n/575023/ 我想为我的 ...

  8. 大型软件外包开发管理工具

    大型软件项目涉及人员多,软件代码量大,业务复杂,因此需要借助软件工程的管理工具进行管理,否则容易隐入混乱.今天和大家分享这些工具,这些工具比较实用,在实际工作中使用广泛,希望对大家有所帮助.北京木奇移 ...

  9. 敏捷软件外包的挑战和策略

    2005年8月我在麻州Vicor公司(半导体制造业)做了5年CIM软件工程师后离职回国,正式跨入中国软件外包行业,直到2014年12月,这一干就将近十年.下面结合这10年的外包经历和敏捷实践,一起探讨 ...

最新文章

  1. CentOS6.4安装nginx1.4
  2. 给出a的定义 -- 指针 和 数组
  3. 浅析CSS——元素重叠及position定位的z-index顺序
  4. 信息收集——Office钓鱼
  5. 程序员编程艺术第十一章:最长公共子序列(LCS)问题
  6. Web2.0网站性能调优实践(引用王宗义)
  7. redis实现排行查询及排序及分页
  8. 30个专业的电子商务网站,助您一臂之力
  9. WebRTC-NACK、Pacer和拥塞控制和FEC
  10. 领峰:个人如何投资白银炒白银有哪些方法
  11. 软件测试工程师要学习的基础知识,你知道多少?
  12. (Tekla Structures二次开发)操作梁的属性对话框的宏语句
  13. python爬取5442网站图片
  14. 世界银行公布各国1996-2018年GDP及GDP增长率
  15. 大数据处理——Java
  16. 淘宝商品详情页API接口|tb获取商品主图接口
  17. 发布产品并了解用户行为(1)
  18. 手机端的多图片剪辑上传支持手势支持预览
  19. 使用Objective C建立UUID
  20. file和folder的区别是什么?

热门文章

  1. 转行数据分析师后悔了?脱颖而出才是关键!
  2. ubuntu中PyCharm的安装与卸载
  3. OpenCV学习之视频读取与帧的提取、显示及保存
  4. 计算机无法查找新硬件,电脑弹出新硬件向导怎么办_win7开机显示找到新的硬件向导的解决方法...
  5. 怎么看c语言错误出在哪,请各位大佬帮我看看错误出在哪里
  6. php快速排序法远离,php快速排序原理与实现方法分析
  7. 非常全面的Android Bitmap知识点梳理
  8. Java创建MySQL句柄_MySQL创建用户(CREATE USER)
  9. python调用adb传输电脑文件到手机_使用adb在电脑和手机间传文件
  10. 电脑只有一个c盘怎么办_电脑的C盘快满了怎么办