软件质量小谈

最近学习的东西好多好多,毕业这么多年来,为数不多的集中学习的时期,很忙但很充实: 抽空认认真真总结后,和大家共勉。

计划好每周一篇博客的,除了国庆节,自己给自己放假了,不写还挺难受的–违背自己的初衷呢。

针对软件质量这个大的话题写点东西,刚好几天前和同事聊天:“你这么大了,工作这么多年了,还犯这么严重的错误”

(c.TCH_TRAFFIC<0.25 or c.TCH_TRAFFIC=0.3)

“这是你写的sql中用的条件”

“真够可以的”

“还好意思笑”

“还以为你写的代码能可靠一点”

“原来也糊弄人呢”

“这要让张总看到,能说你一年”

做过软件开发的都知道,没有谁自己主观去写这种类似的bug,即作为程序员的个体是“无辜的”,但是从后果上看,发现的自然要严重的处理的,该扣绩效扣绩效,该打板子打板子,没有啥说的, SVN提交的,人赃俱获,故服。

我这几年在思考的是,为什么敏捷、TDD、结对编程能大行其道,而不是依赖1、2个高级软件工程师:自己设计、自己编码、自己测试,依靠所谓的责任心把软件质量踏踏实实的搞起来。

透明、阳光、过程受控能使得团队动起来,配合起来,各司其职,减少某人、某事、某时的错误,即用团队机制把软件质量提升起来,这个是我一直要思考的话题,还需要多多的努力呢。

员工离职引发的思考

每一次人员的变动,均属一次异常的危机管理,能够很好的处理这些矛盾是考验团队一个非常重要的节点:总结、积累;再总结、再积累。

  • 上策:成功挽留。留职1年以上。用钱、职位、期望等作诱饵,打开他的心结。
  • 中策:和平分手。阳光状态交接完毕,悄悄走人。
  • 下策:报复心态。大嘴巴,对内暴露薪资水平、领导的小道消息等。

离职的事情,微妙玄通,深不可识。然,通过一些规律,还是能察觉出员工满意度这个的苗头的。往往高强度的研发任务周期,会导致较大批量、密集的报复性离职潮(定义:同时期,群体性离职>=3人,非春节高峰期)如,怀柔6.15项目,西安FOA项目。 员工的情感账户透支四大行为:

  1. 长期加班:新项目,明显的缺人,不记后果的赶进度导致。
  2. 出差宿舍:对于开发人员,强迫出差宿舍。蚁族乎?
  3. 行政失误:报销流程奇慢,票据丢失。和基层员工沟通,爱理不理的态度。
  4. 薪酬差距:标准模糊。西安和北京差距超过20%;内部员工间差距过悬殊。

  而加班是由于团队效率不高导致:

  • 公司方面:没有给予人员及时培训、项目管理分解不到位、硬件配置过低。
  • 员工方面:缺乏学习上进心,自我总结少,团队成员间分享的少。

无论哪方面的原因,结果均导致了团队的整体绩效产出低下,并形成恶性循环:如,2h的工作,员工需要工作了3小时。 在公司角度,按照2小时支付薪水。 在员工角度,3小时工作,才发2小时钱。 于是乎,员工内心积累了不平衡一些原罪。 来的来,走的走,人员更替,走马换将。   任何公司,任何时候都缺人。 故: 好水平的人,不愁找不到好工作。 好水平的人,不愁找不到好公司。 好水平的人,不愁找不到高薪职位。 衷心希望离开的同事们,开拓格局:在薪水节节升高、公司阅历逐年增加的情况下,最大化的能够复用以往的人脉、业务、技术、管理。 因为,从开发角度看,提高产出率最大的是加大复用度,故做人也同样道理吧。

研发团队管理土鳖术

在研发团队管理领域,我经历或认识朋友的经历中,大多属于“土鳖术”:程序员->高级程序员->开发组长、项目经理、研发经理->。。。即,大部分人是从一行一行代码写起,“学而优则仕”发展起来的。鲜有人毕业MBA、管理学、心理学后开始做研发团队管理(至少基层团队没有)。 具备基层群众基础,能够把队伍带的更好 在研发这个高智商群体中,牛人们大多桀骜不驯,需要的leader类型为“无冕之王”(有扎实的一技之长) 很少有专业培训,即一个人的升迁往往是从称职往上提,变为“不称职”,继续再修炼,才能称职的良性循环。 正所谓:师傅领进门,修行在个人。一些曾经间接帮助我入门“师傅们”: 《余世维南京邮电讲座》:2003年,非典,在大学宿舍和同寝室一块分享,11集rmvb视频。截至目前,我累计看过3遍,至少。一个职业经理人应该具备的:积极、主动汇报意识,和团队打成一片,自我持续学习能力,不找借口… 这些使我获益匪浅,很多已经溶入习惯。 《角斗士》电影:2004年,第一次看的,觉得很牛X,据说我们有的同学当时都看了7遍;我截至目前,断断续续看过了3~4遍。 一个leader具备的:

  1. 前瞻性思维:进攻的时候不要再思考人才、资源短缺,招聘话题,更不用提狗屁制度、质量、团队建设。这些需要事前做好,进攻号角一旦吹起”hold the line, stay with me”,便可攻无不克。
  2. 逆境生存能力:在军团能够作为北方统帅;在角斗士奴隶监狱,也能够率领一群松散组织的角斗士完成一次又一次的逆袭。

遗憾的,角斗士电影的情节段子是假的,这个是在看《罗马帝国衰亡史》中发现的,除了作恶的弑父夺权登基、2年后被刺,这个历史真实外。

研发“副业”解决方案杂谈

故事一: 放牛班的春天是个不错的非美国文化背景的电影,值得看2遍: 一个“过气”的音乐家,落魄的当了一个代课老师: 一个-学生杂乱、淘气捣乱的学校教书半年的事情;经过半年的”教化”成就了一位伟大的音乐家和所有学生心目中难以忘怀的童年记忆。音乐家用大合唱音乐填充了这群“坏学生的”精神世界,以前他们被管教的逻辑是:犯错、惩罚。 故事二: 老子第三章:“不尚贤、使民不争;不贵难得之货,使民不为盗;不见所欲,使民不为乱。是以圣人之治:虚其心、实其腹、弱其志、强其骨;恒使民无知、无欲;使民知不敢、弗为而已;则无不治。” 这里面虽然有封建糟粕的东西,但也有可借鉴的东西:管理知识。 有人曾经说过:在一片荒地上,把杂草除掉最持久、最有效的办法是撒上农作物的种子,慢慢的随着农作物成长,杂草就失去空间了,自然就被消灭了。上面的这2个例子间接说明了同样的道:放牛班采用的“犯错、惩罚”,虽然非常有效,但是无法根除杂草。 同样,对于治理国家,“虚其心、实其腹、弱其志、强其骨”同其理。 他山之石、可以攻玉:在团队管理协调上,要与时俱进的制订一个较长期的方案,然后持续推进,以期取得较稳固的效果: 如研发人员日常工作可以分为如下2大类: 主业:工作范畴内容、即每日8小时以内的工作。 关键词:重复、质量、负责 副业:工作外东西,即在不忙的时候和8小时之外延伸。 关键词:探索、兴趣、修炼 为了实现主业进步,可以通过项目管理、敏捷、CMMI5、精细化管理等等等先进方法论来推进,这个有现成并可以移植的方案,且boss比较支持。为啥? 立竿见影,来公司不是干活、出成果的嘛! 副业应该属于个人隐私范畴的,你管这个干嘛! 然,由于研发人员属于高智商人员、属于高成本投入,不是机械的搬用工衡量,故难以按件计费付薪酬。 更多的需要个人主观能动性、沟通的勇气和团队氛围来提高质量和团队整体产出。 目前的隐形困境是,主动、持续、积极学习的人少,自由散漫、上网的人多;不组织不主动,导致整体研发思想、技术水平提高不明显,逐渐团队中聚集了一些不良习气。担心,时而久之则会酿成“大祸”。故用读书、学习、进步来补充副业,虽然30多本书能够快速转化到目前项目的不到10%, 但是却贯穿了管理思想、编程实践、设计架构等多方面; 为整个团队形成一个“副业解决方案”: 长达1年的课程列表,好玩、有趣、生动。 谷歌据说员工用20%的时间做的副业,后来反倒演变成为了占据谷歌60%的产品利润的东西,不知道真假;想来无他,其调用了积极性、兴趣。 而在IT行业,这种转化的潜能是惊人的!

数字趣谈四年成长历程–OSS系统研发

风华正茂的四年,一晃而过,

转眼间又到5月20号了。 其间,成长颇多,有业务方面的、技能方面的、也有管理心得,总之成功的从人生的30岁这个坎上迈了过来,下面用一组数字趣谈:

l -60%: 当初面试我面试官先后有5人,目前名字在册的剩2人。

l -100%: 当时部门坐落在美丽的北京西山脚下,一进门有一缸“宝莲灯”鱼,很漂亮,去年去京发现鱼缸已经水干很久了。

l -100%: 2009年5月份公司股票15元左右,2013年5月份股票7元左右。

l 150%: 家庭人口增加,刚入职尚是新婚燕尔,目前儿子已经2.5岁了。

l 200%: 当时base在北京,目前包括西安和北京2个地方。

l 200%: 从了解TD-SCDMA、GSM无线业务,到现在扩大到WCDMA、CDMA EVDO

l 300%: 刚入职数据库不太了解,目前能用Oracle、Informix、Sybase做点东西。

l 400%: 当时.net应用层仅有一个组,目前已经扩展为4个组并行了,全电信运营商。

l 500%: 入职时,干部只有一名,目前有5名认证干部。

l 600%: 出差走过的城市:哈尔滨、石家庄、西安、太原、长沙、合肥。

再说2个最吧:

l 最引以为耻的:2009年的A***项目,单机版,到底是用文件数据库还是采用单机版数据库,5人评审,4:1(单机版数据库 : 文件数据库),因为我刚入职1个多月势单力薄,文件数据库方案被无情的pass掉了。 而4年后看,因为采用了单机版数据库方案导致用户在安装阶段是重灾区,而我作为一个曾经的实践着感到耻辱。

l 最引以为豪的:2011年回到西安,东拼西凑了西安规模的10个人的开发团队。据不完全反馈,曾经的同事们说“你们西安的这批人都还行”。 且,自从转正后,截至发blog为止没有一人离职,创造了小组开发团队人员稳定的新里程碑。