软件质量小谈

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

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

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

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

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

“真够可以的”

“还好意思笑”

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

“原来也糊弄人呢”

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

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

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

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

风生水起:我用过的IM工具

p>    不同的企业,有不同的文化,也有不同的沟通方式。

  1. QQ: 2000年开始使用,95%的联系人是见过面的人(约10%是同事)clip_image002  风生水起:我用过的IM工具 clip image002 thumb 中国最火的IM,没有之一,据说用户数超过7亿。尤以其QQ群、QQ空间、QQ微博、QQ游戏等一系列附加值著称。QQ的模式,在 IT业内算是一个标杆: 主业务不挣钱,大把大把的投入资源;而附属业务则实现了火箭般增长。据说QQ公司内的创新文化是3~5个人,2个月的DIY小项目,可获公司层立项,从而快速出demo,抢占市场。正是因为这样灵活的研发策略,使得QQ这个小企鹅10年来,依旧强健无比。
  2. MSN:2005年开始使用,90%的联系人是同事。clip_image004  风生水起:我用过的IM工具 clip image004 thumb 当年,可以说MSN属于北、上、广;外企的“标配”。“高端、大气、上档次”,其登录的立体小人非常cool,登录过程还要360度转几圈。MSN辉煌的时代,真实微软在IT业内独占鳌头的时代,一家独秀。然,微软2012年宣布,2013.4月使得MSN安乐死了—微软为了力挺其12亿美金收购的SkyPe权威地位。 故MSN目前只能算是一个历史记忆了。
  3. Skype:2007年开始使用, 联系人很少( 2012年底从MSN倒过去了几十个)   clip_image006  风生水起:我用过的IM工具 clip image006 thumb   刚开始使用的时候,它还没有被微软收购。其有2个优点:语音聊天、拨打电话。Skype目前是微软旗下的王牌IM,为了它的市场布局,微软自宫了MSN,不过,目前不太火。 其未来发展得看Win 8.1和WP 8.1市场的推进。
  4. 飞信:2007年开始使用,90 %的联系人是同事 (移动电信行业IM标配)。clip_image008  风生水起:我用过的IM工具 clip image008 thumb 刚开始是因为能够免费发短信(移动手机注册),这个功能非常让人兴奋。 再后来,因为做的项目是移动的,故同事、客户90%以上选择了飞信用来沟通。故,飞信对我而言,属于每天必用的软件(2009年到2013年)。
  5. GTalk:2008年开始使用,日常的联系人约10人(截止2012年底)。clip_image010  风生水起:我用过的IM工具 clip image010 thumb最近几年年,GTalk火了起来,可能是随着Google Android系统的内置Gtalk吧。但从用户体验上看,它比飞信、MSN、QQ要“差”–至少登录UI掉渣级的土;传文件、传图片等常用功能也不尽如人意。 

但随着时间推进,我发现Gtalk好像还有一些优点:

  1. 聊天记录:因为“三屏一云”后,多个终端通过GTalk聊天,能够浏览完整的聊天记录,且不用付费,这,确实很爽。而同样功能QQ是要收费的。
  2. Google Group:接触邮件组,是在2006年,那个时候公司内部好像还很流行。但是随着组织的急剧扩张,导致出现内、外部大量的群发邮件。后来公司某个政策出台,解散了邮件组这种形式。那个时候的印象是:邮件组很土。   而随着最近2年西安软件园的一些活动,我订阅了3个邮件组,发现这个玩意有它的优点:免费保存记录,熟人圈子等。
  3. Gmail邮箱:使用Gtalk的,一般都有对应账号的Gmail邮箱。这个功能确实比较酷,IM和邮箱实现了彼此的互补。 如,IM实现短、平、快;邮件辅助实现:长、博、稳。
  4. 日历提醒: 整合了时间管理的元素。如预定会议,某某重要的事情提醒等等。

总结:上述的5个IM工具,没有绝对的好坏、黑白之分。 相反,同质化好像日趋明显了。 如,凡是其他IM有的功能,QQ未来也会有。仅从中国市场看,QQ的生态圈子最好的,其市场很强:小马哥通过它美美的挣了很多钱!

研发团队契约之:流程与管控

      在过去几年的研发工作中,工作流程和产出物管控应该算是研发内最重要的2点了, 这个算是大家心知肚明的契约吧。 虽然,人人明白其重要性,但依然被屡次违反之。如9月份竟然出现多人、多次违反。 如,出现非常令人沮丧的事情:即不按工作流程办事,产出物不进行管控。

  • Excel统计与BugFree流转

在IT团队的日常工作内,大多问题需要多人流转处理:即随着系统的庞大,分工越来越细,至少需要2人流转才可以使得问题的处理有条不紊、效率提高。

如流程的处理,在2012年,曾经要求任何输入研发的东西,必须有ID,即通过BugFree、QC、问题平台、需求平台等公司内部流程处理,而不是通过飞信、邮件来流转问题。

而Excel适用的场景是统计、透视图、图标数据分析、展示,一个人整理,其他人看;超过2个人交互,通过标记颜色、备注等等,用不了几天,就会乱成一锅粥。 因为处理问题的过程,需要时间、描述、截图、步骤等细节信息,这些对于Excel来说无力实现的,我曾见到n多人员借口说,通过Excel整理问题清晰,易于统计,跟踪… 但是在研发内部流转,Excel则是噩梦一样—每次都是。

即:

流程还可以使得整个团队“动起来”,实现管理成本最低、效率最高。

流程还可以使得问题、需求有规律的ID化,后续回溯或成本采样更有据可查。

流程还可以使得人员培养效率更高,找全能型精英的难度太大,成本太高。

  • 代码拷贝与SVN管控

研发的2个主要产出物:文档和源码,必须通过类似SVN工具管控起来,严格禁止通过飞信、邮件等途径“私下”传播。 无他,为了节约成本和提高团队配合默契度,增强版本意识和协作责任心—文档仓库、源码仓库。 据说有的配置管理员还要给里程碑打上基线、TAG标签等,使得配置管控更加严肃有效。

你知道吗?

为了合并未管控的2份源码,我死了多少脑细胞,而这些本是仅需一次性做好而一劳永逸的。

为了区分未管控的2份雷同文档,我废了多少眼神去前前后后上下文搜,生怕错过了些什么。