hyc.bjufida.com 小编要给大家介绍项目管理软件如何实施自查,以及项目管理软件工具有哪些对应的相关知识,希望对各位用友erp软件使用的朋友有所帮助,详细内容可参阅目录。
软件需求的快速增长推动了软件产业的发展,也推动了软件过程的思想。今天,软件过程已经越来越被软件人员所认识和追捧,国内很多的软件企业甚至将SW-CMM当成了成功的宝典。殊不知,尽管软件过程的先驱SW-CMM提出了作为软件企业应该具有的过程域,但SW-CMM只提供了一个软件企业进行过程改进、增加企业软件成熟度的改进建议框架,而没有告诉一个软件企业该如何进行过程实施。换而言之,它描述了软件过程的期望,而没有指导企业如何实现。因此,在软件过程上我们应该谋求一些更具体、更可操作的方法和步骤。 过程管理在软件项目中的作用 人们很早就注意到,在软件开发过程中,如果将关注点只放在最终的产品上,不关注开发过程,那么不同的开发队伍或者开发个人可能就会采用不同的开发方式,从而导致结果无法预期,因为这时软件产品质量的高低完全依赖于个人的素质和能力。反过来,在软件开发过程中,如果将关注点放在项目的开发过程中,那么,不管谁来做,也不管是谁提出的需求,经过同一过程开发的软件,产品的质量是一样的。为了保证软件的质量,人们很自然地开始重视软件过程。 简而言之,软件过程的目的是保证软件产品具有相对稳定的质量。对于软件企业来说,软件过程的质量是企业能力的体现,它不应依赖于个人。也就是说,产品的质量依赖于企业的过程能力,而不依赖于个人能力。如果企业的过程不是很完善,其软件质量可能也不是很高,但可以通过不断完善过程,来不断提高产品的质量。 在软件开发中的过程经验有很多,如需求管理、设计方法以至于编码的风格、技巧等,还有很多的项目管理过程中的技巧方法等。最初,这些成功的过程只在成功者的头脑中的,没有被企业内部共享和重复利用,从而使得这些本应从属于企业的巨大财富被人们所忽视,这无形中给企业带来了巨大的损失,特别是当人员流动时,企业的这种财富也随之流失。如果企业将成功的过程进行有效的积累,形成可重复的过程,让过程能够被共享、复用,并得到持续的改进,这岂不是很好的方式!软件过程管理可以达到这个目的。在项目管理的时候,可以通过参照过程管理来提高项目管理的质量,同时,通过实际项目管理过程中的经验和教训来提高过程质量,以便为将来的项目管理提供更多的经验。 软件过程在软件项目中的作用就相当于硬件生产的工艺一样。在生产硬件的时候,工艺是判断产品质量的标准。但是,目前软件没有这样的惟一判断标准,什么时候软件过程完善到可以作为判断软件惟一标准的时候,那可能就是软件发展到了一个成熟的阶段了。 过程管理的主要内容包括过程定义与过程改进。过程定义是对最佳实践加以总结,以形成一套稳定的可重复的软件过程。过程改进是根据过程的使用情况,对过程中有偏差或不够切合实际的地方进行优化的活动。在软件项目管理过程中,如果能很好地定义和控制软件过程,就能很好地控制项目,从而保证软件产品的质量。 适用的软件过程来自积累 好的软件过程能支持软件项目的管理,而不正确的过程定义会起反作用,成为软件开发的束缚。有的软件企业照搬照抄某些过程标准或者照搬其他企业的过程定义,而在实施过程中这些过程定义由于不适合企业的具体项目,结果导致大量的会议和提交大量无用的文档等无用功,而且增加了管理难度,增加了成本,最后却没有带来产品质量的提高。所以,正确的软件过程应该是适合自己企业,适合自己项目的软件过程。 目前很多的软件企业通过了CMM的二级、三级以至于四级、五级的评估,但是其中的一些企业,它们只是给外人看的,不是给自己用的,而且无形中给自己的企业增加了很大的包袱,这些企业好像本来是穿30号鞋,现在却给自己穿上40号鞋子的感觉一样。 CMM过程管理体系的确描绘出了一个美好的软件过程蓝图,这个蓝图就像一座壮观的高楼大厦,但是罗马不是一天建成的,冰冻三尺,非一日之寒。高楼大厦是一层层建造起来的,软件开发过程也需要一步一步建立,而不应该将别人的高楼大厦搬过来使用。过程的建立需要坚实的基础,否则企业会劳民伤财,有付出没有回报。 笔者在实施软件过程体系中,也遇到企业内软件人员的层层障碍,原因之一就是过程制定得不合适。过程实施不当会限制开发人员的创造力,制约开发人员的灵活性。这样希望提高软件质量的过程变成束缚软件开发的负担。 现在,有些机构或者企业也希望开发一些可以多次使用或者可以作为标准的统一过程(例如RUP)。作为一个软件企业,开始的时候没有足够的过程管理积累,可以采取摸索、实践、提炼、改进的步骤进行。第一阶段,可以针对具体项目制定具体的过程,而且一定要简单实用,然后逐步调整过程。也就是说第一步应该是针对具体项目制定过程,等积累了一定的项目管理经验后,第二阶段就可以针对企业制定相应的过程策略。最后,我们可以期望软件行业的过程标准。所以,软件项目过程的制定应该是循序渐进的。不一定仿照某些标准,简单实用是最重要的。 一个可以被更多人认可并行之有效的软件过程是实践出来的,而且软件过程也不是枯燥的、抽象的条款,而是具体的、生动的、有实际意义的、可操作的工具。在具体进行过程定义的时候,应该是从项目级过程逐步积累到企业级过程,再由企业级过程裁剪为项目过程。如果所有的软件企业内部都能够做到企业级的过程管理,那么实现软件界的过程统一就不远了。如果软件行业有了可以通用的统一过程标准,证明软件发展到了一个成熟的阶段了。 这里还要强调一点,谈到软件过程的重要性时,常常说软件过程可以消除依赖个人英雄主义的状况。我们也应该看到,软件过程不推崇个人英雄,但是并不是说软件项目不需要具有优秀技术的个人,好的软件过程可以加速优秀个人的成长;同理,好的软件过程也可以加速软件企业的成长。 美国NASA的经验 在探索软件过程管理的过程中,首先是不能盲从。比如,对等评审(Peer Review)是CMM中非常重要的一个关键过程域,CMM、PMBOK等项目管理体系都对走查(Walkthroughs)、审核(Inspection)等对等评审有相应的说明,但它们都没有对如何实施这个过程明确定义操作流程。如果软件企业没有很好的实践而照搬其他企业的审核或者走查等对等评审过程,那么在实施过程中可能会遇到层层的障碍,导致得不偿失。只有经过实践之后总结出来的过程,才会带来很好的结果。 又如,我们曾经在开发一个软件项目过程中发现,有些人开发的软件质量很高,而且效率也很高,测试中发现的缺陷很少。原来这些人在编译前后都进行代码走查,后来我们就要求项目组的所有开发人员都要进行自我代码走查,编译前进行一次,编译之后进行一次,保证测试之前执行两次代码走查。结果取得了非常好的效果,软件的质量得到了很大的提高。为此,将这个方法推荐给其他项目,其他项目在试用过程中发现如果进行交叉代码走查,即开发人员互相进行代码走查,效果会更好。这样逐渐总结开发代码的过程,经过多个项目的过程提炼可以编制企业的开发过程。在企业的代码开发过程中,明确说明什么时间进行代码走查,如何进行代码走查。这样通过有效的过程来提高软件产品的质量。 美国NASA Space ShuttleOnboard软件项目,在实施软件过程管理中得到了实实在在的好处。为了满足NASA约翰空间中心关于项目高安全和高性能标准的要求,Shuttle Onboard项目必须开发出高质量的软件。为此,项目团队精心制作并实践了可以提高产品质量的软件过程,经过十几年的努力和实验,摸索和开发了可以精确控制的过程,最终使软件达到零缺陷。在此期间它们参照、实验了很多的软件过程,包括需求管理、配置管理、对等评审、审查、测试、项目管理等。为了消除缺陷的根源,项目组成立“问题疏漏分析”组,分析诸如审核、测试、验证等检错方法中疏漏缺陷的原因,也就是研究这些质量过程中存在的问题,这个提高质量过程的过程包括如下四个步骤: 1.从技术上分析缺陷的原因,并且提出纠正的措施。 2.标识纠错过程中的问题,并更正过程,以消除将来采用此过程可能疏漏错误的可能性。 3.改进纠错过程中的具体方法程序,这些方法程序曾经让缺陷逃过了,没有及时捕获缺陷。 4.检查Shuttle Onboard项目中采用此过程方法的其他部分,这些部分可能同样遗漏了一些类似的缺陷,需要重新检查,以便确认没有缺陷。 通过详细的情景式分析确定缺陷的根本原因,然后将这些情景式的经验反馈给开发过程,它们对改进纠错过程起到了非常好的作用。项目组将它应用到了其他过程的分析中,诸如需求分析等,也取得了很好的效果。 同样的,Shuttle Onboard项目通过不断地度量过程、完善过程,最后达到提高项目质量的目的。过程的质量来源于实际的度量结果。同样项目的质量也可以通过高质量的过程来得到保证。
项目验收是公司乃至每个项目成员都想要的结果,一旦验收对公司来说就是,可以收验收阶段的款了,不需要再投入那么多人力到项目当中,项目终于可以告 一段落,大家都可以轻松一下了。项目验收是一系列细致工作完成到位的结果,而不是某一点的成功或某个人能力就可以促成的事情。一个项目的验收,一般是由一 系列验收准备工作组成的。如果我们在最终验收前,已经将很多阶段的工作细化并得到认可执行,那么项目验收也就是水到渠成的事情了。首先我们要明确进入验收的前提。很多人都认为只要我们完成了合同中规定的内容,完成了需求规格说明中规定的工作,并且按合同试运行了几个月,应该就可以验收了。就可以拿着合同或技术协议与客户谈论验收的相关事宜了。但 实际上客户往往不同意在此时验收。他们的判断往往不是招标书、合同、技术协议、需求规格说明书等文档。其实这些文档无论做得如何细致,对用户而言并没太大 的参考价值。客户关心的是他们的业务是否真地在系统中运作,并且运行良好,并以此作为检验项目验收的标准。当然有的项目也可以通过商务运作,在业务实现不 太好的情况下验收。1、在项目实施过程中注重里程碑的确定,制定阶段性目标如果要做好一个项目,完成项目的验收条件,主要还是以业务是否可用作为衡量的。不是一定得实现所有用户的需求(这里指的是口头上的需求,如果落实到文字上的还是要实现的),也不是只有将一些所谓的技术难点解决用户就会同意验收,而是我们可以完成一定的阶段应用业务目标。我们从进行需求调研的时候就要主动控制项目的边界,将一个一个业务流根据客户方的实际情况合理组织实施顺序,形成我们项目实施计划中的里程碑点,明确达到里程碑点的条件,并得到双方一致正式认可。没有双方高度达成一致的里程碑认可,也就是没有项目目标约定,没有目标约定的项目实施计划一定会经常变更内容、变更初始设定目标,导致计划不可控制,更谈不上验收。很多人希望通过详细的系统需求规格说明书来定义项目要实现的内容和业务目标,这是很有必要的,但需求规格说明书得到认可并非是通过用户审核就可以的结果,应该想办法让用户一起参与到需求规格说明书的制定过程中来,变成用户自己推导出来的业务实施目标,未来才不容易变形。2、积极主动地与客户进行沟通 项目中一定要有沟通策略,和高管如何汇报工作进展,取得支持?和中层如何就业务目标不断确认,逐步清晰?和基层如何就项目应用操作模式达成一致,持续改进?都需要通过沟通反馈完成。沟 通的作用对于高管是让他们清楚我们一直按照项目目标前进,每个阶段工作进展是否顺利,影响项目正常运做原因是什么,需要哪些资源帮助。和高管沟通比较多的 话,第一个好处是高管经常听汇报就知道项目进展程度,可以安排反馈检查,看是否具备我们所说的进展,这样一旦认可了各个阶段目标后,最终要求高管签字确认 也就顺理成章了。给高管汇报技巧就是简洁明了,真实客观,有理有据分析问题,提出对策建议请其决策即可。中层往往是项目主要的推动力量和实际执行者,也往往是对具体业务需求最主要的要求者,他们对企业实际运做过程最清楚,提出要求最具体,而且项目验收与否没有中层的同意往往也是不太容易做到的。往往通过前期业务调研只能对企业项目目标有一个大的,宏观的认识,但如何细化并最终落实并非是一步到位的过程。因此在整个项目过程中,双方项目组要不断沟通,特别是企业中层沟通,才能逐步认识越来越深刻,最终达成一致。和基层的沟通主要体现对最终用户的关怀,定期主动和最终用户沟通,消除一些怨气,让用户能坚持用下去,这个时候我们往往发现很多用户真的是非常好相处,尽管软件还有很多值得改进的地方,但他们一旦认可我们团队,反而会尽心尽力帮助我们推动项目的进行。目前我们公司一般要求每个项目经理在项目进行中都要填写详尽的项目月报,反映项目的进度,与计划的偏差,完成的项目内容,投入人力,目前项目存在的问题,以及预计项目下月的进度等等。将进度月报交部门负责人、项目管理中心、总经办审阅。类似地也要制定针对客户的月报甚至是周报,将相关的信息反应到客户方的负责人,及相关高层。可以先发邮件,然后还要电话落实收到并口头简要汇报,特别是高管层,千万不要以为发了就等于别人会去看,一定要口头跟进汇报一次,保证客户各方面负责人对项目进展做到心中有数。在 项目的过程中,我们也需要注意平时做人的积累,比如要做到讲诚信,讲原则。主要是三条:1)做不到的事情千万别随意承诺;2)承诺的事情一定要努力做 到;3)每次做到的事情都进步一点点。按这三条做事,即使在系统的使用过程中总会有这样或那样的一些不方便,用户也会慢慢接受稍微长一点的响应周期,也会 用更多积极性眼光看现在的问题,也相信问题一定有人响应,也一定可以得到解决。进而使我们和客户之间形成一种较为和谐的关系。3、写好备忘录和问题跟踪记录 在一个漫长项目周期中,很多工作做了也就做了,认可了也就认可了,时间一长也就忘记了很多承诺和约定,到了验收的时候就可能重新翻出来,这种事情很多人可能都经历过,明明说可以先不做的内容最终验收的时候又成了必要条件。每次备忘录要口头交流认可后才打印签字确定阶段性工作成果。下次工作则根据前次备忘录的双方约定继续进行,保障项目在每次工作基础上不断前进,并用备忘录约束双方的行为。同 时我们建议在收集项目出现的各种问题时,采用问题跟踪记录表的形式,这样可以一目了然地显示出我们曾经收集到的各种问题,目前的解决情况,以及还有什么问 题没有解决,准备什么时候解决。这样客户和我们都会对目前的情况非常了解,通过不断地解决出现的问题,来收敛可能出现的问题,当存在的问题越来越少时,也 就表示我们的系统已经在接近验收的标准了。4、验收阶段的准备工作及注意事项 当 系统经过一段试运行,具备验收的各项条件之后,我们就需要着手验收阶段的准备工作了。首先我们需要把到目前为止完成的工作进行一个总结,列出我们已经完成 的各项目工作成果、各类文档,对合同以及各类约定的技术文档中的相关内容进行自查,要彻底了解系统目前完成的情况如何,是否已经完成了与客户方达成的各项 书面约定以及口头约定,没有完成的,如果是书面约定,准备采取什么策略去进一步完成或者采取一定的回避措施,使客户在验收的时候不再提出这些未实现的需 求。做一个详细的验收计划是非常必 要的,可以用来作为验收阶段的工作指导。这就需要与客户进行详细的沟通,再次明确验收前需要完成的工作,尽量避免客户方在此阶段提出过多的更改需求,这是 极为重要的。验收计划中不光要有需要继续完成的工作,还需要有一个相对固定的工期,使双方都继续朝着这个方向去努力,防止无限制的拖延。我们很多的项目碰到的一些常见 问题就是软件开发完之后,很多客户也不使用,如果我们去催促他们的时候,就经常推脱工作太忙,还有其它的事要做等等,或者也就是应付一下随便提一两个小问 题。而等我们提出要验收的时候,他们又总是觉得这也不满意那也不满意,总之是怕承担相应的责任,不愿意验收。针对这种情况我想主要还是想办 法让客户尽量把系统使用起来,只有在使用中才能发现问题,我们也才能解决问题,使系统能更好地运行。如果是基层的人员不愿意使用,我们可以走上层路线,使 客户的高层了解项目正常运行的重要性,也使他们意识到项目验收的重要性,意识到无限制地拖延下去会对政府机会的权威、形象和公司的收益造成不好的影响,利 用他们的主观积极性克制拖沓的工作作风。如果项目经理在这方面没有太多的办法的时候,可以让市场人员动用一些商业运作的手段,或者提请公司高层出面与客户 方的高层尽早沟通,明确系统运行的各项工作。还有一种情况就是客户无穷尽地提出一些需求,一些主要领导对系统指指点点,随便一句话,就要进行需求变更,项目的范围不断扩大,导致项目试运行一直无法结束。甚至一些客户追求系统的完美,提出了很多高难度的需求,导致我们需要投入较多的精力去解决。这 种情况,我觉得是一些政府主管领导对电子政务认识上存在一定的误区,认为这么一个系统就应该能够解决所有的问题。其实信息系统只是政府管理工作的一种辅助 性手段,信息化不是一步到位工程,而是一种长期的、不断改善的系统工程。我们应该想法让他们结合实际情况,提出他们真正需要解决的问题,而不是依靠他们的 长官意志,提出一些不切合实际的、易变的需求。要实现这一点,就需要项目经理安排人员定期到政府机关进行信息化普及培训以及项目管理知识培训。同时在合适 的情况下,建议在该项目验收后启动新的项目来完成一些新的需求。项目验收对任何一个项目管理者 都是一个极大的挑战,即使已经采取本文提到的几种手段,也不能保证我们的项目能够顺利验收,但作为项目的承建方,我们所能做到的就是尽量做好我们所能控制 的事情,另外一些很难由我们控制的事情则需要借用一些其它的力量去完成,比如请市场部运用一些商业手段来促成项目的验收等等。本文中提出的这些建议,是希 望能够起到抛砖引玉的效果,希望各位同仁可以提出更多更好的方法来促进我们的项目如期验收。
项目问题管理的步骤
使用一套非常合理、非常完善的问题管理程序对一个公司来说是受益非浅的,它不但可以帮助解决重复出现的问题、减小问题带来的不良影响,而且还能够缩短解决问题的时间,提高企业工作效率。那么项目问题管理的步骤具体有哪些呢?
步骤一:制定问题管理程序和实施步骤
首先要做的是要建立一套有效的问题管理规范,在这种规范框架内推出如何解决具体问题的计划。这个计划应该包括以下几个方面:
1、应对问题的程序:当问题被初步发现并证实确实存在后应该做什么工作、如何进行问题数据的获取和存储、如何具体实施解决办法。
2、给予支持的IT工作人员从中扮演的角色和他们的职责:他们应该主动去发现问题、记录所有有关的信息、实施解决问题的方案。
3、问题解决方案的衡量和评估:应该紧密地跟踪并检查问题解决方案的实施情况,进而检验所制定的问题管理规范的有效性。
4、要对需要应对的问题分门别类:既要有严谨性,把每一个问题列为管理范围内,又要有优先权,把重要的问题优先解决,还要不断改进预先制定的计划。
5、越过一些程序:在一些特殊的问题和疑惑面前,可以选择先避开这些问题,修复系统功能。
步骤二:及时发现并全面认识问题
在这个步骤中可以使用必要的工具来发现问题,可以使用必要的设备来收集关于问题的'各方面情况。把所有的有关信息的数据都集中起来,存储在一个对所有参加问题解决的人员都开放的区域。关注那些受到问题影响的用户,尽量帮助他们,把问题带来的负面影响降到最小。
步骤三:避开问题
一旦问题被发现,采取所有可能的步骤避开它或把它对用户的影响减少到最小范围。在理想状态下,你应该在问题发现以前就事先有所察觉,并采取一些措施,使得它不会对其他系统、应用程序和用户产生不良影响。但要清醒地认识到,回避问题并不是解决问题的一种办法。很多时候,IT工作人员把避开问题看作是一种永远的修复,其实他们是错误的。这样做只是暂时的,不能永远地解决问题,因为有的系统或软件拥有绕开问题的设计,它不是一直都能起作用的,而且一味地回避问题可能还会影响到其他系统。
有时候,IT工作人员使用回避问题的方法太过频繁,以至于把它当作了解决问题的办法,这样做不会防止同样的问题重复出现。一般常用的回避问题的方法有:在不查出导致问题原因的情况下重新启动服务器或者网络浏览器;在计算机死机时不去管导致死机情况发生的软件故障,而是盲目地按下[Ctrl]、[Alt]+[Del]。
当你暂时地回避某一问题时,必须要记录下所有的问题信息和你的操作过程,从而使下一环节的IT工作人员在采取对策时有所凭据,不至于一无所知。
步骤四:分析问题
在这一步骤中,要发现问题出现的根本原因,评估、测试并提出可供选择的解决问题方案。 查看记录来寻找是否以前也有类似的问题出现过。有效的问题分析可以大大减少解决问题所用的时间。
步骤五:实施解决问题方案
大多数情况下,一个提供帮助的专业人员不能在没有别人的支持下彻底地解决问题,问题的解决通常是由人共同来完成的,尤其是当问题特别复杂时或者它同时涉及了多个系统或应用软件时。实行对问题的监测、管理,实施解决方案是非常重要的一步,保证它在计划进程之内得到很好的解决。
一旦问题被暂时修复,要把它记录在案一段时间(可以是一个星期的时间)进行观察。这段时间过后,询问那些曾遇到这些问题的用户,同样的问题是否再出现过,是否修复带来了其他意想不到的后果。如果这些情况都没有发生,那么你可以彻底地排除这个问题了。
步骤六:报告问题的现状和发展趋势
这一步要做的就是收集问题的有关统计数字,发布情况简要报告展望这个问题的发展趋势,并执行必要的预防措施。需要发布的报告包括:
1、已经被彻底解决掉的问题的简要情况报告:问题的出现、解决问题所需要的时间和具体解决方法等。
2、现存问题的状态报告:现在未解决的问题有哪些、它们是何时被发现的、为何现在尚未解决等。
3、问题发展趋势和统计情况报告:问题的总计数字和种类,发生的区域和频率等。
4、问题产生原因报告:已经出现的问题为什么会出现,如何防止同样的问题再次出现。
5、下阶段的行动计划报告:管理问题的计划。
这些报告对IT管理者来说是非常有益的,它们可以为IT系统的健康管理提供参考,还可以作为一个与用户交流的平台提供给IT管理者。
步骤七:如果需要重新制定问题管理程序
这个步骤为现存问题管理程序的改进和提高提供了一个途径,可以弥补现存程序的不足。这是不断完善工作环节的一部分,也是所有系统管理规范的一部分。
以下有几点也是问题管理成功的关键性环节:
1、问题无论大小都应该被覆盖
有些小问题没有得到及时的解决也可能成为大问题,所以把所有的问题都记录下来同样重视起来很重要。反复出现数据的错误最终可能会导致硬盘停止工作;局域网连接问题可能会演变成整个网络瘫痪;Windows系统经常出现的GPF错误常常会造成存储不灵等。
2、及时调整改进工作程序
很多人认为调整现有的工作程序没有必要,因此他们反对制定工作程序调整规范。这种情况是非常危险的--可能导致IT管理者失去对很多问题的控制。
3、处理问题要严谨,也要设立优先机制
所有的问题都应该在考虑范围之内,并给予同样的重视。但是,你也应该对一些特别重要的问题给予特别的关注,并使这些问题得到首先解决的机会。如果某个问题出现以下一种或几种情况,那么它就是重要的问题并应得到特别的重视了:多个用户因此问题而受到影响;重要的商业功能因此问题而受到损害;系统之间转换不顺畅;整个系统几乎处于瘫痪状态等。
4、用户应该及时了解问题的状况
现在,受到某些问题影响的用户往往不容易了解到这些问题的现状。负责管理问题的IT 工作人员应该以最高的频率向这些用户发布最新动态消息,因为这些用户非常想知道他们应该做什么、这些问题的现状以及计划解决方案。
5、对问题趋势的分析和应采取的办法也应该及时告诉用户
系统问题管理的目的就是提高每个人发现问题、解决问题的能力。对问题统计数据的分析结果是达到这一目的有重要价值的工具,因为它能够在已有的经验教训基础上帮助发现新问题。
;
项目管理软件如何实施自查的介绍就聊到这里吧,感谢你花时间阅读本篇文章,更多关于项目管理软件工具有哪些、项目管理软件如何实施自查的内容可本站进行搜索或者添加客服微信。