首页 > 人工智能 > 正文

勿以项目小而不为 中小项目也要管理

2008-12-18 16:12:11  来源:IT168

摘要:对于中小企业,似乎管理会妨碍业务的灵活性,会增加开发的成本。对于需求、变更,似乎喊一嗓子更加适用。其实恰恰相反。恰当的管理可以让公司在组织结构分明,并严格遵守规则的环
关键词: 项目管理

    曾经和一位项目经理聊天,问其“中小型开发项目如何进行项目管理”?他不假思索地回答:“中小型开发项目还需要项目管理吗?”这一回答让人惊讶。连身处管理行业中的人都忽视了中小型开发项目管理的必要性,更不要说其他业务人员和开发人员了。

    软件管理着今天的业务。因此,软件和系统开发项目的成功与否会直接影响到公司的生存。今天两个不同因素的合力作用,给我们带来了更大的难题。一方面是业务需求更加复杂。人们对软件质量和用途的期望大幅度提高,对业务系统的要求也越来越挑剔。另一方面是开发成本不断缩减。经济全球化,竞争压力增大,公司不得不采取更灵活的竞争方式来满足客户的需求,否则就会败给世界各地那些有准备、有意愿和有能力提供更优质、更低廉解决方案的竞争对手。

    Thomas Friedman在其所著的畅销书《世界是平的》中,简明扼要地指出:“如果您想在平面世界发展壮大,最好学会如何改变自己并适应这个世界。”这两个因素一起形成合力,对企业提出这样一个问题:如何更快交付更好和更低廉的软件?为了更好地回答这个问题,企业不得不在面对不断变化的威胁和竞争者时,变得越来越灵活,职责越来越分明,对规则的遵守越来越严格。

    在这一变化中,管理是不可缺少的。许多软件项目或产品管理混乱,最根本的原因就在于项目人员以为自己了解管理,了解现状。曾有项目经理说:“管理,那是成本!不适用于中小企业!”对于中小企业,似乎管理会妨碍业务的灵活性,会增加开发的成本。对于需求、变更,似乎喊一嗓子更加适用。其实恰恰相反。恰当的管理可以让公司在组织结构分明,并严格遵守规则的环境中仍保持高度灵活性并提高利润率。

    中小型项目开发管理现状

    一个完整的软件生命周期包含需求分析、概要设计、详细设计、编码实现、软件测试、软件发布和运维等多个相互交织、互相影响的过程。这就注定软件开发管理是一项复杂的活动。

    对于中小型软件开发项目,其主要特点是:投资少、规模小、时间短、用户需求变更较大、项目计划不足、不重视测试、缺乏缺陷管理机制等。

    1. 难以估计项目进度 
    在项目开始前缺乏充分的分析和论证,对要开发的项目没有足够的认识和了解,无法准确估计项目开发所需要的时间、每个阶段需要的时间乃至整个项目的规模等重要的项目数据。这样无法制订出能切实起到指导和控制项目进度作用的日程表,项目管理者也很难控制项目的进度和完成时间。 
    2. 项目日常管理问题 
    中小型软件项目的日常管理问题主要表现在以下几个方面:第一,项目组成员职责划分不够清楚。由于项目规模小,参与开发的项目组成员较少,所有的项目组成员都把主要精力放在编码上。而项目开发中许多其它工作没有专人负责,经常被忽略。这些工作包括:开发环境的选择、相关工具的选择和有效应用、版本控制、变更管理和缺陷管理等方面。这些工作对软件项目开发产生较大的影响。第二,由于没有一个明确的软件开发过程,在开发过程中许多工作产生扯皮现象。例如,测试中发现缺陷,在分析缺陷时都指责别人。 
    3. 项目需求分析不充分 
    中小型项目开发因为项目规模不大,往往对软件的需求分析不够重视,不能详尽描述具体功能,无法理清用户的重要需求和新需求。在没有充分进行需求分析的情况下,就开始设计和编码。导致在开发过程中不断有新的用户需求出现,使开发无明确的方向,项目开发举步维艰,甚至用户不认可开发出的软件产品。

    4. 缺陷无法控制 
    项目开发中的缺陷包括项目分析、设计和编码等各个阶段引入的缺陷。由于中小型软件项目规模小、开发人员少,对各个阶段缺乏必要的测试、复查和审查工作,导致每个阶段都有相当多的缺陷引入。编码完成后,发现大量的缺陷。在缺陷修改过程中不断引入新的缺陷,导致缺陷很难收敛,产品很难集成,浪费了大量的时间。

    这些问题延长了项目工期,增加了项目的资金投入,引起用户的强烈不满,甚至导致软件项目开发失败。为了解决这些问题我们对小组软件过程进行了分析。

    如何加强中小型项目开发管理

    中小型开发项目具有规模小、机制灵活的特点,这一特点可以帮助建立良好的沟通机制,节省沟通成本,提高工作效率,是非常有利于开发管理工作的。如果再能结合适当的项目管理方法和工具(例如Rational统一过程管理RUP),将能大大提升中小型项目开发的成功率。当然,对于中小型开发项目,我们不能完全照搬整个方法,而应选取几个关键过程执行。

    1. 职责分工与合作

    船小也得有分工。中小型开发项目同样需要有专人作为项目经理,负责客户协调,项目计划及跟踪;有人负责需求交流、架构分析;有人负责测试;有人负责配置变更管理,即使是兼任多职,也得是分工明确的。同时发挥其沟通灵活、方便的特点,有人主导,有人配合,更易做到各种信息在团队内部的充分共享。

    2. 需求管理

    对于需求问题,在需求调研阶段,要多和客户应用部门沟通,了解他们真正的需求。最好能将系统的目标模型向应用部门演示,并得到反馈意见,直到双方达成共识,形成双方认可的验收方案和验收标准。并且,要做好需求变更控制和管理,尽量降低需求的不确定性风险。

    重视系统分析和设计。作为软件项目最重要的开始阶段,系统分析和设计不可缺少。运用统一建模语言进行分析设计,或开发实现时采用相对成熟的设计模式,可以有效地提高项目组成员在分析和设计阶段的交流能力和工作效率。

    3. 配置变更管理

    开发过程中还要注意有效管理代码,要指定专人(可以兼任)、采用适当的管理方法和版本控制工具管理代码(包括文档),使软件开发作为一个过程处于管理之下,既可以规范开发行为,又可以为变更行为提供依据和可借鉴的资料。
  
  此外,项目运行期间,SQA同样是必不可少的,通常是一名经验丰富的软件开发人员来担任。SQA在整个项目的运行过程中负责监督和改进软件质量,包括制定系统测试方案、用户接受测试方案等。

    中小型开发项目需要适度管理

  众多项目实践表明,根据项目的具体情况,在关键过程选择适合的管理工具和方法,这种适度的项目管理对于中小型项目开发的作用将是积极和显著的。


 


第三十五届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。