1 背景 随着信息化进程在国有大型化工企业中的推进,越来越多的企业提出 了针对自身特点的管理类应用软件的需求。为了更好的完成这些软件开发和应用 推广工作,各大企业纷纷组建具有自身管理特色的软件开发队伍。但是,由于国 有企业在体制方面具有的天然特殊性,其内部的软件队伍在项目管理工作中无法 完全照搬体制外软件企业的管理制度和方法,所以,如何在企业中依据企业特色 做好对企业内部软件开发队伍的项目管理工作就成了团队管理者需要认真面对 的新课题。
2 开发人员管理 国有大型企业较普通民营企业相比,存在诸多特殊性,如管理体制为 公有制,资本运作方式单一,企业成立历史较长等,但是,其管理特色与专业的 软件开发团队的在理念上存在或多或少的相悖,因而在项目管理工作中是不能直 接照搬体制外专业软件队伍的项目管理经验和方法的。
在企业中建立软件开发队伍的首要问题,是如何使开发小组具有很强 的凝聚力,从而使组内每个成员的优势发挥出来,尽可能的做到高执行力,有效 的服从管理人员的指挥,确保软件开发质量。在笔者曾经参与的项目中,团队开 发人员是按照下文中的方式进行管理的。
2.1 划分开发小组 想要在非IT企业内以其自身员工为团队成员组建一支软件开发队伍 是非常困难的,因为,专业软件团队的成员一般具有如下几个特点:
1)计算机相关专业毕业;
2)具有良好的计算理论和应用素养;3)拥有足够的代码开发技能;
4)精力充沛,富有创造激情。
因此,依据软件项目管理中团队组成的基本理论,可以在团队建设的 初期仅建立一个或数个软件开发小组。一般情况下,小组具有如下几点特征[1]:
1)至少有两个人;
2)他们具有相似的特长或技能优势;
3)他们为一个共同的目标或任务而工作;
4)每个人都被分配了一定的角色或职责。
这里有一点需要注意:整个小组的规模是影响小组效率的一个重要因 素,另外,小组成员的技术高低搭配也是人员管理中非常重要的一环。所以,在 企业中“科班”出身的职工少之又少的情况下,一定要确保每组成员中配有1到2 名计算机专业“科班”出身的职工。之所以做这样的人员搭配,首要原因是需要团 队之间在进行技术沟通时,受过专业理论及技术培训的人员可以更快进入角色, 技术交流障碍少,另外一个更加重要的原因则是可以沿袭大型企业特有的“师带 徒”传统,一个“科班”出身的职工带一名到数名不等的徒弟,传授技能知识和或 引导徒弟自主学习,从而更快更好的培养团队需要的软件技术人员。
2.2 小组成员的角色及分工 在确立了小组的人员搭配之后,要做的第一件事情就是明确人员责任。
在TSP(Team Software Process,团队软件过程)软件队伍管理理念中,将开发小组 分成了包括小组组长、开发经理、计划经理、质量/生产经理和技术支持经理在 内的5种不同角色[2]。然而,由于国有企业较专业的软件开发企业具有管理上的 特殊性,因而在人员责任分配方面就不能够按照上述职责划分建立角色,就笔者 的从业经历来看,在大型国有非IT企业中建立软件开发小组时,可以将开发人员 分成以下几种角色:软件组长、开发副组长、系统副组长、执行组员。
2.2.1 软件组长 软件组长是团队中领受和执行工作任务的管理枢纽,通常情况下,这 个人需要非常清楚团队中每个成员的技能优势和专业特色;在任务分块和分派过程中,能够将工作任务精准的分发到最适合的人选手中;能够通过有规律的开发 小组会议获取各成员的工作量和工作质量信息;完善项目的工作报告等。
2.2.2 开发副组长 开发副组长在团队任务的执行过程中起到的作用不可或缺,TA需要 带领团队成员协助组长制定项目执行计划;完成项目管理过程中各工作块的实际 任务;对项目各进度进行全程跟踪等等。
2.2.3 系统副组长 负责软件开发的环境搭建,数据库维护,服务器维护,其技术经验最 为丰富,适当情况下可加入开发组参与项目开发工作。
2.2.4 执行组员 每个小组的组员是项目计划有效执行的基石;项目进行过程的最直接 参与者;团队管理中各标准和规章制度的执行有效性的最直接检验者;可兼任小组 会议的记录者。
这里需要说明一点,依据笔者经验,由于种种原因造成了企业内软件 部门的管理人员和软件需求的提出者有可能不是软件学习的专业人员出身,其对 于项目情况的决策能力尝尝脱离开发人员能力实际,所以,在组建软件队伍时, 所挑选的基层管理人员首先应该具有的并非是强大的技术实力,而更应该是极其 良好的人际交流和沟通能力。
2.3 成员管理 2.3.1 监督小组成员完成分内工作任务 监督的具体内容包括自查和互查。自查工作在团队成员中各自展开, 团队中的各组长以小组会的形式将成员召集起来,小组会议的内容包括工作的完 成情况、工作中遇到的具体困难,需要团队成员合作攻关的关键点等。在互查工 作中,由团队中执行不同角色的组员互换各自的工作内容,依据各自的工作计划, 逐条逐项进行工作互查。
2.3.2 团队成员的有效沟通非常重要在项目的进度时间表上,需要定期安排团队成员进行工作交流,上文 提到的自查与互查便是会议的其中两项内容。在团队会议上,可采取技能培训等 方式,提高团队成员的技术水平,使其在随后的开发工作中具有更好的工作能力, 从而可以推动项目的有效进展。
3 软件配置管理 软件配置管理(Software Configuration Management)是协调软件开发工 作中软件使用和进度控制最为有效的工具方法之一,可以有效减小软件进度的混 乱程度,作为一种标识、控制和管理软件变更的技术,更可以使错误达到最小并 最有效地提高软件项目管理效率[5]。
3.1 进行软件配置的原因 首先要探讨的是笔者在企业项目管理工作中遭遇到的一些实际问题:
1)潜在用户的功能需求不稳定;
2)人员技术素质参差不齐,人员开发习惯存在较大差别;
3)软件的规模越来越大;
4)软件的重用性需要提高;
5)软件的维护越来越困难;
6)团队的直属领导需求或想法脱离实际。
面对这些问题,寻求有效的团队管理策略往往不够,还需要有效的代 码管理工具和良好的项目版本迭代工具来帮助团队沟通和交流。
依据笔者的项目从业经验,使用.net作为开发平台的同时,使用微软 公司出品的TFS(team foundation server)作为团队项目管理(包括版本管理、进度管 理等)的软件工具。该软件可作为Visual Studio Team System (VSTS) 在服务器端 后端平台。TFS常用以下几个部分:
1)团队基础服务器;
2)程式开发应用;3)解决方案构架;
4)开发工具中文服务器。
4 软件质量管理 随着项目进行的逐渐深入,其任何一次质量问题的修改成本都都会大 幅增加,对于软件团队来说,仅仅是软件质量测试工作不足以对软件质量的全程 做到有效控制,还需要项目管理人员对团队进行更完善的软件质量管理。
4.1 制定并执行适度的开发规范 在开发小组建立之初,在缺乏软件开发规范时,整个团队的开发人员 因技术能力,专业素养的不同,在开发工作中将缺乏统一的规范。
4.2 制定规范的开发文档 软件开发文档是对整个开发过程的记录和说明[4]。相较于软件的实 体,其开发文档更像是软件的形成过程中的地图,软件日后的升级、维护、和修 改工作以及用户的使用,均需要查阅相关的开发文档。尤其在公有制企业内部, 在评价一个部门的工作是否到位时,往往考量的不是整个团队的工作质量,所产 出软件的可操作性等诸多影响因素,而是这个团队是否有非常符合规范的工作文 档,因而在笔者的从业经历中,的确有部门管理人员把团队是否有完整规范的软 件开发文档作为衡量软件过程质量的一个重要标准,由此看来,开发文档在小团 队管理中具有非同一般的重要地位。
4.3 软件评审 软件的生命周期一般可以分为:需求分析、软件设计、软件实现、软 件测试、安装维护等阶段[4]。但是,软件的评审工作渗透于软件生命周期的各 阶段。评审工作首先是尽可能的发现软件在功能和逻辑方面的存在的错误,其次 要通过评审验证软件的需求,并且还需要确认已获得的产出是以合理的方式开发 的。
扩展阅读文章
推荐阅读文章
推荐内容
钻爱网 www.zuanai.cn
Copyright © 2002-2018 . 钻爱网 版权所有 湘ICP备12008529号-1