是谁动了程序员的尊严续-也谈谈软件开发团队的管理
点题:是谁动了程序员的尊严? 其实质是对一些遭受挫折的程序员的勉励,对热爱技术的肯定,以及小部分对以前疯狂追求技术状态的缅怀。和管理一毛钱关系都没有。居然在回复里有小部分人拿管理手段和管理艺术说事,弦哥想说的是本质上无所谓有什么管理,核心或中层人员往往目标明确,很大程度上是自我管理,底层人员其实只需要扔几个管理工具即可,不起决定性作用。打个比方:你第一个次和MM开房,装13的人会告诉你那是艺术,需要很多技巧和花招,弦哥只会笑而不语,临走前告诉你:“跟随你的心...”。结果是明显的,如果你听信前者,必然导致你心中杂念太多,手忙脚乱,折腾一个小时之后一事无成,最后被MM一巴掌扇下床...管理就像独孤九剑,一旦你就“招”就会被识破,一开始就输了...
是谁动了程序员的尊严? 里谈了作为程序员和技术人员应该积极的去面对一些挫折。相应的这篇是谈作为技术团队管理者应该思考的一些问题。 首先我是比较不喜欢“管理”这个词的,因为没有谁会喜欢被“管理”,开始我以为是我放荡不羁的性格和无知者无畏的草根情怀所导致的...后来接受了一些关于所谓管理的正规训练后,这种感觉反而更加强烈。
对于所谓项目管理,我大概有这些学习背景,公司培训的:MBA全景教程,欧洲商学院系列,高级项目经理考试,PMP考试,还有时代光华的那些诸如领导艺术之类的,世界500强流行的什么MOT之类的培训(也可以说是洗脑...)这些虽然我都不是太感兴趣,感觉这些都是西学中的术,个人比较推崇国学中的道,但也不是很排斥,基本都过了一遍;自己看的:《人月神话》,《软件工程》,《敏捷开发》,《代码大全》,《软件开发随想录》,还有些不入流的等等,JavaEye的软件开发和项目管理版也爱没事看看;人文方面的:各种中国正史野史不全的(明史正儿八经的看过正史,主要高中的时候受韩寒和《万历十五年》的影响),杂七杂八的各种儒释道粗略的,诸子百家中显学大概的,西方哲学简要的...所以可以看出我应该不只是一个会写代码和好色的偏激狂....-_-b,下面言归正传,来谈谈“管理”:
1.首先对于软件开发团队来说根本不存在严格意义上的“管理”。你从敏捷开发就可以看出来,敏捷只允许你团队中有1个,不超过2个的新手。对其他的团队成员的要求基本是从技术到职业素养的全才。很多人在研究敏捷,什么结对,扁平结构,站立会议....那些都是术,都是花招...。比如你10人的团队 没有8个神一样的程序员那都是白瞎...。而神一样的程序员还需要管理吗?我承认敏捷里有非常多优秀的思想和实践,但若放到你自己的团队里玩,我觉得更多的结果是悲剧,喜剧是因为你真的非常幸运,你的团队成员足够强大,和你管理水平和敏捷真的一点关系都没有...
2.而现实的情况是,一个10人的团队中只有2-3个骨干程序员。他们解决了整个项目80%的问题,剩下的7-8个程序员无关痛痒,他们机械的去写一些有完整技术解决方案的模块,最坏的情况是这7-8个人解决不了任何问题,还会在原本成熟的解决方案下制造一些问题。这段可能很多人不爱听,但不能否则这是事实,同时也自问自己在团队中的价值。其实你看很多牛X的大产品其实都是由个别的几个牛X的技术人员写的,团队其他人基本都是打杂的,国内外都一样。
3.谈到这里,作为一个团队Leader你应该清醒的意识到你要做的事情首先是对于骨干程序员来说的: 最次的让2-3个骨干程序员不会认为你是个不懂技术的蠢货,较好的是让他们觉得你在技术上是有建树的,最好的是用你的人格魅力感染他们。
4.对于其他的7-8个程序员,适当的技术培训是必要的,但不应该对他们抱有太大希望,这样大家都会很累。既然他们想成为码农就让他们当好了,个别能脱颖而出的可以重点培养。
5.管理工具和管理技巧:不要让大家觉得在被管理,没有人喜欢被管理。你可以先给大家介绍一个比较前卫的管理工具,然后说我们大家来玩玩这个管理工具,看看咋样。如果效果不好,大家不会觉得你的管理水平垃圾,只会觉得这个管理工具不好玩而已;如果效果好,那大家就Happy的玩下去,最后你会发现 你的团队成员完全没有感觉在被管理,但其实你团队里的管理工具和管理方法真的是一大堆,有时候你自己都会觉得比较烦,但大家还乐滋不疲....人力资源部的来评估你部门管理水平的时候会着实吓一跳...
6.对于一个团队Leader或公司技术总监是否应该深入了解技术的问题,我想是没有什么必要讨论的,这是必须的!对于公司来说,你决定的技术方向决定了公司未来几年的产品和战略,如果你对技术一知半解,那是不可想象的,足以搞死整个团队甚至是公司。比如让一个技术水平一般的技术团队使用MOSS作为平台进行开发,比如老板被微软,IBM那帮所谓首席科学家忽悠的头脑发热想大搞云计算中心等等...往小了说,你不懂技术就意味着你无法真正掌握项目的进度,那些所谓的项目管理工具都是浮云....连项目进度都掌握不了的项目经理?还是项目经理吗?
7.你想说我有一揽子的管理工具,但我只需要一个问题就可以破解你那不需要技术的管理神话,项目做到一半,遇到一个技术问题,所有的技术人员都告诉你不能解决,你怎么办?怎么保证工期?外包?外援?那只会使你的项目风险更大,更加不可控 我们都学过的是吧? 问题在于由于你技术的缺乏导致你的技术风险预知能力下降,技术解决能力基本为零,你在大家面前是个十足的蠢货....
8.我们经常看到一些团队的项目经理的很多问题和抱怨,我说解决问题的方法和简单,你把代码实现就可以了嘛.......你会实现而不去实现,和你压根儿不懂实现是有本质区别的。就像流行的“技术不重要,思想才重要”,这句话是给懂技术的过来人说的....代码都没写过10万行就拿这话来说事是可笑的。
9.在公司里,没有带团队做3个以上真正成功的项目之前,先把你的任何关于公司和团队的想法意见保留起来。就算你在那个职位,也不会有太多人听的进去,实力和尊重是靠事实证明的。
10.真正给公司赚到钱,也让大家看到你的人品和实力之后:对非技术的领导强调技术,对团队技术人员强调需求。
总结:大道至简! 不要过于迷信西学的那些管理工具和管理技巧,除非你把西方哲学和文化的历史好好学一遍,否则你只会邯郸学步,不得要领。也许你回过头来看看咱老祖宗的那些东西,反而会豁然开朗呢?
举个例子:软件开发中的面向对象和面向过程的两种开发方式最早可以追溯到亚里士多德(貌似在我们的教科书中他就是个该打倒的学术权威..)的分类和逻辑两种认识世界的工具...其实这也是西方科学的根本,想当年我们学编程的时候那个云里雾里啊...点破之后其实很简单是不是?什么一切皆为对象,什么至上而下...说白了就是分类和逻辑。有时候我们会标榜面向对象而鄙视面向过程,其实很愚蠢是不?
再比如现在量子物理学算是走进了唯心主义的死胡同(当然也有平行宇宙的说法..)...居然观察会影响客观结果!但其实孔子对于占卜早说过,你不要算,在你算的一瞬间其实结果就已经变了(不占而已矣)。真的是和电子的波粒二相性一样一样儿的啊...
当然!这些“思想”固然重要,但请不要忘记踏踏实实写好你的10W行代码先...
也许有朋友会问,你上篇说的那种有亮剑精神的团队呢?比较遗憾现在在一个比较大的公司,在一切都需要看财务报表的公司文化里不允许我那样搞,大公司很多事情也更复杂需要考虑更多。而且那种需要我投入极大理想主义精神,精力和感情的团队貌似也不太适合我这个快当孩子他爹的人。谨以文送给我那牛B的亮剑团队和团队里的兄弟们。
作者: 传说中的弦哥 发表于 2011-11-28 23:00 原文链接
最新新闻:
· Windows Phone Power Tools(2011-11-29 10:40)
· 佳能相机掉入海底一年 Google+找回失主(2011-11-29 10:37)
· 细数Google搜索进化史(2011-11-29 10:31)
· 白首不相离 惠普CTO称退休后继续推广WebOS(2011-11-29 10:28)
· WP7入华 微软借道苏宁(2011-11-29 10:25)