软件开发也一样。即使我们有再好的创意、再先进的理论知识,如果没有加入很多成功的最佳实践(Best Practice)和团队之间的协作,也很难做到尽善尽美。因此,很多人也把软件当作是个艺术品来看待,把软件开发当成艺术创作。
从工艺到品质,是一个追求完美的过程。陶艺如此,软件也是如此。两者区别在于,软件的最佳实践很难挖掘的。
一年一度的“IBM developerWorks Live! China ”,是IBM公司特别为软件开发、设计、项目管理人员提供的一个言传身教的机会:除了与两位大师(Rational全球服务部门的副总裁Walker Royce、IBM软件集团市场副总裁Marc Dupaquier)零距离接触、50余场技术讲座学习“软件IT项目管理”前沿理论外,还能体会“软件开发工艺”的内涵。
重技术 轻管理 传统项目管理受限
项目管理在很大程度上强调的是团队的协作意识。在项目管理过程中,技术固然重要,管理更是避不可少。“正所谓 三分技术,七分管理。”IBM软件集团宋家瑜说。
就在“IBM developerWorks Live! China 2005”开始的前一天,IBM请了中国国家举重队的陈教练来做内部培训,“当管理上轨道的时候,就要注意更多科学化的训练方式来增加选手的潜力。就算选手的潜力再大,如果管理松散,那还是不行的。”这让宋家瑜想起了项目管理。一个项目的成功,不仅需要很多才华洋溢的开发者,更需要营造一个良好的管理环境,让团队按照标准的管理环境去创作,才能成功地完成这个项目的开发。
国内软件企业从很早以前就开始兴起“项目管理热”。在过去的几年里,所谓的项目管理大多是一个工具足矣,管理意识十分匮乏。随着软件开发项目越来越复杂,当项目管理成了众多软件企业面临的棘手问题,也成了软件行业进一步发展的瓶颈的时候,传统的IT项目管理模式早已不能满足需求。
“在30年前用旧有模式进行软件开发的成功率只有10%,现在用最新的流程采用这种指导的方式成功率会进一步提高。尽管通过现在的开发技术我们可以达到30%的成功概率,但是我认为这其实还不够。” 从事软件项目开发、软件技术开发以及软件管理的工作长达十六年的Walker Royce 先生,现在任IBM软件集团Rational全球服务部门的副总裁强调到。
从这个意义上来讲,国内的软件企业要摆脱作坊式生产模式,项目管理是必修课。
重工具 轻经验 项目管理难逃失败
多项目、多版本、大规模的软件开发是软件开发领域的特点,而要想实现开发项目有效管理,真正达到按进度、高品质的软件开发,企业迫切需要实施高效的项目管理。采用前瞻性的理论,使用经过验证的方法,利用领先的技术产品,拥有高素质项目管理人才是企业实施高效实施IT项目管理的重要保证。这正是IBM所倡导的项目管理的概念。
IBM所提供的训练工具、方式,对开发者来说就是Rational软件,加上IBM现有的方法与经验,是项目管理成功的基础。但从国内目前现状来看,实施项目管理的成功率仍然很低,其中的问题何在?
对此,Walker Royce的解释是这样的:“做项目的时候,尽管团队是遵循一个正式的流程,但是做这个项目还需要跟客户实时交流,他们可能不相信你采用的流程,不相信你的流程可以交付这种高质量的产品。我们要把传统的产品改变成交互式的产品,让客户看到交互的结果,在这个过程中,可以获取客户的反馈,这样才可以真正的成功。”
从业务的角度来讲,如果是增量式的开发,就可以知道交给客户的东西是否真正可以满足客户的要求。如果企业的开发不可以满足业务的要求,就可以取消,从而保证开发可以推动业务发展。
一般认为软件开发、项目管理是一个技术上的问题,实际上技术的成分占20%,有80%的成分是艺术方面的,是模糊的、难以言传的。这些才是决定项目成败的真正原因。
技术 + 经验 工艺决定品质
软件开发是软件行业发展的基础和原动力,而软件开发技术和理论水平很大程度上决定着整个软件行业的发展进程。同时,软件开发是融合技术、方法、管理以及团队协作等众多因素的流程,是一项严谨的工艺。
开发工艺是否成熟,采用的工具、技术以及指导方法是否符合工艺要求,决定着软件开发产品的品质。
Walker Royce 强调,Rational是IBM的一道“工艺”,其最大的特点就是实现IT项目管理实时可见,监视和控制产品组合的风险、问题和资金情况,提升IT项目管理效率和准确性。
RPM作为IBM为提升企业IT项目管理能力提供的产品,它利用内置模型和工作流来自动化项目的组合过程,通过强化管理团队和交付团队之间的协作,获得整个IT和开发项目的全面视图,有效地提高了项目管理的效率和质量,保证项目进度,降低成本。
同时,作为一个企业级的项目组合管理平台,它将分散在各地的项目团队以及项目管理涉及的各个领域内容集成在一个统一的框架中,并通过多维的可视化界面显示项目和项目组合的健康状况以及与企业商业战略的一致性,为管理层的投资决策提供实时的支持。