论文部分内容阅读
摘要:项目的时间管理也就是项目的进度管理,对于软件开发项目来说,项目的时间管理是控制软件开发整体时间的主要手段,本文对软件开发的项目时间管理进行深入的分析,为保证软件开发项目的如期完成提供相应的建议。
关键词:软件开发;时间管理;进度控制
中图分类号:TP311文献标识码:A文章编号:1007-9599 (2011) 24-0000-02
Time Management Analysis in the Software Development
Lei Jing
(School of Information Management,Wuhan University,Wuhan430064,China)
Abstract:Project Time Management is the progress of the project management for software development projects,project time management is to control the whole time of the main software development tool,this time for software development project management in-depth analysis,in order to ensure the software timely completion of development projects to provide appropriate recommendations.
Keywords:Software development;Time management;Schedule control
信息产业的不断发展,带动了软件开发行业的强盛兴起。在软件开发工程中的项目时间管理,是保证工程如期完工、软件按期投入使用的先决条件。但在实际的软件开发工程管理中,往往忽视对项目时间的有效控制和管理,经常会导致工程的延期甚至失败,这不仅给开发队伍造成一定的经济和信誉影响,还会造成严重的社会影响。所以在进行软件开发时,项目管理者应该意识到时间管理的重要性,运用合理的时间管理方式,保证软件工程的顺利完成。
一、软件开发时间管理的过程
软件的时间管理与一般的项目时间管理相同,项目时间管理主要包括五个过程,分别为:活动定义、活动排序、活动历时的估计、进度计划的制定以及进度的控制。而软件的时间管理根据一般项目时间管理理论,再结合软件开发的实际经验来进行管理,它分为以下五个过程:
(一)软件项目的任务定义
软件项目定义是指软件项目完成并能成功交付使用所必须进行的具体项目活动。它将整个项目工程分解分较小的、容易管理的工作包,这些工作包也是保障整个工程顺利交付所进行的有效的、详细的任务。通常情况下项目经理会采用WBS的分解形式,来将具体的任务进行明确并列成清单。
(二)软件项目的活动排序
它是指明确各项活动之间的相互关系,并形成文档资料,以务参考。活动排序可在产品的描述和任务清单的基础上,找到项目任务之间的相互关系,以及特殊领域的依赖关系和工作排序。进行任务排序时,既要考虑团队的内在条件,也要考虑到团队内部与外部的各种关系。所以项目里程碑的设立是任务排序重要手段,项目经理一般采用会选的图示法、条件图示法以及网络模板法等方法来进行任务关系的定义,从而形成系统的项目网络图。
(三)软件项目的工作量估计
软件项目工作量的估计是指,具体估算出完成每个单项活动所需要的时间。它主要是根据项目的范围、资源的状况来计划出项目进行所需要的工期。在进行工期估算时,要全面的考虑到任务的清单、资源的合理需求、团队的能力以及客观的环境因素有可能对工期造成的景程。项目工作量的估算一般可采用专家评估、模拟估算等方法,在进行估算时,为防止一些客观风险的影响,可以适当的增加一些保留时间。
(四)软件项目的进度计划制定
软件项目的进度计划编制是指,制定出完整的项目进度计划,并根据实际情况采取相应的措施来保证项目目标的实现,且最短的时间内、花费最少的成本。通过对项目进度计划制定,可以充分的对结总进度目标和阶段性目标进行调控和分配。
(五)软件项目的进度控制
软件项目的进度控制是指,对进度计划的实施情况进行偏差分析和预测,以便及时的对进度计划进行良好变更和控制。它包含了项目对工期的要求、项目的经济条件、项目的技术基础、各分项的时间估计等。在项目进度中通常采用甘特图来显示项目的信息,采用PERT来分析项目潜在的风险,采用关键路径来制定和控制项目的进度计划。
二、软件开发项目时间管理上存在的问题
(一)工作量估算错误
在实际的软件开发工作中,项目经理对工作量的推算可能出现一定的误差。比如对一名程序员的编程进度进行推算,只是根据程序的难易程度,来推算他所需要的设计时间。但是在实际的软件开发过程中,有可能出现程序员或者测试员结客户的开发平台不熟悉,使得项目的工作人员不得不用掉大量的时间来熟悉和掌握,客户的开发平台。也可能存在技术人员在程序编制上遇见瓶颈,花费的时间超出推算的现象。项目经理在工作量的主观估算上出现的误差,很容易造成工程的延期。
(二)进度计划不合理
软件开发项目的手册数量较多,有的甚至多达数百页,项目小组的成员面对数量繁杂的手册,自然会产生困难感,对项目开发任务产生一定心理负担。这种情况下,项目经理为了减轻开发人员的心理负担,往往在进度计划的前面安排一些难度较小的程序。软件项目开发人员在完成了难度较小的程序之后,往往会低估了后面程序的难度,当遇见难度较大的程序时,便会缺乏相应的危机对策和技术应变能力。另外,项目经理在安排每位PC成员进行程序处理时,由于忽视了成员的学习能力,安排每一名成员同时去处理不同类型程度的技术难点,实际编写中同一类型的程序具有相同的技术难点,当PC成员在完成了第一部程序的编写时,就很容易掌握其技术难点的处理技巧,再进行第二部程度编写时就会容易的多。如果让每位成员同时面对每个程序的技术难点,就很容易造成时间和智力的浪费,也影响和团队的工作情绪。
(三)进度控制不当
在软件开发过程中,由于进度控制不当而造成的失控现象会导致严重的后果。当项目出现技术难题时,项目经理的组织能力非常重要,如果项目经理的组织协调不当,就很容易造成技术难题无法攻克,软件开发出现瓶颈。项目经理对技术难点应该具有一定的预测能力和组织能力,尽量发现能够解决技术难题的人才,并应用此种人才对技术难题进行解决和咨询。另外,在进行软件项目的开发过程中,也会出刊设计的频繁变更问题,设计的频繁变更是导致项目延期的重要原因。所以项目经理在项目开始之前就应该与客户做好沟通,全面了解客户的具体需求,这样就避免了在项目实施过程中频繁接受客户设计变更的被动性。
(四)个人时间管理消极
软件开发项目应该是团队的集体协作和共同的智慧成果体现,但是在开发过程中,由于技术难题、工作量大等原因,往往会造成PC成员的个人工作情绪不佳。也会出现部分成员没有利用好自己的时间,对开发手册不掌握不熟练,眼里只有自己面前的技术难题,因而陷入了消极的工作状态。项目经理应该全面了解每位PC成员的工作状态,对存在消极工作状态的成员,进行适当的帮助和指导,从而保证每位成员的工作进度,体现出良好的团队精神。
三、时间管理的相应建议
(一)项目进度的科学编制
项目任务之间的时间推算往往会受到各种因素的影响,比如任务之间的关系、任务的延时、以及项目日历听非工作日等情况。一般情况下项目进度的计划编制都会采用PDM法来作为任务之间的时间推算基本方法;采用关键日期表编制的时间最短,费用最低;采用甘特图所需要的时间要长一些,其费用也稍高;而采用CPM法则要对每个活动进行具体的分析,如果活动的数量较多时,还需要应用计算机来计算出总的工期和关键路径。在实际的任务实施过程中,通常在出在很多不同任务关系的前导任务或者后导任务情况,甚至会出现一些任务环情况。因此,具体采用哪一种进度计划方法需要结合工程的实际,充分考虑项目的规模、复杂程度以及项目的细节要求程度等因素来进行选择。另外,在进度计划中还需要说明哪些工作必须于什么时间之前完成,和完成每一项任务所需要的时间,最好能够体现出每项活动所需要的人数。
(二)软件项目进度计划的变更管理
在实际的项目执行过程中,往往会出现项目进度计划变更的情况,这就需要对计划进行相应的调整。调整时,可根据变更产生原因的不同,而采取不同的对策。对于外部产生的需求变更所产生的偏差,项目经理可主动的支挖掘客户的潜在需求,避免造成后期的变更;对于计划进度的安排不当所产生的偏差,可以根据项目的进展情况进行适当的调整;对于资源不足所产生的偏差问题,可采用项目持续时间的压缩法和资源分配技术来进行解决;如果存在个人的技术水平原因或者时间管理不当原因,则应该进行相应的组织学习交流活动,并根据个人的情况进行计划的调整。
(三)软件项目开发团队的时间管理
软件项目是由于团队来完成的,所以人起着关键性的作用。无论是项目经理还是团队的普通成员,都应该对自身的时间进行高效的管理。项目经理从形如到结束都要对项目进行全方位的计划控制,项目经理要为项目成员提供方向、动力和支持,成员之间也需要维护良好的信任和协作关系,以实现团队的高效时间管理。
四、结论
软件开发的时间管理具有一定的科学性和随机性,在开发工作中必须结合产品的实际,以高效的时间控制方法来实现项目的管理目标。它不但需要项目经理具有较高的协调能力和组织才能,还需要团队普通成员的积极工作态度和合作精神,这也是软件开发时间管理的关键所在。
参考文献:
[1]曹桂涛,喻姗姗.软件项目的时间管理[J].计算机应用与软件,2010,7:75
[2]蒋晓科.时间管理在软件项目中的应用[J].软件设计开发,2011,5:1063
[3]胡海涛,余玉龙.时间管理在项目管理软件开发中的应用[J].企业战略,37-38
关键词:软件开发;时间管理;进度控制
中图分类号:TP311文献标识码:A文章编号:1007-9599 (2011) 24-0000-02
Time Management Analysis in the Software Development
Lei Jing
(School of Information Management,Wuhan University,Wuhan430064,China)
Abstract:Project Time Management is the progress of the project management for software development projects,project time management is to control the whole time of the main software development tool,this time for software development project management in-depth analysis,in order to ensure the software timely completion of development projects to provide appropriate recommendations.
Keywords:Software development;Time management;Schedule control
信息产业的不断发展,带动了软件开发行业的强盛兴起。在软件开发工程中的项目时间管理,是保证工程如期完工、软件按期投入使用的先决条件。但在实际的软件开发工程管理中,往往忽视对项目时间的有效控制和管理,经常会导致工程的延期甚至失败,这不仅给开发队伍造成一定的经济和信誉影响,还会造成严重的社会影响。所以在进行软件开发时,项目管理者应该意识到时间管理的重要性,运用合理的时间管理方式,保证软件工程的顺利完成。
一、软件开发时间管理的过程
软件的时间管理与一般的项目时间管理相同,项目时间管理主要包括五个过程,分别为:活动定义、活动排序、活动历时的估计、进度计划的制定以及进度的控制。而软件的时间管理根据一般项目时间管理理论,再结合软件开发的实际经验来进行管理,它分为以下五个过程:
(一)软件项目的任务定义
软件项目定义是指软件项目完成并能成功交付使用所必须进行的具体项目活动。它将整个项目工程分解分较小的、容易管理的工作包,这些工作包也是保障整个工程顺利交付所进行的有效的、详细的任务。通常情况下项目经理会采用WBS的分解形式,来将具体的任务进行明确并列成清单。
(二)软件项目的活动排序
它是指明确各项活动之间的相互关系,并形成文档资料,以务参考。活动排序可在产品的描述和任务清单的基础上,找到项目任务之间的相互关系,以及特殊领域的依赖关系和工作排序。进行任务排序时,既要考虑团队的内在条件,也要考虑到团队内部与外部的各种关系。所以项目里程碑的设立是任务排序重要手段,项目经理一般采用会选的图示法、条件图示法以及网络模板法等方法来进行任务关系的定义,从而形成系统的项目网络图。
(三)软件项目的工作量估计
软件项目工作量的估计是指,具体估算出完成每个单项活动所需要的时间。它主要是根据项目的范围、资源的状况来计划出项目进行所需要的工期。在进行工期估算时,要全面的考虑到任务的清单、资源的合理需求、团队的能力以及客观的环境因素有可能对工期造成的景程。项目工作量的估算一般可采用专家评估、模拟估算等方法,在进行估算时,为防止一些客观风险的影响,可以适当的增加一些保留时间。
(四)软件项目的进度计划制定
软件项目的进度计划编制是指,制定出完整的项目进度计划,并根据实际情况采取相应的措施来保证项目目标的实现,且最短的时间内、花费最少的成本。通过对项目进度计划制定,可以充分的对结总进度目标和阶段性目标进行调控和分配。
(五)软件项目的进度控制
软件项目的进度控制是指,对进度计划的实施情况进行偏差分析和预测,以便及时的对进度计划进行良好变更和控制。它包含了项目对工期的要求、项目的经济条件、项目的技术基础、各分项的时间估计等。在项目进度中通常采用甘特图来显示项目的信息,采用PERT来分析项目潜在的风险,采用关键路径来制定和控制项目的进度计划。
二、软件开发项目时间管理上存在的问题
(一)工作量估算错误
在实际的软件开发工作中,项目经理对工作量的推算可能出现一定的误差。比如对一名程序员的编程进度进行推算,只是根据程序的难易程度,来推算他所需要的设计时间。但是在实际的软件开发过程中,有可能出现程序员或者测试员结客户的开发平台不熟悉,使得项目的工作人员不得不用掉大量的时间来熟悉和掌握,客户的开发平台。也可能存在技术人员在程序编制上遇见瓶颈,花费的时间超出推算的现象。项目经理在工作量的主观估算上出现的误差,很容易造成工程的延期。
(二)进度计划不合理
软件开发项目的手册数量较多,有的甚至多达数百页,项目小组的成员面对数量繁杂的手册,自然会产生困难感,对项目开发任务产生一定心理负担。这种情况下,项目经理为了减轻开发人员的心理负担,往往在进度计划的前面安排一些难度较小的程序。软件项目开发人员在完成了难度较小的程序之后,往往会低估了后面程序的难度,当遇见难度较大的程序时,便会缺乏相应的危机对策和技术应变能力。另外,项目经理在安排每位PC成员进行程序处理时,由于忽视了成员的学习能力,安排每一名成员同时去处理不同类型程度的技术难点,实际编写中同一类型的程序具有相同的技术难点,当PC成员在完成了第一部程序的编写时,就很容易掌握其技术难点的处理技巧,再进行第二部程度编写时就会容易的多。如果让每位成员同时面对每个程序的技术难点,就很容易造成时间和智力的浪费,也影响和团队的工作情绪。
(三)进度控制不当
在软件开发过程中,由于进度控制不当而造成的失控现象会导致严重的后果。当项目出现技术难题时,项目经理的组织能力非常重要,如果项目经理的组织协调不当,就很容易造成技术难题无法攻克,软件开发出现瓶颈。项目经理对技术难点应该具有一定的预测能力和组织能力,尽量发现能够解决技术难题的人才,并应用此种人才对技术难题进行解决和咨询。另外,在进行软件项目的开发过程中,也会出刊设计的频繁变更问题,设计的频繁变更是导致项目延期的重要原因。所以项目经理在项目开始之前就应该与客户做好沟通,全面了解客户的具体需求,这样就避免了在项目实施过程中频繁接受客户设计变更的被动性。
(四)个人时间管理消极
软件开发项目应该是团队的集体协作和共同的智慧成果体现,但是在开发过程中,由于技术难题、工作量大等原因,往往会造成PC成员的个人工作情绪不佳。也会出现部分成员没有利用好自己的时间,对开发手册不掌握不熟练,眼里只有自己面前的技术难题,因而陷入了消极的工作状态。项目经理应该全面了解每位PC成员的工作状态,对存在消极工作状态的成员,进行适当的帮助和指导,从而保证每位成员的工作进度,体现出良好的团队精神。
三、时间管理的相应建议
(一)项目进度的科学编制
项目任务之间的时间推算往往会受到各种因素的影响,比如任务之间的关系、任务的延时、以及项目日历听非工作日等情况。一般情况下项目进度的计划编制都会采用PDM法来作为任务之间的时间推算基本方法;采用关键日期表编制的时间最短,费用最低;采用甘特图所需要的时间要长一些,其费用也稍高;而采用CPM法则要对每个活动进行具体的分析,如果活动的数量较多时,还需要应用计算机来计算出总的工期和关键路径。在实际的任务实施过程中,通常在出在很多不同任务关系的前导任务或者后导任务情况,甚至会出现一些任务环情况。因此,具体采用哪一种进度计划方法需要结合工程的实际,充分考虑项目的规模、复杂程度以及项目的细节要求程度等因素来进行选择。另外,在进度计划中还需要说明哪些工作必须于什么时间之前完成,和完成每一项任务所需要的时间,最好能够体现出每项活动所需要的人数。
(二)软件项目进度计划的变更管理
在实际的项目执行过程中,往往会出现项目进度计划变更的情况,这就需要对计划进行相应的调整。调整时,可根据变更产生原因的不同,而采取不同的对策。对于外部产生的需求变更所产生的偏差,项目经理可主动的支挖掘客户的潜在需求,避免造成后期的变更;对于计划进度的安排不当所产生的偏差,可以根据项目的进展情况进行适当的调整;对于资源不足所产生的偏差问题,可采用项目持续时间的压缩法和资源分配技术来进行解决;如果存在个人的技术水平原因或者时间管理不当原因,则应该进行相应的组织学习交流活动,并根据个人的情况进行计划的调整。
(三)软件项目开发团队的时间管理
软件项目是由于团队来完成的,所以人起着关键性的作用。无论是项目经理还是团队的普通成员,都应该对自身的时间进行高效的管理。项目经理从形如到结束都要对项目进行全方位的计划控制,项目经理要为项目成员提供方向、动力和支持,成员之间也需要维护良好的信任和协作关系,以实现团队的高效时间管理。
四、结论
软件开发的时间管理具有一定的科学性和随机性,在开发工作中必须结合产品的实际,以高效的时间控制方法来实现项目的管理目标。它不但需要项目经理具有较高的协调能力和组织才能,还需要团队普通成员的积极工作态度和合作精神,这也是软件开发时间管理的关键所在。
参考文献:
[1]曹桂涛,喻姗姗.软件项目的时间管理[J].计算机应用与软件,2010,7:75
[2]蒋晓科.时间管理在软件项目中的应用[J].软件设计开发,2011,5:1063
[3]胡海涛,余玉龙.时间管理在项目管理软件开发中的应用[J].企业战略,37-38