目前,软件开发项目管理一直是一个令人困惑的难题,因为没有一种固定模式可以让程序员和项目经理参考。而微软为何能够开发出一个又一个成功的商用软件产品呢?这是业内人士非常希望学到的宝贵知识。
本次技术大会上,微软软件开发项目管理课程受到了开发人员和项目经理的追捧。微软亚洲研究院高校关系部亚太区项目经理栾跃和与会者分享了微软的宝贵的经验。栾跃表示,开发工具和编程技术在软件开发中的作用同软件项目管理相比是次要的,一个软件开发项目的成功,关键在于如何进行良好的项目管理,这是软件开发之本。
软件开发的挑战
软件开发可以说是人类历史上最艰难的工作之一。软件开发所面临的独特挑战包括由技术、人员、资源、时间等带来的风险和困难,市场的迅猛发展逼迫企业利用各种背景的开发人员,软件复杂性的增长以及大型系统对领域知识的要求使得多人合作和团队式开发模式成为必须,商业模式要求开发过程必须可重复,很多开发公司或团队仍旧采取小作坊式无规范的任意性管理和运作方式。
在软件开发流程方面,到目前为止,还没有一个放之四海而皆准的标准。世界上没有一个模式和管理方法可以确保能够开发出成功的软件。栾跃表示,包括微软在内,都处于一个不断学习和摸索的过程中。很多软件公司的管理处于“救火状态”,哪里出现问题,就补救哪里。
缺乏完善的项目管理使得开发出的产品无法满足客户的全部需求?开发项目拖延,导致无法按时交货;出现质量问题,导致客户不满;产品完成,但项目费用严重超支;由于计划安排不当造成延迟,导致以加班方法来补救。
开发项目成功与否并不仅仅基于技术原因。有优秀的软件开发人员和高超的技术,但没有良好的项目管理也是不行的。
很多软件并没有实现客户所期望的功能,这也是一个相当严重的问题。产生这些问题的原因是多方面的,比如没有完全了解客户需求,采用的技术和商业指标不相符或团队之间缺乏良好的沟通。任何一个问题都会导致项目失败。在沟通层面来讲,团队成员之间需要一种工具把工作串联起来。而团队领导,能否对项目进展进行良好的追踪也非常重要。
对软件开发实施管理
那么如何避免失败,提高成功率呢?栾跃表示,培养和提高软件开发管理能力,学习软件开发项目的基本知识,在团队中培养和使用从事项目管理的专业人员进行开发管理,在企业内推广良性的开发管理运作流程,免除运作的随机性和任意性,建立可重复性的操作,建立开发历史的数据档案,逐渐为团队建立一套严格的开发流程的规章制度等是提高软件开发成功率的要素。
此外,软件开发需要能够尽早地发现错误,改正错误。错误发现得越晚,对于软件开发造成的损失越大(参见附图)。例如,如果在需求分析阶段发生错误,那么最多就是把需求分析写一遍。损失的是一个人的劳动,而如果到了测试阶段发现了需求错误,再回去重新做需求分析,那么损失可能是致命的。
软件开发工作需要三大支柱,首先需要最基本的技术和技巧,这是具体的开发工作,包括软件架构和编码工作。其次是团队的协作,现代软件开发需要大量技术人员,如何很好地协作是一个巨大的挑战。最后是现代化节省型生产模式的运用。通常人们容易忽略第二、第三项,这也是项目经理需要引起重视的要点。
软件开发项目的成功需要整个开发部门使用统一的管理工具,各个开发团队能够进行高效的沟通和协作,各个开发团队按照统一的运作流程进行操作。这三点是绝对不可缺少的。
总之
项目经理胜任力免费测评PMQ上线啦!快来测测你排多少名吧~
http://www.leadge.com/pmqhd/index.html