UML软件工程组织

 

 

软件项目开发管理中的若干问题
 
2008-06-03 作者:姚向晖 杨扬 来自:leadge.com
 

当前,随着计算机应用范围的日益广泛深入,应用软件的规模及复杂程度也日趋大型化、复杂化,这就导致软件开发的方式也从早期的单兵作战式或手工作坊式渐渐转变为集团化、工厂流水线式的团队协作开发方式。这种情况下,如何管理好项目的每一步运作,及时解决所出现的问题就是每一位项目主管责无旁贷的责任了。

实际上,项目管理的过程贯穿于整个项目的生存期,从调研、立项、需求分析直至项目投产后的跟踪、维护、版本更新等各阶段。本文仅对项目开发过程中的若干问题发表一已之见,愿与同仁们共同探讨、提高。

关于软件质量控制

软件质量虽然与开发成员的个人素质相关,但也与开发时的控制措施密不可分。根据笔者的经验,以下两方面尤其重要。

1.版本控制

随着开发过程的不断深入,项目开发组中的每个成员都可能在各自机器上建立了不同时期因各种原因而产生的同一模块的不同版本。随着每个成员所编模块数量的不断增加,各种模块的版本也会随之增加,最后甚至可能出现连编程者自己都弄不清楚某一模块的最后版本在哪里的情况。倘若又有人员的更换,交接又不清楚,则更易于发生上述情况。特别是在网络环境下开发,由于机器之间硬盘资源可以共享,开发组成员因各种原因可能并不固定在某台机器上开发,因而在许多机器上建立了自己的开发环境,这样就更容易导致这种混乱情况的加剧。

版本控制不严的后果早期是体现不出来的,但到了后期,要将若干开发成员的数十、上百个模块整合为一套应用系统时,这种后果的危害性就体现出来了。很可能导致项目无法按时上马。

为此,项目主管应根据实际情况建立相应的措施来防止版本的混乱。比如,在服务器上为每个成员制定各自特殊的目录,要求每位成员在每天结束编程工作后,通过一个批命令将截止至今天的所有模块的最后版本全部拷入服务器内各自对应的目录中。第二天工作时,再通过另一批命令将服务器上自己的作业转入当前机器上,这样经过一段时期,即便大家"随心所欲"地使用网络上的不同机器,也能保持每个人的版本在不同机器上基本一致(因为有一个统一的源头——服务器)。

2.源码控制

程序的源码是软件项目中的重要文档资料,是日后进行软件运行维护、版本升级所不可或缺的资料。因此,保证源码的规范性、易读性对提高源码使用价值极具重要意义。

编程如同写文章,千人千面,各具特色,倘若丝毫不加控制,直接将开发组成员的源码合并成一个整体作为文档,留给他人维护系统时作参考,则维护人员是很难去读懂并理解这些出自不同手笔的源码的,这样的文档实际上其使用价值就很微小了。

为此,项目主管要根据实际开发时所采用的开发工具及项目性质的不同,制定若干源码控制规则。诸如模块说明规则、变量命名规则等。

关于项目进程及人员组织管理

1.项目进程管理

项目开发过程中,常因各种原因导致项目进程无法按原计划进行。这时如何根据当前情况较好地预测未来进展状况,同时迅速作出调整,合理安排工作衔接等等都是项目主管必须考虑的事项。

根据笔者经验,对于有一定规模的项目,项目主管应该采用一些辅助管理软件来帮助作计划和安排。如采用微软的Project就是一个不错的选择,Project可以提供项目进度的甘特图,项目资源的合理分配方案等一些先进的管理手段来帮助项目主管控制好项目进程。

2.人员管理

在项目开发的所有管理中,也许人员管理是最难的。众所周知,软件开发是一项"重脑力"劳动,在这之中,人的情绪、精神状态等因素将直接影响到劳动效果及效率,因此,建立相应的激励制度是人员管理的一个基本条件。而大多数项目主管并没有实质的财权及用人权,所以与上级领导沟通、协调好相应的制度标准是项目主管必须修好的一门课。根据笔者的经验尤其需要在以下两方面加强控制:

(1)保持开发队伍的稳定

开发队伍的不稳定、人员频繁变动是项目开发的大忌,因为人员变更必将带来工作交接,而交接却是件很难控制好的事情,这主要是一来需要接手的人对前任人员的工作进行理解和消化(这可能要花很长时间),二来前任人员未必能将工作中所积累的经验、教训全盘传授给后者,导致后人可能还要走弯路。越是在项目后期发生人员变动,所造成的危害就越大,甚至可以导致项目的流产。因此,项目主管应根据本项目的性质,如难易程度、时间长短、项目影响范围等,向上级领导提出相应的项目激励制度,争取得到领导的支持,以尽可能地保证项目组成员的稳定。

(2)工作总结制度

项目主管应该要求开发组成员每天对自己所做的工作进行总结、记录。这种记录可以用统一的表格进行填写,这种表格在每天结束工作前用三至五分钟迅速填一下,不需要很详细概要即可。这既可以培养开发组成员的严谨工作作风,又可以使项目主管能够及时了解成员的工作进展,对成员所遇到的困难作出及时的支持和响应,对整体进度作及时调整。

总之,项目管理是软件生产活动中的重要工作内容,国外文献曾报道:在对大量软件项目调查统计后,结果显示,软件项目的失败大多数并不是技术上的原因,而仅仅是管理上的失败所致。由此可见,作好项目管理的重要性。笔者诚恳希望在此方面有心得、有造诣的师长、同仁们能够多多发表高见,为我国软件业的繁荣发展同尽一臂之力。

 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号