具体如下。
IT项目特点:1、时间紧迫性。任何项目都有周期限制,但是IT行业的特点决定了其在这方面有更加严格的要求。IT项目的紧迫性决定了项目的历时有限,具有明确的起点或终点,当达到了目标或目标被迫终止时,项目即结束。随着信息技术的飞速发展,IT项目的生命周期越来越短,时间甚至成为项目成功的决定性因素,因为市场时机稍纵即逝,如果项目的实施阶段耗时过长,市场将被竞争对手抢走。因此,作为IT经理在开始一个项目之前,就必须明确项目的时间约束,甚至具体到每一个任务都必须明确时间要求。2、项目独特性。按照项目定义可知,每一个项目都是惟一的,世界上没有完全一样的两个项目。
但是这一特性在IT领域表现得更为突出,IT项目不仅向客户提供产品,更重要的是根据客户的要求提供不同的解决方案。即使有现成的解决方案,也需要根据客户的特殊要求进行一定的客户化工作。
因此,IT项目经理必须在项目开始前通过合同(或等同文件)明确地描述或定义最终的产品是什么。如果刚开始对项目的目标没能定义清楚,或未达成一致,则最终交付产品或服务时将很容易发生纠纷,造成不必要的商务和名誉损失。在IT项目中,即便是定义清楚了项目的目标,客户仍然会经常调整实现指标,这就使得项目变得很难控制,因此这就需要项目组与客户单位有良好的沟通渠道,否则变更是无止境的。
3、不确定性。IT项目的不确定性是指项目不可能完全在规定的时间内、按规定的预算由规定的人员完成。因为项目计划和预算本质上是一种预测,在执行过程中与实际情况定会有差异。另外,在执行过程中还会遇到各种始料未及的“风险”,使得项目不能按原有的计划来运行。
项目开发方面
项目应以需求为核心。一个项目是否能够成功,对需求的准确把握在成功因素中要占上60%的比例。不管系统的架构设计、团队管理有多么的成功,如果需求出现偏差,仍然是南辕北辙。由于eas项目的特殊性,项目开发过程中能够与客户建立有效快速的沟通渠道,是项目成功的关键。
需求必须获得客户的确认。通过需求调研与分析后获得的用户需求说明书,以及软件需求规格说明书都必须得到客户的签字确认。确认的内容包括项目的目标、范围以及项目需求功能点(用例)。eas项目在前期对需求不够重视,导致在需求理解上出现了一些偏差,从而影响了项目的进度。幸而得到了及时的纠正,在项目管理部的协助下,所有需求都得了客户或客户代表的签字确认。从而使得项目在客户验收时,有了充分的保证。
项目应确立专门的需求分析师。公司没有专门的需求分析师,不能不说是人员配备上的一大弊端。(软件开放工作细分的第一步就是要有专门的系统分析员或需求分析师)从eas项目的开发过程中,我们就充分地认识到这一问题的严重性。需求的不断更改,客户迟迟未签字确认,原因正是在于我们没有专门的具有丰富经验的需求分析师。普通开发人员在调研需求以及撰写需求规格说明书时,总是会出现偏差或理解错误的地方。软件需求分析是一项重要且负责的技术,没有经过专门训练的需求分析师,通常会给项目带来隐患。
项目应指定各个模块的需求接口人。只有这样,才能有效地保证项目组与客户的及时沟通,快速响应客户的请求与反馈。eas项目在开发早期及时地确立了需求接口人,在一定程度上规避了需求变更给项目带来的风险。但是,确立的需求接口人未经过系统培训,在需求调研以及与客户沟通的过程中,工作表现只能说是差强人意。
注意维护需求调研记录以及需求跟踪表。这一工作做得不够好。由于需求调研人不够专业,而项目经理以及需求分析负责人对这一过程还欠缺足够的重视,同时没有好的工具或流程来监控这一过程,使得需求调研记录没有发挥更大的作用。此外,需求跟踪也非常重要,毕竟,任何项目的需求都不是固定不变的,需求随时会发生变更,而开发人员实现的需求也可能会与客户的要求偏差。
注意维护需求矩阵。项目经理对这一内容缺乏足够的重视与理解,项目开发过程体系中也缺乏好的需求矩阵文档模板。但是在项目中后期,项目及时撰写了eas项目需求功能列表,并结合交付版本与客户进行了沟通和协商,从而规避了需求偏差的风险。(需求追踪,任何原始需求来有头就有尾。原始需求->用户需求->产品需求->软件需求->设计->测试等一系列的追踪。需求追踪的目的一方面是检查需求是否都已经实现有无遗漏,更多的是为了做变更影响分析使用)
控制需求变更。重视ccb的作用,同时应建立需求变更的响应机制。eas项目组对于需求变更的响应还不够及时,这一点项目经理与项目管理小组要担负一定的责任。(范围管理中范围控制的内容,变更管理是配置管理的一个重要内容。需求必须要受到控制,否则容易引起计划的频繁调整而发生混乱)
设计
重视架构设计。eas项目的成功,一定程度是源于我们有个优秀的框架开发小组,我们在项目立项之初就基本确定了整个系统的架构。其中虽然发生了一些变化,但核心架构仍然没有发生大的变化。由于,我们建立了稳定、简单的系统框架,可以极大地提高开发效率,规避了对框架的重复编码。(软件开发的第二个重要分工就是最好有专门的架构设计人员,架构设计和总体设计要由1-2个人来完成,以保证高度的概念完整性和设计统一)[1][2][3][4]
善于对设计作出取舍。项目开发的三要素是成本、质量与进度。在保证质量的前提下,为了项目进度不出现大的偏差,eas项目组并没有过分强调技术,特别是在考虑进度的情况下,牺牲了系统的部分可扩展性。虽然这为系统的后期维护带来一定隐患,但却能够有效地保证项目的进度。从eas最初的架构设计来看,我们引入了 castle与aop,试图简化orm以及横切关注点例如日志、异常、权限、事务等功能的实现。同时,希望采用wcf,利用soa思想建立松散耦合的面向服务应用程序。但随着客户需求的变化,我们果断地放弃了采用wcf的构想,同时又克服了技术困难,坚持了对castle与aop的使用,并为此成立了框架开发小组。事实证明,在技术的抉择上我们作出了正确的决定。
重视ui原型设计。系统的原型设计与需求分析相辅相成。如果有好的原型版本交付给客户,则客户更能够理解系统的实现,促进沟通的有效性与准确性。在eas项目中,我们从一开始就确立了原型设计小组,并在分析需求阶段,就开始了原型设计。这一做法无疑在客户沟通、需求确认、ui设计等方面都发挥了很大的作用。但是,我们在这一点上,由于缺乏专门的ui设计人员,因此,这一工作还存在很大的缺陷,甚至于ui的设计为迭代版本的交付带来了很大的障碍。在项目后期,关于ui的bug是最多。因此,我们认为在开发类似的web应用程序时,应尽早确立ui设计规范,以约束所有的ui设计。同时,必须培养专门的ui设计师,在开始原型设计时,就尽快完成ui交互的设计。并且,必须成立专门的ui 设计小组,在需求阶段与需求分析师合作,在编码阶段与开发人员合作。(原型设计是加强前期用户需求挖掘和减少后期需求变更的重要手段,不一定需要专门的ui设计人员,原型设计可以由需求分析师来完成)
测试
测试成员应了解需求。如果不了解需求,测试人员无法编写正确的测试用例,同时在测试过程中,也可能因为错误地理解需求,从而导致报告错误的bug,影响开发人员效率。加强开发人员与测试人员的合作。开发人员必须及时响应测试人员提交的bug。而测试人员也应跟踪开发人员对bug的修复情况。(测试人员应该要意识到自己和需求分析人员的区别,测试人员不用想需求分析人员一样分析和开发业务,但是他们必须和需求分析人员一样对已经分析出来的需求和业务高度熟悉)
测试之初必须确定测试原则,对bug的严重程度进行分级。同时,必须确定修复bug的优先级别。
进度管理
保证项目进度不出现大的偏差的前提是制定一个好的项目计划。必须根据项目规模,成员情况,技术难度等多方面考虑整个项目计划。如果项目的deadline已经确定,则必须采用一些方法来保障项目计划的完成。首先是选择符合项目的软件开发生命周期。通常情况下,并不建议采用瀑布开发方式。最佳的办法,应该是 rup或者敏捷开发,然后结合原型法制订项目计划。这样可以规避因为需求变更产生的风险。
其次,要每日跟踪项目的进展情况。可以通过晨会、周会以及项目日报、项目周报了解项目进展情况。同时,需要为各个小组指定进度跟踪人,根据各个小组长的日报,判断实际的进度是否与计划出现偏差。
要制定项目进度偏差的应对方法。一旦项目进度出现了偏差,必须采取相应错误解决问题。或者通过加班、增加人手、申请项目进度等方法及时作出响应。
及时向项目成员汇报项目进度情况。只有让各个项目成员了解到项目现状,才能够给每个成员增加压力,不至于松懈。同时,也能够使得每个成员能有一个目标,而不至于茫然失措。
制定项目计划时,必须考虑阶段评审与同行评审的时间。这一点在eas项目中做得不够好。其中原因也是由于项目进度本身较紧的缘故。注意维护项目进度跟踪表与项目进度偏差跟踪表。让项目管理部以及qa及时掌握项目进度,有利于对项目进度的管理。
变更管理
变更包括需求变更、人员变更。如果不控制好,两者对项目的进展都会带来灾难性的后果。需求变更在前面已经叙述,而eas项目中发现人员变更的情况也非常严重,因此这里重点介绍关于人员变更的管理。
如果发生人员进入的情况,那么对项目带来的通常都会是好的影响。但我们也必须注意如何让新成员更快地融入团队。整体上讲,如果需要新成员加入,发生变更的最佳时机是项目前期。如果在项目中后期加入新成员,无疑则意味着项目出现了灾难性的后果。而新增加的成员,由于不熟悉项目,所能带来好的影响也是有限的。如果不处理好新成员与老成员之间的合作关系,反而会带来负面影响。
人员的退出很多时候是不可控的,同时对项目带来的影响也是不可估计的。为了将这些影响降到最低,就必须在项目开始之初就要确立编码规范。同时,还应该重视对文档的维护与更新。而在人员退出时,必须做好交接工作。同时,还应对这种变更进行合理的评估,并及时报告项目管理部,并与客户及时沟通。如果对项目进度有严重影响,应争取最大的努力取得客户的理解,提出项目延期的申请。
风险管理
要在项目开始之初就考虑到项目过程中可能出现的所有风险,是不现实的。但是,我们必须考虑对风险的管理,尤其是在制订项目计划以及创建团队的时候,考虑这一因素。风险有很多,包括需求的风险、进度的风险、质量的风险以及技术风险等。必须制定一套完整的风险管理计划,而一旦发生了风险,则必须及时响应,组织相关人员解决风险。不能忽略任何一个小的风险,否则一个小的风险到最后会造成大的灾难。风险的把握必须要有项目经理与系统架构师把关。
成员管理
不团结的项目组是无法保证项目的成功地。项目经理与项目组长在管理团队成员时,必须时刻注意成员状况,即使处理工作出现的矛盾与摩擦,随时保证团队合作精神得到最大程度的执行。
持续地保证项目成员的士气非常重要。项目每取得一个阶段性的进展,必须告知全体成员,如此才能收获成功的信心。项目开发过程需要注意劳逸结合。一味地强制性加班,只能降低项目成员的工作效率。项目过程中,如能适当地开展一些活动,无疑能够让团队成员感受到项目组的集体气氛。在阶段实现的重要时刻,项目经理必须注意通过文字、语言等激励项目组成员。而项目经理的自信也是保证成员士气的一个关键。
必须注意了解团队成员的心理状态与工作状态。项目成员的战斗力除了是个人的能力发挥之外,一个好的领导也是至关重要的。因此,必须选择合适的项目组长,通过他们掌握整个项目团队成员的工作进展。同时,还要了解每个成员的能力,以安排合适的角色与岗位。
重视开发组与测试组以及项目管理小组的合作。项目组是一个整体,每个成员的角色不同,但大家都是团队的重要一员。
作者:张逸具有多年的软件开发与设计经验,他是两届微软最有价值专家(mvp),著作/译作包括《软件设计精要与模式》、《wcf服务编程》。张逸熟悉c#,asp,wcf等技术,同时深谙面向对象领域的相关技术。目前,他主要从事 soa企业信息解决方案的设计与研究,以及敏捷方法的推广与实践。张逸是捷道·敏捷堂的创始人。
专业it外包项目其实就是将IT开发与维护包给专业的IT服务供应商,而IT服务商拥有各层次的专业人才,可以随时根据企业的具体需要调动不同层面的专业人才解决与之相适应的具体问题, it外包项目具体内容可以咨询威资德,在IT外包服务专注14年,定价合理透明,服务全程监督,品质服务。公司根据时间需求合理化的进行多模式,多类型的高度匹配量身定做、精准透明,且制作一份完整报价只需1分钟。在线快速响应,精准委派及通知,30分钟内到场,颠覆传统IT服务,根据ITIL/ITSS等标准定制的WSIT服务标准,利用配套的大型系统进行化智能化的it外包服务
IT的话开发主要是以下范围:
1、硬件
主要指数据存储、处理和传输的主机和网络通信设备;
2、软件
包括可用来收集、存储、检索、分析、应用、评估信息的各种软件,它包括我们通常所指的ERP(企业资源计划)、CRM(客户关系管理)、SCM(供应链管理)等商用管理软件,也包括用来加强流程管理的WF(工作流)管理软件、辅助分析的DW/DM(数据仓库和数据挖掘)软件等;
3、应用
指收集、存储、检索、分析、应用、评估使用各种信息,包括应用ERP、CRM、SCM等软件直接辅助决策,也包括利用其它决策分析模型或借助DW/DM等技术手段来进一步提高分析的质量,辅助决策者作决策。
独特性、不确定性、人的特点。
独特性。“没有完全一样的项目”,这一特性在IT领域表现得更为突出。与其他产品相比。客户对IT产品(尤其软件产品)的要求都更加特殊化。时间的紧迫性和阶段性。任何项目都有周期限制,但是IT行业的特点决定了其在这方面有更加严格的要求。随着信息技术的飞速发展,IT项目的生命周期越来越短。时间甚至成为项目成功的决定性因素,因为市场时机稍纵即逝。
不确定性。是指项目不可能完全在规定的时间内按规定的预算由规定的人员完成。这是因为,项目计划和预算本质上是基于对未来的“估计”和“假设”进行的预测,且由于IT项目的独特性,同类项目的类比较困难。
人的特点。IT开发的整个过程是一个设计过程(基本没有制造过程),同时,它不需要使用大量的物质资源,主要资源是人力资源。与其他项目相比,IT项目中人的成本很高,人的能力直接影响项目的成败,人的风险是最大的。
利用系统、网络化的管理方法,可以优化整个项目的进度计划。 优化系统进度的一个常用方法是关键路径法,项目是由各个任务构成的,每个任务都有一个最早、最迟的开始时间和结束时间,如果一个任务的最早和最迟时间相同,则表示其为关键任务,一系列不同任务链条上的关键任务链接成为项目的关键路径,关键路径是整个项目的主要矛盾,是确保项目能否按时完成的关键。 总之,网络计划技术是一种科学、有效的管理方法,是项目进度控制,特别是负责项目进度控制的完整的计划管理的理论基础。 线上:里程碑事件 前面已经提到,任何一个项目都是由若干个相对独立的任务链组成的,只有在任何一条链都已经优化的基础上,才可能进行系统的优化,因此,保证每条任务链的效率是整个项目进度优化的前提和基础。 通常,可以采用设置"里程碑事件"的方法来保证单独任务链的最优。 所谓"里程碑事件",往往是一个时间要求为零的任务,就是说它并非是一个要实实在在完成的任务,而是一个标志性的事件,例如在软件开发项目中的"alpha测试","测试"是一个子任务,"撰写测试报告"也是一个子任务,但"完成alpha测试报告"可能就不能成为一个实实在在需要完成的子任务了,但在制定计划以及跟踪计划的时候,往往加上"完成alpha测试报告"这一个子任务,但工期往往设置为"0工作日",目的就在于检查这个时间点,这是"alpha测试"整个任务的结束的标志。 "里程碑事件"的目的就在于将一个过程性的任务用一个结论性的标志标的,从而使得任务拥有明确的起止点,这一系列的起止点就成为引导整个项目进展的"milestone"。 在项目管理进度跟踪的过程中,给予里程碑事件足够的重视,往往可以起到事半功倍的效用,只要能保证里程碑事件的按时完成,整个项目的进度也就有了保障。 实施保证 笔者根据的对中国IT企业中进度管理现状的认识和了解,认为在以下几方面给予重视,将会保证进度管理的效用: (1)加强对供应商项目进度的管理 这是根据IT企业需要多方合作的基础而提出的。企业与各供应商的项目进度统一,将保证企业项目的进度。目前的现状是大多数企业对企业内部的项目Team有较强的管理,而很难保证外协企业的项目进度,这就需要企业在与供应商谈判时就强化他们的进度意识,将项目的进度写进合同,或作为附件与合同具有同等效用,同时明确违约责任,只有这样,才能从根本上建立起以网络计划技术管理项目的框架。 在项目的进行过程中,需要建立起一个机制,保证供应商与企业内Team的沟通协调,确保进度的一致性;在项目结束时,对供应商提供产品或服务的验收标准(时间、质量等)也是需要关注的部分。 (2)关注薄弱环节,实现动态平衡 项目的进度管理并不是一个静态的过程,项目的实施与项目的计划也是互动的,在项目进度的管理过程中,需要不断调度、协调,保证项目的均衡发展,实现项目整体的动态平衡。 进度管理是一门艺术。在资源供应方面,按照资源供应计划,即时组织资源的供应工作,保证项目最需要资源支持的环节能及时得到资源。 项目的关键路径始终是项目Leader最为关心的,但随着项目的实施,关键路径可能会由于一些情形而发生变化,项目的Delay可能导致原来不在关键路径上的任务成为关键路径的必经之路,因此,Team成员需要随时关注项目进展,跟踪项目的最新计划,确保即时关键路径上任务的进度。 (3)明确每个成员的责任 对于项目中相对独立的关键任务组可采用专项承包的方式,设立子项目,再明白一点,就是定任务、定人员、定目标,进一步明确责任,确保关键任务的进度。 从普遍意义上说,应当根据项目的特点,建立项目组织的各种责任制度,将进度计划指标的完成情况与部门、单位和个人的利益分配结合及其,做到责权利一体化,"制度重于技术",吴敬琏的这句话确实是不无道理的。
以上就是关于it项目的特点全部的内容,包括:it项目的特点、互联网IT项目的管理心得体会、专业it外包项目都有哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)