软件企业项目管理分析

 

<o:p> </o:p>

<o:p> </o:p>

从项目进度的可控角度,一般软件项目周期可以分为两个阶段,项目范围及方法确定阶段;项目完成及完善阶段。

一. 项目范围及方法确定阶段

<o:p> </o:p>

该阶段包括售前咨询、需求确认、确定项目组、确定应用软件工具、进行系统设计、数据库设计几部分工作。

在这一阶段的工作除了售前咨询外,是无法确定或严格划分生命周期的,也是无法严格按计划执行的,这一阶段的主要要求是细致、周全、完善。

作需求确认工作要求需求人员熟悉相关业务,有丰富的设计、开发经验,能迅速理解客户要求或引导客户明确要求,帮助客户完善需求,并根据软件开发的特点作出合理化建议。

需求确认要细致到界面、功能细节,还要综合考虑开发难度,是否存在瓶颈。做到这一点并不难,因为现在面对对象的开发工具有很多,通过托拽生成界面非常快捷。而做到这一点会为后期开发设计节省大量的由于需求反复所浪费的时间。

C/S结构的程序与B/S结构的程序在界面设计上要求是不同的,B/S结构的程序上美工的发挥空间非常大,而随着当前网页设计的发展,客户对B/S结构程序页面的要求也越来越高,所以在B/S结构系统的需求确认阶段,需求人员里必须有美工的存在,要在需求阶段由美工和客户确定各类页面框架、样式,避免项目交付时出现大量反复。

C/S结构的程序界面通常使用图片较少,只要布局规范,使用通用图标既可,但为了保证风格的统一,按钮大小,按钮图标、字体大小、间隔,各种框排列规则等都需要事先制订标准。

应用软件工具是非常重要的,适合的软件可以节省大量的开发时间,比如一些第三方控件,第三方处理方案等,比如Oracle的全文检索系统、PLSQLDeveloper工具、微软的报表定义、发布系统(Reporting Service)、微软的数据挖掘工具(Analysis Manager)。但是滥用第三方工具也有许多弊端,比如核心修改困难,使用方法限制,移植、编译困难等,需要仔细权衡。

使用应用软件工具可能涉及到新技术,如果项目组没有熟悉新技术的人员参与的话,项目组就要化大量时间去熟悉该项新技术,并且不能保证该新技术能否符合要求。所以使用新技术要非常慎重,提出使用该新技术的人应该参与到项目中来,指导研发方向,尽量避免项目组走弯路。

这里还涉及到一个技术储备的问题,该项目能否应用企业现有技术储备,该项目作完后,能为企业留下多少技术储备,该问题涉及到企业技术储备的管理问题。

技术储备的范围很广、解释也很多,这里说到的技术储备是指软件企业的成型产品或模块、通用技术的使用经验。

合格的技术储备必须具备两个特点,首先就是必须具有可操作性。可操作性就是说技术储备必须是相对稳定的、资料齐全的、有技术支持的、移植性强的。否则技术储备就无法迅速投入应用;

其次企业现有技术储备的技术特点、主要功能应该是企业内部众所周知的,这样各项目组才能有依据的进行取舍。

要作到第一点,需要技术储备提供方认真做文档,相关人员不流失、技术储备入库流程规范;要做到第二点,必需建立资源目录,整理技术储备描述资料,开放给相关人员学习。

在多个项目同时开展的情况下,还要防止功能重复开发。项目组之间定期进行横向交流是防止功能重复开发的主要手段,交流形式采用产品发布会方式,由项目经理介绍本项目的主要内容、应用技术、重要问题解决方法、业务原理等,如果已经建立了问题库,还可以交换问题库,以达到各个项目之间互相促进的作用。项目组之间的横向交流能有效防止重复开发,重复犯错。并能相互提出合理化建议,使各个项目进行更加顺畅。

对交流会的过程要全程记录,建议采用课件制作软件录制交流展示的屏幕操作、与会人员发言。该资料可以成为技术储备的一部分,还可以方便企业人员在其他时间进行学习。

系统设计与数据库设计是相辅相成的,好的数据库设计可以简化开发,提高系统扩展性。另外,系统设计要人性化,充分考虑需求、用户使用习惯、简化业务流程。充分考虑程序扩展性,但不能超出事先划定的项目范围,项目范围的遵循是项目经理及系统设计人员的重要工作。

二. 项目完成及完善阶段

<o:p> </o:p>

该阶段包括软件开发、测试、完善性修改、实施、后期维护几部分。

对于一个成熟的项目组,项目完成及完善阶段是可控的。

这个成熟的项目组指的是项目经理具有丰富的项目管理经验,项目组成员之间相互了解,项目组成员肯为公司成长做出贡献,项目组有向心力,项目组成员中包含熟悉项目相关技术的技术带头人,项目组成员勇于承担责任。

项目经理是整个项目组的灵魂,项目经理负责与公司沟通(配合公司项目管理部门掌握项目进度、成本,协调公司技术支持、人员支持),与客户沟通(界定项目范围,保证客户设备支持、人员支持),与项目组成员沟通(控制项目进度、成本,提供生活、技术、设备、人员支持) ,与项目相关的其他公司、人员沟通(协调相互配合工作),项目经理的性格和经验决定了一个项目的成败。

成熟的项目组是在一个良好的企业人文环境下逐渐锻炼出来的,是有战斗力的,是稳定的,是勇于承担责任的,是可以带一部分新人的,是进入良性循环的。

只有针对成熟的项目组,项目管理才是有依据的,才是可以执行的。

产生一个成熟的项目组的基础是企业的人文环境,一个没有良好的人文环境、人才流失严重的企业永远也无法组织出一个成熟的项目组。

在有一个成熟的项目组的情况下,由于第一部分工作打好了基础,这一阶段的主要工作是控制项目进度,保证程序质量,要做到这一点,除了定时检查外,还需要维持住项目组的士气,经营项目组向心力,保证项目研发的后勤工作。

软件开发过程中,项目相关负责人、需求人员、设计人员每天或定期进行进度检查是非常必要的,可以及时发现开发问题、人员协调问题、项目行进轨迹偏差等,并能够及时解决,将问题消灭在萌芽状态,避免后期发现导致的重大损失。

项目研发的后勤工作主要包括客户配合,设计人员支持,设备、技术支持等。

完善性修改是建立在与客户、设计人员进一步磋商的基础上的,是不可避免的,但是需要遵循项目范围,并尽量利用现有功能解决,避免大范围推翻重做,如果确实有重做的需要,要明确责任,并且尽量单独立项作该项修改,不要因为该类修改使项目周期无法控制,影响团队士气。

为了实施和后期维护的顺利进行,在项目开始就建立问题库是非常必要的,问题库主要用于记录开发中遇到的问题,一些典型程序处理方法,程序迁移需要注意的问题,部署、实施中应该注意的一些问题,系统维护中应该注意的问题,一些典型工作的标准流程等,问题库的完善和维护是一个长期的过程,但问题库对新进人员培养、项目软件继承、实施人员工作、客户自主维护、产品推广都有着非常积极和现实的意义。

项目经理对问题库的高度重视是问题库成功建立的关键,问题库的不断补充和完善也需要项目经理不断进行权衡、协调。

系统需求文档、系统设计文档、系统操作说明书、问题库相互补充,组合在一起才是完善的产品技术文档。

项目后期维护中比较关键的问题是远程维护问题。如果不能实现远程维护,则出差费用、人员调配等很多问题都会随之出现。

远程维护问题主要分为两部分,一部分是技术问题,一部分是客户问题。

关于技术问题,要解决采用什么工具、通过那个网络进行连接、维护。首先,远程维护的必要条件是双方都有一台机器在一个网上,其次,远程维护应尽量采用windows本身携带的工具,如远程桌面,以避免在客户机器上安装软件导致的泄密、远程软件自身维护等一系列问题。

关于客户问题,主要是客户要求现场支持。企业领导就要顶住客户压力,做好协调沟通,除必须进行现场支持的,一律以远程维护方式维护,该项要求应在合同中有所规定,以规避未来产生的非必要风险和费用。

<o:p> </o:p>

猜你喜欢

转载自wangchunye.iteye.com/blog/73574
今日推荐