软件企业中的员工管理方法与对策
[12-05 21:06:13] 来源:http://www.jianzhu518.com 建筑信息化 阅读:9873次
一、提高软件企业生产与管理能力的软件工程方法概述
软件生产的过程观认为,软件产品的质量在很大程度上是由其生产过程的质量决定的,软件产品质量的改善可以通过改善其生产过程来实现。目前国际上关于软件过程存在三个体系:CMM/TSP/PSP、ISO9000系列以及ISO/SPICE标准,其中以美国国防部支持的CMM/TSP/PSP体系研究得最为深入,使用得最为广泛。(参考《www.jianzhu518.com》)
CMM是一个软件过程改进、评估模型。可以把CMM看作一个标尺。使用CMM可以评价软件项目竞标单位的质量保证能力,选择项目承接单位。另一方面,这一标尺也将成为软件开发单位提高软件产品质量,加强质量管理的依据。
CMM并没有提供实现这些关键过程域所需要的具体知识和技能。个体软件过程PSP(Personal Software Process)和小组软件过程(Team Software Process)从不同角度对CMM做了补充。对于CMM的18个关键过程域,PSP方法涉及了与个人经验相关的12个,TSP方法涉及了与企业内部管理经验相关的4个。
个体软件过程PSP通过一系列循序渐进的方法来帮助软件开发人员度量,分析和改进自身的工作过程,从而提高工作效率,减少软件产品的缺陷。CMM与PSP互相支持。运用PSP可以在软件组织中自底向上地实现软件过程改进。PSP为软件人员指出了过程改进的方法,教给他们怎样开发出优质产品。为了有效地实施PSP,软件开发人员需要纪律严明,高效率开发环境的支持。
小组软件过程TSP结合了CMM的管理方法和PSP的个人技能,为基于小组的软件开发和维护提供了指导。TSP方法指导软件开发人员如何成为一个合格的项目组成人员;指导管理人员如何对项目组进行支持,如何创造良好的工作环境使项目组充分发挥水平。实施TSP方法需要具备如下条件:首先整个软件开发组织的过程成熟度至少应在CMM的第二级,即可重复级;第二是全体软件开发人员已经完成PSP培训;第三,软件开发小组成员在2到20人之间。
综上所述,软件过程的改善应从三个方面着手进行,即建立软件过程成熟度模型CMM,个体软件过程PSP和小组软件过程TSP。三者各有侧重,又互为补充,组成了软件过程体系。CMM/TSP/PSP软件过程体系如图1所示:
为了提高软件企业的生产和管理能力,就必须关注技术、过程和人员三个相关因素,它们被称为软件产品的质量三角。培养高质量的软件人才需要从技术和过程两个方面入手,过程是影响软件项目研发全局的因素,而技术只影响局部。提高软件开发人员的个体能力,首先要改变原来不良的个人工作方式,通过对软件开发人员进行PSP培训,可以提高软件开发人员的评估能力,减少缺陷密度,减少编译和测试时的缺陷,提交软件质量与生产率。
二、设计信息管理系统辅助软件企业中的个体员工管理
软件过程技术可被分为三种水平:组织级,项目级,个体级。个体软件过程是第一个典型的关于如何制定个体软件过程模型的方法。采用个体软件过程可以积累软件开发人员的经验数据,提高个体级别的过程能力。
现行的大多数项目的进度几乎全部依靠设计开发人员的经验进行估计。由于软件项目变化很大,丰富的实践经验当然少不了,但是完全依靠经验的话,除非是非常一致的项目,否则项目开始之时就增加开发的风险。为此,需要积累以往项目的开发数据,作为未来项目的估计依据,并从历史数据中估计分析自己在开发过程中的不足之处,从而加以改进。这些都可以借鉴PSP理论中的方法来加以实现。
将PSP理论引入到软件开发人员的软件开发过程中,既是提高软件开发人员素质和软件质量的捷径,同时也为软件开发组织进一步实施CMM打下了良好的基础。但是由于CMM的主要开发者Humphrey提出的PSP模型,最初是作为大学教材使用的,其手册式的理论,多文档的实施方式并不适合应用于实际工作。因此需要我们对PSP进行一定程度的剪裁与改进,还需要相应辅助工具的支持和实施。
通过设计实现基于PSP理论的管理支持工具,使得开发人员可以根据自己的水平和实际需要裁剪PSP,定制、设计出适合自己的个体项目过程,将手册式PSP理论的应用变得更加方便、简单、自由和易于操作,通过利用过去的经验数据来持续改进开发计划和减少软件缺陷,提高个体的软件过程能力。并通过统计和分析这一工具积累的历史数据,使软件开发人员对自己的工作可以进行测量跟踪,并将隐含在其中的数据提取出来以图像、图表的方式直观生动地反馈给软件开发人员,项目经理,使得他们能够基于以往的经验定期对个体项目过程进行更新以保证更加有效,同时也为项目管理和企业资源管理的优化提供了重要的依据。
PSP管理支持工具的意义主要体现在方便的数据测量;提供数据存储,保存历史数据记录;实现数据统计;提供方便的过程指导;提高预测的准确性;对工作更好地计划和跟踪;节约成本,提高生产力;改变手工作坊式的软件开发习惯;个人对工作质量的承诺,提高工作质量、工作效率,为提高团队、组织的效率打下良好的个体基础;提高个人的工作性能,按时完成任务,减少工作误差;建立个体软件过程能力的度量指标:规模估计,工作量估计,工作质量估计,工作效率估计,工作量阶段分配等;使得个体软件过程能力得到不断提高。
三、在软件企业项目管理中基于个体软件过程进行员工管理的方法
1、管理层应大力支持与配合在软件组织中采用个体软件过程。如果软件开发组织的管理阶层没有给予足够和持久的重视,大多数经过PSP训练的人员都不会继续使用PSP方法。PSP的使用在很大程度上依赖于软件开发人员的工作环境。因此,将PSP引入软件企业应采用自顶向下的课程培训方式:首先向高层管理人员介绍PSP的概念和方法,然后再培训软件工程师。
2、克服个体人员在学习上的惰性以及思维上的定势。实践表明,比较有经验的工程师接受培训后进步较小,相反,经验较少的工程师接受培训后进步较大。在信息技术飞速发展的时代,软件开发人员如果有吃老本的想法就会被淘汰。应该勇于尝试和接受新鲜事物,不要让惰性阻碍自己的进步。
3、软件项目的相关参与人员应当尽早学习个体软件过程相关知识并学习如何利用个体软件过程来进行软件工程的量化研究。PSP也提供了很多研究的机会。人们收集到软件开发过程中各方面的数据后,可以进行各种实验与研究。例如,发现了软件过程中存在的问题可以开发出相应的支持工具来改进软件过程;尝试各种开发方法的技术并且对应用效果做量化比较;研究什么样的编程语言的结构和特点能让人少犯错误并且能提高开发效率。
4、应当在软件组织中对个体软件过程的采纳与实施形成制度化。所谓PSP制度化是指把PSP的实践作为日常思考问题和完成工作的正式方式。也即是建立支持方法、实践、过程的基础设施和协作文化,保证组织能一如既往地按既定的方式从事商业活动,即使定义这些方法的人离开了。它包括以下几个方面的内容。
①PSP培训。目的首先是让组织中的成员认识到PSP对提高他们的预测能力,生产效率和产品质量是有好处的,产生在日常工作中应用PSP的动力;其次,通过培训,使他们掌握在组织中实施PSP所必需的方法和技能。
②改变组织的文化,在组织中达成软件过程优秀的共识。如果组织中的成员没有对一项技术达成共识,要想在组织中推行此项技术是非常困难的。只有在大家都认识到这项技术的作用时,才能在组织中有效地实施。
③把PSP和组织的目标联系起来。人们通常都有兴趣学习与组织目标发生联系的新实践,要做到这一点,需要得到高层管理者的支持,使中层管理者参与进来,提供一个公共的组织焦点。
④在组织的软件过程方针政策中明确PSP的地位。比如,可以这样制定陈述组织的方针政策:在软件生命周期的各个阶段,个体工程师应当使用PSP进行计划、估计和工作的追踪。应当使用缺陷预防措施和完整的设计方法生产高质量的软件产品或组件。
⑤把PSP的要求明确写进员工的工作描述中。比如:对一个项目经理需要具备的技能可以这样描述:知道PSP的理论、方法和工具,掌握项目计划和估计的技术,具有项目追踪和报告的技能,具有过程和产品质量分析的技能。
标签: 软件 建筑信息化,建筑信息化
上一篇:搜索引擎的经营及赢利模式