(企业管理专业论文)小型软件开发的项目管理研究.pdf_第1页
(企业管理专业论文)小型软件开发的项目管理研究.pdf_第2页
(企业管理专业论文)小型软件开发的项目管理研究.pdf_第3页
(企业管理专业论文)小型软件开发的项目管理研究.pdf_第4页
(企业管理专业论文)小型软件开发的项目管理研究.pdf_第5页
已阅读5页,还剩76页未读 继续免费阅读

(企业管理专业论文)小型软件开发的项目管理研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 在软件开发的实际工作中,有大量规模较小的项目,如企业内部网、人力资 源管理系统、工资系统等等。小软件项目多由几人承担,有的甚至是个人单打独 斗。按传统的“作坊式”开发,在项目的成本、进度、质量方面往往得不到保障。 小项目尽管不需要按照大型项目按部就班的实施,但关键的步骤却不能缺 少。根据小型软件项目的特点及其管理现状分析,结合实际工作经验,总结出管 理小型软件开发的几个关键点,即成立项目评审委员会、选拔项目经理、组建高 效的项目团队、选择适当的开发流程、遵循规范的项目管理流程、强化软件需求 管理和配置管理。 本文共分为五章。 第一章是绪论。包括研究背景和意义、研究思路、主要内容和文章结构。 第二章提出问题。通过对小型软件开发过程存在的主要问题进行阐述和分 析,提出造成小型软件开发项目失败的根本原因是由于没有规范的、科学的项目 管理。 第三章是本文的理论基础。分析软件项目特点和软件项目管理不同于其他工 程项目的独特性,介绍软件工程和软件项目管理的基本原理和方法,以及衡量软 件开发项目成功的主要因素。为论文的研究打下理论基础。 第四章是解决方案,即如何管理小型软件项目。本章对常见的软件开发模型、 软件团队模型、软件项目管理过程模型进行论述和比较,得出适合小型软件开发 的开发、组队和管理模型。同时针对目前小型软件丌发的主要问题,强调需求管 理是项目成功的基础,软件配置管理是项目成功的保障。 第五章是案例分析,通过一个失败的案例分析说明小型软件开发项目需要规 范的项目管理,通过一个成功的案例说明如何进行小型软件开发的项目管理。 最后对全文进行总结,提出有待进一步研究的问题。 关键词:项目管理:小型项目;软件开发 a b s t r a c t a b s t r a c t t h e r ea r em a n ym i n i - t y p es o f t w a r ed e v e l o p m e n tp r o j e c t s ,s u c ha se n t e r p r i s e i n t e r n a lw e b s i t e ,h rm a n a g e m e n ts y s t e m ,p a y r o l ls y s t e me t c t h o s e m i n i t y p e p r o j e c t sa r eh a n d l e db ys e v e r a ld e v e l o p e r s ,s o m e t i m e sj u s to n e a c c o r d i n gt ot h e t r a d i t i o n a lw o r k s h o pd e v e l o p m e n tm o d e l ,t h ep r o j e c tc o s t ,s c h e d u l e ,q u a l i t yc a nn o t b ee n s u r e m i n i t y p ep r o j e c tn e e dn o tg ot h r o u g ha l lo fp r o j e c tm a n a g e m e n ts t e p sa s l a r g e s c a l ep r o j e c t ,b u tt h ek e ys t e p sa r ev e r yi m p o r t a n tt om a k es u r em i n i - t y p e p r o j e c ts u c c e s s f u l t h ek e ys t e p sa r es e l e c t i n gt h ep r o p e rd e v e l o p m e n tm o d e l , b u i l d i n gu pe f f i c i e n tp r o j e c tt e a m ,f o l l o w i n gu ps t a n d a r dp r o j e c tm a n a g e m e n tp r o c e s s a n de n h a n c i n gr e q u i r e m e n tm a n a g e m e n t ( r m ) a n dc o n f i g u r a t i o nm a n a g e m e n t ( c m ) t h et h e s i si sd i v i d e di n t of i v ec h a p t e r s c h a p t e r li s i n t r o d u c t i o n ,i n c l u d i n gr e s e a r c hb a c k g r o u n d ,r e s e a r c hc l u ea n d p a p e r ss t r u c t u r e c h a p t e r2i st h ep r o b l e ma n a l y s i sf o rm i n i t y p es o f t w a r ed e v e l o p m e n t t h r o u g h a n a l y z i n gt h e c u r r e n ts t a t u so fm i n i t y p ed e v e l o p m e n tp r o j e c t ,i te x p l a i n st h a t f o l l o w i n gs t a n d a r dp r o j e c tm a n a g e m e n tp r o c e s si s t h ek e yt om a k es o f t w a r e d e v e l o p m e n tp r o j e c ts u c c e s s f u l c h a p t e r3i st h e s i sb a s i s i ta n a l y z e st h ec h a r a c t e r so fs o f t w a r ed e v e l o p m e n t p r o j e c ta n dt h es p e c i a lr e q u i r e m e n t so f p r o j e c tm a n a g e m e n tf o rs o f t w a r ed e v e l o p m e n t i ti n t r o d u c e st h eb a s i st h e o r yo fs o f t w a r ee n g i n e e r i n ga n dp r o j e c tm a n a g e m e n ta n d t h em a i nf a c t o r so fs u c c e s s f u lp r o j e c tm a n a g e m e n t c h a p t e r4p r o v i d e st h es o l u t i o nh o wt om a n a g em i n i t y p es o f t w a r ed e v e l o p m e n t p r o j e c t i ta n a l y z e ss e v e r a ls o f t w a r ed e v e l o p m e n tm o d e l s ,p r o j e c tt e a mm o d e l sa n d s o f t w a r ed e v e l o p m e n tp r o j e c tm a n a g e m e n tp r o c e s s w i t ht h ec o m p a r i s o n so ft h o s e m o d e l so rp r o c e s s ,i tw o r k so u tt h es u i t a b l em o d e la n dp r o c e s sf o rm i n i - t y p es o f t w a r e d e v e l o p m e n tp r o j e c t a n dt oi m p r o v et h ec u r r e n ts t a t u s ,i te m p h a s i z e sr e q u i r e m e n t m a n a g e m e n ta n dc o n f i g u r a t i o nm a n a g e m e n ti sv e r yi m p o r t a n t a b s t r a c t c h a p t e r5i s t h ec a s e a n a l y s i sf o rm i n i - t y p es o f t w a r ed e v e l o p m e n tp r o j e c t m a n a g e m e n tp r o c e s s o n ef a i l u r e c a s es h o w st h a t p r o j e c tm a n a g e m e n ti sv e r y i m p o r t a n tt om i n i - t y p es o f t w a r ed e v e l o p m e n tp r o j e c t ,a n o t h e rs u c c e s s f u lc a s es h o w s h o wt om a n a g em i n i t y p es o f t w a r ed e v e l o p m e n t p r o j e c t t h el a s tp o r t i o ni sc o n c l u s i o n k e yw o r d s :p r o j e c tm a n a g e m e n t ;m i n i t y p ep r o j e c t ;s o f t w a r ed e v e l o p m e n t 厦门大学学位论文原创性声明 兹呈交的学位论文,是本人在导师指导下独立完成的研究成果。 本人在论文写作中参考的其他个人或集体的研究成果,均在文中以明 确方式标明。本人依法享有和承担r h j _ l 论文产生的权利和责任。 声明人( 签名) :易路 旬年月 日 厦门大学学位论文著作权使用声明 本人完全了解厦门大学有关保留、使用学位论文的规定。厦门大 学有权保留并向国家主管部门或其指定机构送交论文的纸质版和电 子版,有权将学位论文用于非赢利目的的少量复制并允许论文进入学 校图书馆被查阅,有权将学位论文的内容编入有关数据库进行检索, 有权将学位论文的标题和摘要汇编出版。保密的学位论文在解密后适 用本规定。 本学位论文属于 l 、保密() ,在年解密后适用本授权书。 2 、不保密() ( 请在以上相应括号内打“、,”) 作者签名:嬲 导师签名: 日期:姗年,月 e t 日期:年月日 第一章绪论 第一章绪论 第一节研究背景和意义 当今社会,网络技术、信息技术、计算机软硬技术飞速发展,项目管理( p r o j e c t m a n a g e m e n t ,简称p m ) 作为一种通用的管理技术已被广泛地应用于军事、航空 航天、建筑与土木、信息和软件工程、制造、行政管理和服务等行业,获得了瞩 目的效率和效益。与其他传统工业和科技领域相比,软件开发是一个只有五六十 年历史的相对年轻的技术领域。二十世纪四五十年代,最早诞生的是美国用于军 事用途的应用型计算机:六七十年代后,随着大型计算机的推广,计算机技术才 逐渐应用于工业、商业、教育等各个领域:从七十年代后期。随着个人计算机的 诞生及微型计算机软件的大规模的被开发、推广和应用,计算机技术才真正被大 规模推广并被人们接受而广泛的应用于各个领域。在我国,信息化建设和数字化 推广是起始于八十年到初的改革开放,近年来中国经济的高速迅猛发展,计算机 技术逐步应用于各行各业,走进千家万户。 酝因为计算机软件行业发展的历史较短,对其生产的管理理论和实践也还处 在一个不断发展和完善的阶段。最初的软件就是程序,软件的生产方式是个体手 工模式,软件的设计是在个人的头脑中完成,程序的质量完全取决予个人的编程 能力与技巧。后来为了提高计算机系统的能力,在研制计算机系统时开始编制操 作系统软件,那时的软件就是程序加说明书,软件生产方式类似于相互合作的手 工方式。随着软件应用需求的不断增加,传统的软件生产方式已不适应计算机应 用发展的需要,于是在软件的设计生产过程中引入了工程学的概念和方法,形成 软件工程学,将软件生产分成分析、设计、编码、测试等多个连续的阶段,每个 阶段都会产生相应的文档,作为下个阶段的参考。这时的软件是文档加程序。另 一方面,软件开发是一个高度集中的脑力劳动的活动过程,它依赖于个人创造力、 效率、知识、教育、文化等,相对于其他行业,软件开发至今没有一个可以放之 四海皆准的管理模式和实践指南,仍旧处于探索总结阶段。 1 9 6 9 年美国的项目管理学院( p r o j e c t m a n a g e m e n t i n s t i t u t e ,简称p m i ) 成立。 小型软件开发的项目管理研究 该组织致力于规范、推广项目管理,其总结发表的项目管理知识体系( p r o j e c t m a n a g e m e n tb o a yo fk n o w l e d g e ,简称p m b o k ) 成为项目管理业界最有影响力 的参考标准之一。在我国,二十世纪九十年代初,由西北工业大学倡导,成立了 我国第一个跨学科的项目管理专业学术组织一一中国项目管理研究委员会 ( f r o j e c tm a n a g e m e n tr e s e a r c hc o m m i t t e e c h i n a ,简称p m r c ) 。p m r c 的成立 为推进我国项目管理事业的发展,为促进与国际项目管理领域沟通与交流起到了 积极的作用。 软件项目管理的提出是在二十世纪七十年代中期的美国,当时美国国防部专 门研究了软件开发不能按时提交,预算超支和质量达不到用户要求的原因,结果 发现7 0 的项目是因为管理不善引起的,而非技术原因。于是软件开发者开始逐 渐重视起软件开发中的各项管理。到了二十世纪九十年代中期,软件研发项目管 理不善的问题仍然存在。据美国软件工程实施现状的调查,软件研发的隋况仍然 很难预测,大约只有1 0 的项目能够在预定的费用和进度下交付。 在我国,信息化建设起步较晚,各行各业对计算机应用的水平参差不齐。在 信息化建设和推广的过程中,存在着大量的规模较小的软件开发项目,这些项目 一般都是为某个组织或行业,甚至为解决生产或工作流程中的某个问题营运而生 的。这些项目的共同特点是:规模较小;功能较简单;工期较短:参与开发的人 员较少;资金较少等等,通常是为解决具体问题而为用户“量身定做”,如企业 内部网、人力资源管理系统、工资系统、销售系统、生产控制系统等等。这样的 小型软件项目一般由小型软件公司承担开发,或者由大型企业内部i t 部门开发。 小型软件公司或者企业内部i t 部门在项目管理方面的投入一般较少,加上我国 软件项目管理的研究与推广起步较晚,很多小型软件开发组织对软件项目的管理 还停留在“作坊式”的生产模式上,小型软件项目多由几人承担,有的甚至是个 人单打独斗。在实际工作中,按传统的“作坊式”开发,项目的成本、进度、质 量方面往往得不到保障。“作坊式”的开发模式导致的主要问题是:重技术轻管 理;技术骨干即是项目经理:岗位职责不清;沟通欠缺、缺乏团队凝聚力;没有 规范的开发流程;需求分析不细致、范围控制不当;工作量估计不足:设计过程 粗糙、测试工作简单;不重视软件产品质量等等。为了避免这些问题,为了保证 小型软件开发项目成功,需要科学、规范的项目管理。 第一章绪论 第二节研究思路和方法 如何对小型软件开发项目进行科学、规范的管理呢? 软件项目管理目前没有 统一的模式,传统的瀑布模型至今还是最简单、运用最广的开发管理模式。目前 很多软件开发公司提出了一些新的管理模式,如微软公司为信息系统开发所推动 的微软解决方案模型( m i c r o s o f ts o l u t i o nf r a m e w o r k ;简称m s f ) 、i b m 公司推 出的统一开发过程模型( r a t i o n a lu n i t e dp r o c e s s ,简称r u p ) 、以及“能力成熟 度模型”( c a p a b i l i t ym a t u r i t ym o d e l ,简称c m m ) 和今年来流行的“敏捷模型” ( a g i l em o d e l ) 等等。这些模型的目的都是为了提供一个模型和方法来保证软件 项目能够按照既定的目标,保质、保量、按进度、不超出预算成本且顺利地完成。 本文研究的主要思路和方法是以软件工程的思想和项目管理的理论为基础,基于 小型软件项目的特点,针对目前“作坊式”开发存在的主要问题,借鉴多种软件 开发流程和项目管理流程,结合工作实际总结成功管理小型软件开发项目的几个 要点,并以实例说明。 电气和电子工程师协会( i n s t i t u t eo f e l e c t r i c a la n de l e c t r o n i c se n g i n e e r s ,简称 i e e e ) 学会将软件工程定义为:( 1 ) 应用系统化的、学科化的、定量的方法, 来开发、运行和维护软件,将工程方法应用到软件。( 2 ) 对( 1 ) 中各种方法的 研究【2 】。软件工程是- - f 研究用工程化方法构建和维护有效的、实用的和高质量 的软件的学科,它涉及到程序设计语言、数据库、软件开发工具、系统平台、标 准、设计模式等方面。软件工程的基本原理包括:软件生命周期分阶段计划管理, 阶段评审,产品控制,使用现代程序设计技术,结果应能清楚地审查,开发小组 的人员应少而精,以及不断改进软件工程实践。软件工程根据软件生命周期的特 点纵向的划分软件开发任务,本文将小型软件开发项目的开发过程划分为几个连 续的阶段:概念、需求分析、系统设计、编码、测试、部署与维护,并经过阶段 计划、实现、评审和改进来推动软件开发的进程。 美国项目管理学会( p r o j e c tm a n a g e m e n ti n s t i t u t i o n ,简称p m i ) 建立了一套项 目管理知识体系( p m b o k ) 指南是作为了解和学习项目管理的知识框架和起 点。它包括项目管理引论、九大项目管理知识领域的简要描述以及相关术语。在 这个知识体系指南中,把项目管理划分成五个过程和九大知识领域。五个过程包 小型软件开发的项目管理研究 括起始过程、计划过程、执行过程、控制过程和收尾过程,纵向的提供了通用的 项目管理流程;九大知识领域包括范围管理、时间管理、成本管理、质量管理、 人力资源管理、沟通管理、采购管理、风险管理和综合管理,项目管理知识领域 理论横向的提供了通用的项目管理方法。小型软件开发也属于项目的范畴,其开 发过程中各阶段都会涉及到其中多种知识领域。 第三节主要内容和论文结构 一、主要内容 1 小型软件开发过程中存在的主要问题 分析目前在“作坊式”开发模式下小型软件开发项目存在的主要问题,是哪 些因素导致小型软件项目不能按时、按质、在预算里完成。并提出为保证小型软 件开发项目高质量地按时在预算内完成全部软件系统功能已满足客户需求,需要 科学、规范的项目管理。 3 软件项目管理的理论基础 本文的理论基础是:软件项目的知识与技术特性和以客户为中心的实现理 念;软件工程划分软件项目生命周期坚持阶段评审等原理;项目管理一般过程和 项目管理相关知识领域。为提出小型软件开发项目管理的方案奠定理论基础。 3 。小型软件开发项目管理的要点 本章针对“作坊式”小型软件开发过程中存在的主要问题,基于软件工程和 硕目管理的理论和方法,提出小型软件开发需要科学、规范的项目管理。但由于 小型软件自身的特点,不需要按部就班的实施项目管理的全过程,本文提出管理 小型软件开发项蟊的要点是:成立项目评审委员会阶段评审项目;选拔项目经理; 组建项目团队,划分职责、分工合作;选择适当的开发过程;遵循规范的项目管 理流程;重视和加强需求管理和配置管理。 4 案例分析 以某大型企业内部软件工程部为背景,通过两个小型软件开发项目为案例进 行分析。案例一是“作坊式”开发的软件应用系统,在其后续改进过程中遇到的 各种问题,说明小型软件开发项目需要项目管理;案例二是在项目管理下开发的 4 第一章绪论 软件应用系统,在其开发过程中实施项目管理,以实例说明如何管理小型软件开 发项目。 二、论文结构 本文分为五章: 第一章是绪论。是全文的概述,包括研究背景、研究意义、研究思路以及本 文结构。 第二章是小型软件开发项目管理的现状分析。本章提出问题、分析问题。首 先总结小型软件项目的共同特点,界定小型软件开发项目。第一节分析“作坊式” 小型软件开发过程中存在的主要问题,指出这些问题导致项目超时、超预算、与 客户期望不符,导致项目失败,给组织带来损失。第二节提出为避免上述问题, 小型软件开发项目需要科学、规范的项目管理,以及项目管理对小型软件开发项 目成功的重要意义。 第三章是软件项目管理的理论基础。介绍软件工程和软件工程项目管理的一 般理论和方法,作为论文的理论基础。 第四章是小型软件开发项目管理的要点。本章针对第二章“作坊式”小型软 件开发的主要问题提出解决方案,是全文的重点。第一节成立项目评审委员会和 选拔项目经理。实施阶段评审以控制项目范围、进度、资源,选拔项目经理负责 项目计划、领导、管理、沟通、汇报。第二节组建高效的项目团队。本节主要对 目前常用的两种团队模型进行比较。结合实际工作经验总结出组建小型软件开发 项目团队的原则并建议适合的组队模型。第三节简单介绍三种传统的软件开发模 型:瀑布模型、迭代模型和螺旋模型,并对其优缺点和适用范围进行比较,提出 根据软件开发项目的实际情况选择适当的开发模型,瀑布模型因其简单易行的特 点比较适合一般的小型软件开发项目。第四节是要制定和遵循规范的软件项目管 理流程。论述和比较m s f 模型和r u p 模型。第五节阐述需求管理和配置管理的 内容、功能、重要性和流程,强调需求分析和软件配置对保证小型软件开发项目管 理成功的重要意义。 第五章是小型软件开发项目管理的案例分析。以某大型企业内部软件开发部 门为组织背景,以笔者亲历的两个小型软件开发项目作为案例进行实证研究。 最后对全文进行总结,提出有待进一步研究的问题。 本文的逻辑关系如图l l 所示。 小型软件开发的项目管理研究 第一章 第二章 第兰章 第四章 第五章 结论 图1 - 1 本文的逻辑关系图 问题提出:为什么要研究小型软件开发的项目管理? 怎么 研究? 文章的结构 问题分析:小型软件开发项目的特点,当前存在的主要问 题,项目管理的重要意义。 理论论述;软件工程和软件项目管理的理论基础,说明为 什么项目管理可以解决第二章提出的问题。 解决方案:小型软件开发项目管理的要点:成立项目管理 评审委员会、选拔项目经理、组建高效的项目团队、选择 适合的软件开发模型、遵循规范的项目管理流程、强化需 求管理和配置管理。 案例分析;实例说明为什么要科学、规范的管理小型软件 项目以及如何管理。 结论和展望:研究结论是什么? 应用价值如何? 有待进一 步研究的问题是什么? 6 第二章小型软件开发项目管理的现状分析 第二章小型软件开发项目管理的现状分析 在软件开发的实际工作中,有大量规模较小的项目,如企业内部网、员工管 理系统、工资系统、销售系统、生产控制系统等等。这些软件开发项目共同特点 是:项目规模较小;功能较简单 工期较短;参与开发的人员较少;资金较少等 等,通常是为解决具体问题而为用户“量身定做”。小型软件开发项目尽管投资 较少,但广泛的存在于各行各业。在我国当前,大量的企业、事业和机关单位信 息化建设方兴未艾,人们对计算机的应用还不算熟练。为实现部分工作自动化、 信息化,大量功能简单的软件需求应运而生,这些的软件项目通常行业针对性强、 用户要求界面简单、系统高效实用并且工期也较短。但正是大量的小型软件应用 推动着我国信息化建设向前迈进。 在美国,其的软件企业发展遥遥领先于其他国家。作为全球最大的软件生产 国,美国共有软件企业8 万多家。世界5 0 0 强软件企业前1 0 位中有8 家公司的 总部设在美国,其中包括微软、思科、i b m 、甲骨文、s u n 等。除了这些大型 软件公司,美国还有成千上万家小型软件公司。在我国,根据广东省2 0 0 2 年统 计数据。,全省3 4 4 7 家软件企业按从业人员规模分,5 0 人以下的企业3 1 5 3 家, 占9 1 5 ;其从业人员和全年营业收入分别为3 7 3 万人和7 3 8 0 亿元,占全省的 比重为5 2 3 和4 1 ,6 。5 0 0 人以上的企业仅有6 个,占全省0 1 的比重,其从 业人员和营业收入却占了7 2 和3 8 。据2 0 0 4 年经济普查数据显示 ,福建省 平均每家软件企业员工人数仅1 8 人,无一家软件企业员工超过干人,5 0 人以下 的软件企业占9 3 7 。从营业收入看,1 0 0 万元以下的占7 7 1 ,1 0 0 1 0 0 0 万的 占1 8 6 ;从资产规模看,1 0 0 万元以下的占6 6 8 ,1 0 1 0 0 0 万元的占2 6 0 。 从这些数据可以看出在全球信息化建设行列中,存在大量的小型软件开发企业。 这些小型软件开发企业由于规模小,存在着资金、人才和抗风险能力不足等问题, 不具有与国内外大型企业抗衡的实力,因此承接大型软件项目的机会有限,这些 企业多数承担小型软件开发项目。另一方面,随着信息化建设的深入,许多大型 。摘自中国电子报2 0 0 6 1 0 。摘自广东省统计信息网,h t t p :2 1 0 7 6 6 4 3 8 t j f x t 2 0 0 4 0 4 0 6 1 0 6 1 5 h t m ,2 0 0 4 4 6 。摘自中华人民共和国国家统计局网站,h t t p :p 2 1 0 7 23 22 6 w a s 4 0 r e l d e t a i l j s p ? d o c i d - 一4 0 2 3 6 0 5 2 8 2 0 0 6 1 0 7 小型软件开发的项目管理研究 公司都拥有或逐步建立自己的i t 部门,负责管理公司内部的计算机软硬件系统, 网络系统等等:同时负责开发公司内部小规模应用系统,如帮助企业改造流程的 生产系统、提高原共工作效率管理系统或者提供决策支持的数据分析系统等等。 小型软件公司或者大型企业内部i t 部门在项目管理方面的投入一般较少,加上 我国软件项目管理的研究与推广起步较晚,很多软件开发组织对软件项目的管理 还停留在“作坊式”的生产模式上,小型软件项目多由几人承担,有的甚至是个 人单打独斗。在实际工作中,按传统的“作坊式”开发,项目的成本、进度、质 量方面往往得不到保障。 综合来看,小型软件开发项目的共同特点是:项目规模较小、功能较简单、 投资较少、项目工期较短、参与开发的人员较少。本文所指的小型软件开发项目 是:直接参与开发人数小于1 0 人;开发周期小于1 8 个月。;由小型软件开发组 织承担开发:为客户量身定做的功能相对简单的软件开发项目。这里所指的小型 软件开发组织是指直接参与软件开发人员3 2 5 人的小型软件公司。或大型企业 内部i t 部门。 第一节小型软件开发过程中存在的主要问题 小型软件项目因其规模较小;功能较简单;工期较短;参与开发的人员较少: 资金较少等等,通常是为解决具体问题而为用户“量身定做”等特点,多数以“作 坊式”模式开发。按传统的“作坊式”开发,小型软件项目多由几人承担,有的 甚至是个人单打独斗。“作坊式”的开发往往导致项目最终超期、超资或不符合 客户要求而失败,有的项目尽管开发成功但生命力较短。结合实际工作,小型软 件开发过程存在以下几个常见的问题:重技术轻管理、技术骨干即是项目经理、 开发团队没有明确的分工、团队沟通欠缺、用户需求分析不细致、需求随意变更、 工作量估计不足、设计过程粗糙、测试工作简单、不重视软件产品质量等等。 1 重技术轻管理 重技术轻管理在一些软件开发或从事信息技术开发的企业中普遍存在。开发 。参考 :一一需求逍畦j ) 削堙 i ;i 迓 毒p # 霭p2 j粕念书陌 目翩 摩日接连: 口i m # : 捌曼i 捌: 备甍苴= *一 一目越日 蕞目坦j 蛆, 目蟑【h : 量设鲁t*王 且苴 小型软件开发的项目管理研究 图4 1 3 用户需求列表模板 用户需求列衰 项目名称 序号1 用户臂隶1 裴末1 鼗1 菸蓝】靛1 凡琏垤器1 提交n 期1 期瞢蠢威卜指黯 宴雷舻 提交者 lil iiii1 ifiliiij1 iillll 11li 步骤如下: 产品经理分析业务需求,完成用户需求列表。对每项需求,根据付出和获益 判断是否要做和优先级别。项目组和客户讨论用户需求列表,如果达成共识,进 入下个阶段。否则,产品经理将根据讨论结果进一步修改用户需求列表,重新组 织讨论直到通过。 ( 3 ) 功能需求说明 功能需求说明阶段由产品经理完成软件需求说明书。软件需求说明书的目的 是为了在客户和项目组之间对于客户的需求达成一致的理解。软件需求说明书主 要是对接口、软件功能需求、性能需求以及逻辑需求进行说明,如图4 1 4 。软件 需求说明书是客户与开发组沟通需求的桥梁。 步骤如下:产品经理完成软件需求说明书。项目经理检查软件需求说明书, 如果同意则项目组和客户开会讨论改说明书,之后进入项目计划阶段。否则,产 品经理修改软件需求说明书,重新提交项目经理检查直到通过。 在软件需求规格说明书中说明的功能需求充分描述了软件系统所应具有的 外部行为。软件需求规格说明在开发、测试、质量保证、项目管理以及相关项目 功能中都起了重要的作用。作为功能需求的补充,软件需求规格说明还应包括非 功能需求,它描述了系统展现给用户的行为和执行的操作等。它包括产品必须遵 从的标准、规范和合约;外部界面的具体细节;性能要求:设计或实现的约束条 件及质量属性。所谓约束是指对开发人员在软件产品设计和构造上的限制。质量 属性是通过多种角度对产品的特点进行描述,从而反映产品功能。多角度描述产 品对用户和开发人员都极为重要。 第四章小型软件开发项目管理的要点 二、软件配置管理 图4 1 4 软件需求规格说明书模板 1 文档简介 11 文档目的 12 文档范围 2需求说明 2 1 综述 2 2 接口 2 2 l 用户接口 2 22 通信接口 2 , 23硬件接口 2 2 4 软件接口 2 3 功能需求 2 3 t功能1 2 4 性能需求 2 j 逻辑数据库需求 26 其他需求 一 3 咐件 3 l 缩写定义一 32 参考文档 3 3 文档修订历史记录 3 4 文档批准历史记录 1 配置管理定义 配置管理f c o n f i g u r a t i o nm a n a g e m e n t ,简称为c m ) 是通过技术或行政手段对 软件产品及其开发过程和生命周期迸行控制、规范的一系歹0 措施。配置管理的目 标是记录软件产品的演化过程,确保软件开发者在软件生命周期中各个阶段都能 得到精确的产品配置。1 1 8 】 配置管理过程是对处于不断演化、完善过程中的软件产品的管理过程。其最 终目标是实现软件产品的完整性、一致性、可控性,使产品极大程度地与用户需 求相吻合。它通过控制、记录、追踪对软件的修改和每个修改生成的软件组成部 件来实现对软件产品的管理功能。对于小型软件开发项舀,软件配置管理最大的 好处就是进行软件版本管理。不会因为个别开发人员的变动而找不到源代码,避 免为日后的软件系统维护和升级工作留下隐患。同时配置管理可以帮助发布或部 署人员根据情况恢复软件系统到以前任何一个版本。 2 软件配置管理在项目管理中的作用 随着软件系统的日益复杂化和用户需求、软件更新的频繁化,配置管理逐渐 成为软件生命周期中的重要控制过程,在软件开发过程中扮演着越来越来重要的 角色。一个好的配置管理过程能覆盖软件开发和维护的各个方面,同时对软件开 小型软件开发的项目管理研究 过程的宏观管理,即项目管理,也有重要的支持作用。良好的配置管理能使软件 开发过程有更好的可预测性,使软件系统具有可重复性,使用户和主管部门用软 件质量和开发小组有更强的信心。 软件配置管理的最终目标是管理软件产品。由于软件产品是在用户不断变化 的需求驱动下不断变化,为了保证对产品有效地进行控制和追踪,配置管理过程 不能仅仅对静态的、成形的产品进行管理,而必须对动态的、成长的产品进行管 理。由此可见,配置管理同软件开发过程紧密相关。配置管理必须紧扣软件开发 过程的各个环节:管理用户所提出的需求,监控其实施,确保用户需求最终落实 到产品的各个版本中去,并在产品发行和用户支持等方面提供帮助,响应用户新 的需求,推动新的开发周期。通过配置管理过程的控制,用户对软件产品的需求 如同普通产品的订单一样,遵循一个严格的流程,经过一条受控的生产流水线, 最后形成产品,发售给相应用户。从另个角度看,在产品开发的不同阶段通常 有不同的任务,出不同的角色担当,各个角色职责明确,泾渭分明,但同时又前 后衔接,相互协调。 好的配置管理过程有助于规范各个角色的行为,同时又为角色之间的任务传 递提供无缝的接合。正因为配置管理过程直接连接产品开发过程、开发人员和最 终产品,这些都是项目主管人员所关注的重点,因此配置管理系统在软件项目管 理中也起着重要。配置管理过程演化出的控制、报告功能可帮助项目经理更好地 了解项髯的进度、开发人员的负荷、工作效率和产品质量状况、交付目期等信息。 同时配置管理过程所规范的工作流程和明确的分工有利于管理者应付开发人员 流动的团境,使新的成员可以快速实现任务交接,尽量减少因人员流动而造成的 损失。 3 配置管理的功能 配置管理系统应该具备以下主要功能【1 8 l : 并行开发支持:因开发和维护的原因,要求能够实现开发人员同时在同一个 软件模块上工作,同时对同一个代码部分作不同的修改,即使是跨地域分布的开 发团队也能互不干扰,协同工作,而又不失去控制。 修订版管理:跟踪每一个变更的创造者、时间和原因,从而加快问题和缺陷 的确定。 第四章小型软件开发项目管理的要点 版本控制:能够简单、明确地重现软件系统的任何一个历史版本。 产品发布管理:管理、计划软件的变更,与软件的发布计划、预先定制好的 生命周期保持一致;项目经理能够随时清晰地了解项目的状态。 建立管理:基于软件存储库的版本控制功能,实现建立( b u i l d ) 过程自动化。 过程控制:贯彻实施歼发规范,包括访问权限控制、开发规则的实施等。 变更请求管理:跟踪、管理开发过程中出现的缺陷( d e f e c t ) 、功能增强请 求( r f e ) 或任务( t a s k ) ,加强沟通和协作,能够随时了解变更的状态。 代码共享:提供良好的存储和访问机制,开发人员可以共享各自的开发资源。 4 配置管理的一般流程 配置管理的一般流程如图4 1 5 所示。 图4 - 1 5 配置管理流程图 至至堕 一1 配 置 宙 计 ( 1 ) 制定配置管理计划 配置管理员制定配置管理计划,主要内容包括配置管理软硬件资源、配 置项计划、基线计划、交付计划、备份计划等。配置控制委员会( c o n f i g u r a t i o n c o n t r o lb o a r d ,简称c c b ) 审批该计划。 ( 2 ) 配置库管理 配置管理员为项目创建配置库,并给每个项目成员分配权限。各项目成员根 据自己的权限操作配置库。配置管理员定期维护配置库,例如清楚垃圾文件、备 份配置库等。 ( 3 ) 版本控制 在项目开发过程中,绝大部分的配簧项都要经过多次的修改才能最终确定下 5 9 小型软件开发的项目管理研究 来。对配置项的任何修改都将产生新的版本。由于我们不能保证新版本一定比老 版本“好”,所以不能抛弃老版本。版本控制的目的是按照一定的规则保存配置项 的所有版本,避免发生版本丢失或混淆等现象,并且可以快速准确地查找到配置 项的任何版本。 配簧项的状态有三种:“草稿”、“正式发布”和“正在修改”,本规程制定了 配置项状态变迁与版本号的规则。 ( 4 ) 变更控制 在项目开发过程中,配置项发生变更几乎是不可避免的。变更控制的目的就 是为了防止配置项被随意修改而导致混乱。 修改处于“草稿”状态的配置项不算是“变更”,无需c c b 的批准,修改者 按照版本控制规则执行即可。 当配置项的状态成为“正式发布”,或者被“冻结”后,此时任何人都不能 随意修改,必须依据“申请一审批一执行变更一再评审一结束”的规则执行 ( 5 ) 配置审计 为了保证所有人员( 包括项目成员、配置管理员和c c b ) 都遵守配置管理 规范,质量保证人员要定期审计配置管理工作。配置审计是一种“过程质量检查” 活动,是质量保证人员的工作职责之一。 以上五个方面是借鉴一般软件开发的项目管理内容。但是本文研究的是小型 软件开发项目,由于小型软件开发项目投资较少,承担开发的组织一般是小型软 件公司或大型企业的i t 部门。这些组织由于人力资源、资金限制等原因,没有 形成规范的项目管理流程和制度。另外完整的项目管理流程需要较大的开销,对 小型软件开发项目并不适用。因此本章是针对“作坊式”开发模式导致的小型软 件开发过程中存在的主要问题,结合工作实践提出的小型软件开发的项目管理要 点。 第五章小型软件开发项目管理过程的案例分析 第五章小型软件开发项目管理过程的案例分析 在前面章节,界定了小型软件开发项目,分析了现行小型软件开发过程中常 见的主要问题,阐述了软件工程和项目管理的基本原理和方法,提出小型软件开 发项目需要进行科学的、规范的项目管理。区别于大型软件开发项目,小型软件 开发项目的管理并不是如同大型软件开发项目那样按部就班的执行项目管理,而 是根据小型软件开发项目的特点,针对存在主要问题,提出对小型软件开发项目 进行管理的几个要点,即成立项目评审委员会、选拔项目经理、组建高效的项目 团队、选择适当的开发模型、遵循规范的项目管理过程、强化需求管理和配置管 理。本章以某大型跨国公司内部软件工程部为组织背景,以两个小型软件开发项 目为例,通过分析说明小型软件开发需要科学、规范的项目管理,以及文章提出 的项目管理要点对小型软件开发项目成功的实践意义。案例一是要改进一个“作 坊式”开发的现有的软件应用系统;案例二是以项目管理模式和流程开发一个新 的软件应用系统。 第一节小型软件开发项目失败的案例分析 案例背景:该案例涉及的开发组织是某大型跨国公司内部软件工程部,负责 本地分公司内部应用系统开发和全球系统的本地部署以及维护这些系统。案例一 是该组织背景下,用户要求对现有的一个生产问题跟踪系统( i s s u et r a c k i n g s y s t e m ,简称i t s ) 进行改进。要求软件工程师x 在3 个月内帮助实现i t s 与另 一个系统q a s 接口,提供用户界面选择记录并自动将该记录相关的信息从q a s 导入i t s 。该改进项目范围较小,功能较简单;直接开发人员1 人;内部改进系 统没有额外的硬件系统和人力资源投资:工期3 个月内:符合小型软件开发项目 的界定。该系统帮助记录、跟踪、提升生产中出现的问题,是一个w e b 应用系 统。 该软件工程部共1 6 人,分为3 个子部门,如图5 1 所示的组织结构图。该 部门除了高级经理和子部门经理以外,其他人员都是软件工程师,分别负责维护 小型软件开发的项目管理研究 和开发不同的内部应用系统。成员之间除了互为系统的维护后备( b a c k u p ) 之外, 开发工作各自为政,单打独斗。 该部门没有制定开发流程,没有专人负责项目管理,没有控制开发系统进度 的依据,没有分阶段开发,没有项目计划,应用系统是否能按时按质的完成依赖 于该工程师的开发能力和工作态度。有时一个项目一拖再拖,直到最后自然消亡; 有时快速完成的系统却跟用户需求相去甚远,不得不返工;有的交付使用后错误 百出,用户怨声载道;有的系统由于开发人员工作变动而遗失源代码,为维护和 改进工作留下隐患,有时不得不重新开发。这姥问题在第二章中已经分析过 图5 1 案例一组织结构示意图 筮性王程酆 高级经理 i 赶f =j 部门经理i 。_ j 软件】:程师 软件工程师 软件工程师 王赶 三j 部门经理i 一 软件工程师 软件工程师 软件工程师 软件工程师1 软件工程师 王整c 三j 部门经理1 。_ j 1 软件工程师 1 ,一 1 软件工程师 i 。一 厂丽丽 软件工程师 该应用系统从1 9 9 8 年丌始发起,用户不断提出需求以增加功能来适应公司 业务的变化,先后经过5 - 6 个软件工程师修改,现由软件工程师x 负责管理和 改进。每次用户提出新的需求,只要通过开会、电话或电子邮件直接提交给软件 工程师x 。该工程师收到需求,不论需求多少,改动多少,立刻开始编写或改动 代码,然后简单地测试功能是否实现便交给用户使用,如果有用户遇到问题再实 现或者再修改。该软件系统就是典型的“作坊式”开发模式的产物,软件工程师 x 如同救火队员,整日疲于应对不断变化的需求。 这时由于软件工程师x 工作变动,该系统移交给新员工软件工程师y 。由y 负责本次改进系统的开发工作。由于该系统没有生成任何需求、分析、设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论