有位年轻人很喜欢玉雕,每天都花大量时间练习,练习的石头用了一大堆,但作品总是差强人意,不是线条粗超、不够精巧,就是中规中矩、缺少灵气。
一天,他听说城里来了位雕刻大师,连忙上门拜访,希望能得到指点。大师听完年轻人的困惑,看着年轻人的作品,问,“你平时练习,都是用石头?”“当然是石头,”年轻人答道,“我只有正式雕刻时,才会用玉。”“从今以后,你用玉练习。”年轻人不解:“练习而已,刻废是常有的事,用玉岂不是太浪费、太可惜了?”
大师摇摇头说:“你已经掌握了雕刻技巧,之所以雕刻不出满意的作品,关键在于你的态度。用石头做练习材料、固然便宜,可也正因为便宜,你每下一刀,都少了一分谨慎、多了一分随意;而用玉作为练习材料,虽然贵很多,可也正因为贵,你下刀之前,会冥思苦想,每一刀都会力求审慎。这两种练习方式,哪种会使你精进呢?”年轻人恍然大悟,此后开始用玉练习,终成有名的雕刻大师。
一名雕刻师在玉料上所下的每一刀,都是不可逆的,减少了的玉料就是减少了,不能再增加回去。在惜料与雕刻之间,常常是下刀之时多一分为过,伤到玉料;少一分不及,艺术效果大打折扣。好的雕刻师就是要找到一个最佳的平衡点,为自己的每一刀负责,本着一颗对玉石的敬畏之心,化矛盾为美。
做软件则不同。软件开发项目最大的特点就是不确定性。虽然现在吸取和借鉴了很多在各种工程项目中行之有效的原理、概念、技术和方法,但软件产品质量、软件项目实施效果仍然差强人意。并非因为我们不努力、不勤奋,而是缺少了一份“这就是最终作品”的敬畏感。
一方面,软件项目的乙方,还习惯于经验管理,项目管理不成体系、随意性大。
面对甲方模糊不清又变化无常的需求和日益临近的交工期,没有耐心去精雕细琢。反正项目难以按计划进行,就懒得认真制订可行的计划。缺少深入周密的系统分析和架构设计,软件开发人员的每一行代码都以快速完成模块功能为目标。软件复用,对开发人员而言只是简单的复制粘贴和修修补补;敏捷开发和极限编程,更是让开发人员陷入“匆匆上线再改来改去”的误区。
和修房子造大桥不同,软件项目可以随时随意地修修补补,外面也看不出来。实在不行了还可以推倒重来,反正损失的只是人月成本而已。只要最终能交付验收,产品质量究竟如何没有什么关系。况且还有后面的运维人员背锅,还可以用良好的服务态度来化解一切矛盾。
另一方面,问题的根源,还是在甲方。软件开发需求的多变是必然的,但核心还是围绕甲方的业务需求。
首先,甲方对自己的需求缺少思考和把握。甲方忙于自己的业务工作,很少能静下心来想清楚自己的软件需求。自己都不知道自己想要的究竟是什么,甚至连为什么要这个东西都不清楚,又怎么可能让乙方明白自己的想法。即使乙方辛辛苦苦拿出各种设计方案和解决方案,甲方也只能提些无关痛痒、不着边际的意见。
其次,甲方对乙方的选择缺乏以我为主的深入比较。甲方在进行软件项目外包时,往往只是听取各家公司的介绍,面对厂商玄之又玄、天花乱坠的介绍,只能是云里雾里。要么看看厂商的实力、要么看看同行的案例,往往忽略对方产品和自己的业务贴合程度。
再次,甲方对整个项目实施过程缺乏关心。甲方对自己的信息化缺乏长期规划,即使有规划,也会因为建设资金等问题难以严格按规划实施。往往是“一把手”提出了问题,才急急忙忙开始实施,关心的是最后的产品交付而非前期的咨询设计和中期的开发测试。甲方对软件开发项目认识不足,一个东西从无到有,需求往往一开始都是模糊的,随着项目的发展和反复的沟通,才能逐渐明确。但甲方往往对项目实施过程漠不关心,直到产品上线交付使用,面对产品的种种问题,才开始抱怨。
归根到底,甲方对软件项目缺乏敬畏之心。把问题简单抛给乙方,产品不行就换产品,乙方不行就换乙方,折腾。无论是企业还是政府部门,单位业务作为组织的核心事业,就好比组织的孩子。开展信息化建设、实施软件项目,就好比为自己的儿子找一个媳妇,为自己的女儿招一个女婿,要根据自身条件和业务需求想清楚评价标准。
婚姻大事,都会有敬畏之心,审慎以对。我们不会只听媒婆的一面之词,就把婚事定了;如果一开始看重的是相貌好、身材棒、家庭条件优越,婚后就不要抱怨对方难以沟通、性格不合;婚后还需要持续经营,才能共同成长、共享幸福。婚姻如此,做软件项目亦如此,“互联网+”融合升级亦如此。