《挖掘管理价值:企业软件项目管理实战》一1.7 软件项目管理的发展

本节书摘来异步社区《挖掘管理价值:企业软件项目管理实战》一书中的第1章,第1.7节,作者: 徐勤 责编: 杨海玲, 更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.7 软件项目管理的发展

挖掘管理价值:企业软件项目管理实战
随着计算机和软件技术不断发展,软件项目管理也会日益成熟和广泛应用,未来发展主要有以下几个方向。

1.交叉学科领域
随着软件项目管理在工商业的广泛应用,它必定会和其他学科相互融合,如财务管理、色彩学、心理学、工业产品设计、人体工程学、劳动力管理、工业工程和工业自动化等。

2.管理工具不断涌现
国外的一些软件厂商已经嗅出了软件项目管理的商机,推出了一些专业的管理工具,如Primavera 公司的P6、Deltek公司的OpenPlan等。这些工具的出现,将有效地提高软件项目管理者的工作效率,使他们从白纸和白板中解放出来,并且使多项目管理变得更加容易和便捷。
**
3.软件应用与管理结合**
目前的软件项目管理主要还是以软件设计和开发过程为主,很少涉及软件交付以后的应用管理,如用户喜好、用户期望、工业应用集成、数据挖掘和业务再造等。未来,软件项目管理可以帮助企业重视和开展后产品时代的业务拓展和管理。

4.和本地文化的结合
管理者必定有本土文化情结,他的一言一行都受到文化的潜意识影响,随着中国从事软件项目管理的人越来越多,那么越来越多的本土文化元素将融入软件项目管理,甚至形成一套独特的管理方法学,比如在团队合作、市场推广、知识产权保护等方面大有可为。

5.商业智能领域
近年,商业智能成为一个新的热门领域,各大软件厂商看到其未来巨大的市场潜力,于是争先恐后地推出自己的解决方案和产品。商业智能不是简单的数据分析和数据报表,而是将现有的、分散的、孤立的和互不兼容的数据进行整合、挖掘、再造、智能化和逻辑化,以提供有助于管理决策的数据或部分替代管理决策,目前软件项目管理在这方面还是鲜有作为,未来将成为一个重要的发展方向。

6.新科技领域
随着新技术、新科技的涌现,如智能手机和智能设备,它们所运用的软件和传统的软件还是有一定区别的,随着未来市场需求逐步扩大,相信软件项目管理也将拥有一席用武之地。

7.更加精细的分工
软件项目管理工作内容冗杂,一个人在处理多项目或超大项目的时候就显得力不从心了,管理工作还需要进一步精细化分工。

(1)过程和事务管理。专门管理软件开发过程中的事务和流程,控制项目进度、任务分配、环节审批、质量保障等,处理好什么时候做事情(When)、事情由谁做(Who)、做什么事情(What)、事情怎么做(How)、做的结果如何(Result)。

(2)逻辑和业务管理。专门管理软件需求的逻辑以及和业务的关系,确保需求是清晰的、明确的、可逻辑化的,并且是符合业务价值的。这就要求管理者非常了解业务,而不是软件的技术和细节,他要确保的是软件的正确性和实用性,否则再好的软件也没有应用的价值。

(3)协调和沟通管理。专门管理内部和外部的沟通,包括用户、客户、供应商、关系人等,同时协调好矛盾和冲突,确保提供一个良好和健康的项目环境。管理者所要关注的是用户需要什么(显性或隐性的要求)、用户的喜好、用户的反映、用户的心理表现、是否有和谐有效的沟通和沟通的效果是什么。

(4)战略和风险管理。专门管理产品的方向、策划和市场,以及风险预防、评估和规避,管理者所要关注的是为什么需要这个产品,产品的市场和生命力在哪里,我们值得这么做吗,怎样才能做成功,市场是什么样的,如何开拓市场以及如果失败了怎么办,失败的可能性有多大,为什么会失败。

(5)项目审计管理。我们知道有财务审计还有信息技术审计,但是目前还没有专门针对软件项目进行的审计,或者说信息技术审计里面包括了一部分的软件开发过程审计。但是这还远远不够,相信在未来会出现专门负责软件项目审计的工作,其主要目的是督促和检查软件项目开展的过程中,需求是符合要求的、数据是真实的、结果是可信的、授权是合法的、事务是正确的。审计有助于从第三方的视角来提升项目管理的水平。

8.加强教育和人才培养
随着软件行业在中国的发展和崛起,对软件人才的需求会越来越大,同样对软件项目管理人才的需求也会水涨船高,未来各类高校会加强对这方面人才的培养。

9.建立协会,发展软件行业
我国已经有“中国软件行业协会系统与软件过程改进分会(CSPIN)”和PMI(中国)协会,但是前者关注软件的技术和应用,后者关注培训和认证,都不能很好地为软件项目管理的发展起到有益的推动作用,将来某种形式的协会可能会应运而生,为软件行业的全面发展服务。

小结
软件项目是控制软件开发过程和结果的特殊项目。软件项目没有显著的实体,其功能具有多变性,生命周期相对比较短,这些特性决定了其管理工作有着不同于一般项目管理的特点。因此,实行软件项目管理工作的意义就在于促成项目达成目标,质量得到保证。

管理工作涉及方方面面,纷繁复杂,我们应该抓大放小,抓住工作内容的主线,将过程、资源、质量、风险、知识、心态和效益联系起来,形成一个有机的管理模型,就可以做到管理的面面俱到。

软件项目主要有商业软件项目和企业软件项目两种,前者以商业销售为主,后者以企业内部使用为主。不同应用环境下的软件项目对管理提出了不同的要求。

敏捷开发方法的目的是增加适应性、提升开发效率和缩短开发周期,优化开发过程和工作方式,形成一套颇具特色的开发方法。其价值在于良好的可见性、灵活的适应性、显性的业务价值和可预防的风险控制。

软件项目管理从海外引进过来,尽管已经在国内生根发芽,但是还是存在不少问题,如投入不足和重视不够等。

针对软件项目管理的未来发展,我们提出了诸多可能的方向,这些方向促使管理工作更加专业和健壮。

热点问题
1.ISO/CMM等系统和认证与软件项目管理之间的关系是什么?

诚然目前许多软件开发公司实行了ISO质量管理体系,也有很多公司通过了CMM软件成熟度相应级别认证,不可否认它们对公司治理和软件质量的提高起到了一定的作用;但是这并没有完全涵盖到软件项目管理的全部,原因有以下3点。

a.一些企业获得ISO和CMM认证的目的不是为了提高公司内部的管理,而是给企业镀金,以获得订单,在认证评审的时候一切都做得有模有样,但是获得认证之后,就疏于管理,流于形式了。

b.ISO系统主要针对过程质量保证,更适合于制造业,而CMM是过程成熟度保证指南,主要是针对软件开发过程的关键节点,两者都没有覆盖项目管理的全部范畴,如投资回报、团队、创新、进度、资金、资源、成本、协作、沟通、风险和文档等管理事项,因此它不能完全管控项目的所有过程和领域。

c.软件项目管理是个长期的过程,不是一个项目结束了就没有了,而是一个持续改进、自我提升的过程,所以ISO和CMM的升级不能与其同步。

2.软件项目管理和ITIL之间的关系是什么?

ITIL的全称是信息技术基础架构库(Information Technology Infrastructure Library),它主要是针对IT事务中的服务管理提出的,其核心是规范作业来提供持续的、高质量的IT服务。它不是专门针对软件项目管理而设计的,但是它其中的一部分规范、方法和理念是可以用于软件项目管理的,例如以下3点。

a.服务台的管理。软件本身也有面向客户服务的问题,因此可以参考服务台的管理模式建立软件的服务模式。

b.变更的管理。尽管软件的变更以需求为主,但是ITIL中对于变更的流程和控制,对于加强软件需求变更同样有借鉴作用。

c.配置的管理。软件的运行依赖于操作系统、服务器或其他硬件,因此不同的软件有不同的操作系统和硬件配置要求。可以参考ITIL中对于配置的管理和控制,来确保软件运行环境的配置是符合要求的。

3.如何获得软件项目管理培训?

目前能够提供软件项目管理培训的机构还比较少,大部分机构只提供《项目管理》(PMP)的培训和认证,但是软件项目管理中很多技巧、知识和通用项目管理是相通的,因此参加项目管理培训同样有助于软件项目管理能力的提高。另外信息产业部发布了《计算机信息系统集成项目经理》资质认证,作为国家认可的在职专业水平,可以考虑获得此类资质。

4.如何招聘具有软件项目管理能力的人才?

目前国内专门开设《软件项目管理》专业的大学并不多,只有电子科技大学、南开大学等开设了本科和研究生学历的专业。因此直接招聘此专业的人才是很困难的,另外软件项目管理需要一定的实践经验,所以直接从相近专业选择应届毕业生也不现实。因此能够胜任此岗位的人才可以来自以下范围。

a.计算机管理、信息工程、软件工程专业等。

b.具有2年左右软件开发或测试经验。

c.具有1年左右软件项目管理经验。

5.如何培养软件项目管理人才?

软件项目管理人才除了需要一定的理论知识和基础外,更多的是需要具有管理的经验和能力。因此培养一个软件项目管理人才通常从以下几个方面着手。

a.扎实的理论基础,包括面向对象开发、数据库理论、信息工程、软件开发生命周期等。

b.扩展与软件有关的理论和业务知识,如配色学、工业工程、市场营销、财务管理、精益生产六西格玛等,这些知识将有助于优化软件设计,使软件功能更贴合于实际需要。

c.提供充分的实践机会。一开始可以从小的项目开始,或者作为项目副经理向前辈学习。

d.总结经验,不断提高,善于总结得失,吸取教训,不断提升,逐步成为一个出色的管理者。

e.注意领导力的培养。领导力更多地取决于个人魅力,因此在平时工作中要严以律己、善用人才、树立威信,成为一个出色的领导者。

6.如何培养项目管理意识?

国内很多软件企业还处于小型或成长阶段,基本以技术人员为主,他们对于项目管理的意识还比较浅薄。另外企业考虑到成本问题,不愿意专门设立项目管理岗位。很多项目管理工作都由比较资深的开发人员兼职做,因此他们往往不能专心地从事项目管理,对于那些不服从管理的开发人员也没有很好的办法。那么如何提高大家对软件项目管理的意识呢?

a.开展软件项目管理培训,了解和认识软件项目管理的作用和内容。

b.轮流让开发人员负责项目管理,体会项目管理的重要性,从实践中提升管理能力。

c.加强交流,分享项目管理经验,共同提升管理水平。

7.敏捷开发是不是一种全新的软件工程开发方法?

不是。敏捷开发是基于已有的软件开发模型的一系列的新实践原则。敏捷开发的一些理念、原则或者说是方法修正和优化了传统的开发模型,是一种有益的补偿和提升。因此软件项目的管理还是应该基于软件开发的基本阶段,同时充分利用敏捷开发的工具来提升项目管理成效。

8.敏捷开发是否需要系统设计?

敏捷开发提倡以小周期代替大周期,大设计拆分为小设计,因此必要的系统设计是需要的。

9.CMMI和敏捷开发的关系是什么?

CMMI和敏捷开发两者并不矛盾,CMMI可以很好地规范和量化敏捷方法实践的具体操作。

10.我公司使用敏捷开发后,效果没有预期的那么理想。特别是开发人员快速更替,严重影响了敏捷开发的推行。我该怎么办?

首先,人员的快速更替是由多种因素导致的,与敏捷开发没有必然的联系。敏捷开发强调团队的合作,频繁的人员变动会大大削弱敏捷开发的优势,因此保持稳定的队伍是开展敏捷开发的前提。管理者应该从管理艺术的角度去稳定人心和建设队伍。

拓展思考
1.企业软件应用范围狭窄,不需要进行项目管理,这样的说法正确吗?

2.为什么说心态管理也是软件项目管理体系中的一个重要环节?

3.敏捷开发就是快速开发,因此不再需要计划。这样的说法对吗?

4.深圳视御公司是一家专业的软件外包公司,主要承接海外离岸软件开发。日前海外一个主要客户需要开发电子商务平台来促进休闲食品的销售。客户希望在短期(2周左右)内能够看到一个大体可以使用的平台。该客户的销售支持中心位于香港。如果你是项目经理,如何运用敏捷开发来实现项目?

你可能感兴趣的:(《挖掘管理价值:企业软件项目管理实战》一1.7 软件项目管理的发展)