第三章 软件项目管理系统的需求分析
本章的任务是解决软件项目管理系统要"做什么"的问题,主要分析系统的可行性、总体需求与子系统功能要求、功能和非功能要求等内容[12].
3.1 软件项目管理系统总体需求描述。
尽管当前研究软件项目的人越来越多,但是就当前的情况来看,软件项目的研究成果并不理想,软件危机一直在持续,这对我国的科技发展来说有着极大的阻碍,但多数企业,没有统一的软件项目管理系统。
3.2 可行性分析。
(1) 经济可行性。在经济方面软件项目管理系统大大提高了软件企业的开发效率,使得软件企业的项目管理进入到科学化、系统化、成熟化的范畴。
(2) 技术可行性。在技术方面软件项目管理系统应用比较流行 java 语言的Struts 和 Hibernat 技术,也比较利于日后的维护。
3.3 软件项目管理系统的需求分析。
3.3.1 软件项目管理系统应遵循的原则。
(一)平衡性原则。
对于研究工作来说,其本身就有着较多的不确定性因素,会受到外界影响而导致研发失败,而当我们的研究工作受阻时,我们通常会综合各方面因素来找到我们研究失败的具体原因,一般我们会考虑研发人员、研发环境和研发技术等方面的因素,但是我们往往容易忽视质量、工期、资源和需求之间的平衡关系,违背了平衡性原则。
要想保证质量、工期、资源和需求之间的平衡关系,我们首先应该考虑这四个因素的具体内容,把握其操作的要求,只有这样我们才能维持这四个因素之间的平衡。首先,我们应该清楚需求是规定我们研发内容的主要因素,而资源就是指我们研发过程中可以使用的一切资本和资金,质量是指我们研发的系统的实际工作价值,而工期则是指从我们研发到结束的时间段。
要想保证软件项目管理研发工作的效率,我们应该正确认识平衡性原则,把握质量、工期、资源和需求之间的关系,避免错误的认识,要尽量扩大需求、缩短工期、节省资源、提高需求,只有这样才能满足客户的需求。
在平衡性原则中,需求是最为重要的内容,我们应该正确看待需求的作用,尽管需求对于软件项目管理的研发工作来说有着决定性作用,但是我们不能盲目的追求需求的数量,我们应该根据市场的实际情况来制定相应的研发方案,要对需求进行层次划分,做好市场定位,要保证抓住事物的主要矛盾,充分发挥需求的力量。
对于客户来说,软件项目管理的研发工作需要满足多快好省这几个要求,而所谓的快是客户需求中最为重要的内容之一,快是指研发的时间短,能够尽快得到研发成果。对于软件企业来说,要想缩短研发的时间,就应该做好周转问题,保证人员周转和资金周转的效率,使得研发人员能够尽快完成手中的软件研发项目,并且迅速的投入下一个研发项目当中去,这样才能在最短的时间内创造最大的收益。
而多快好省中省对于客户来说也是十分重要的,客户往往都希望用最少的资金获得最大的收入,而研究方则需要足够的成本才能展开研究工作,因此研究方和投资方的利益是无法得到根本一致的。因此我们要保证平衡性原则,尽可能的减少研究方和投资方之间的矛盾,推进软件项目的研发进程。
(二)高效性原则。
对于软件项目管理的研发工作来说,除了需要遵循平衡性原则,还应该遵循高效性原则,随着经济的飞速发展,我国市场的竞争越来越激烈,各行各业都面临着严重的压力,因此软件项目的研发效率应该不断提高,只有保证了高效的研发进程,才能抢占市场的先机,才能在竞争激烈的市场中获得生存和发展。我们应该从以下几个方面来实现高效性原则:
1.选择具有专业素质和研发经验的人员。
2.根据研发目标来制定合理的研发方案。
3.加强研发人员之间的沟通,实现资源共享。
4.建立健全的激励制度。
(三)分解性原则。
无论是平衡性原则还是高效性原则对于软件项目管理的研发工作来说都十分重要,但是我们不能忽视的一点就是分解性原则,所谓的分解性原则就是指根据软件项目的特征将研发进程按照时间、需要等标准来划分为不同的阶段,安排相关的人员进行研发,将大的研发项目分解成不同的小的研发项目。分解性原则可以将大项目有规律地分散,这样可以减少研发人员的工作压力,从而减少人为误差,缩短研发周期,从而保证研发工作的效率。
(四)实时控制性原则。
对于软件项目管理的研发工作来说,实时控制性原则是十分重要的,所谓的实时控制性原则就是指加强对研发过程中的每一个环节的监督和管理,得到研发过程的第一手资料,只有加强了对研发进程的控制,我们才能尽快发现研发过程中存在的问题,并且找到相应的解决方案,从而提高研发效率。
大量研究证明,只有加强对研发项目各个环节的监督和管理,对每个研究人员的工作进行检查,无论是内部的研发工作还是外部的软件演示工作都需要我们的实时监控,当我们发现研发过程中存在问题时,应该第一时间进行纠正,尽管这种做法会加大研发人员的压力,但是不得不说这是提高研发效率的最好手段。实时控制性原则需要我们付出大量的时间和精力去进行管理,因此对研发人员的职业操守有着较高的要求,需要研发人员勇于牺牲个人利益来维护研发工作的整体利益。为了保证实时控制原则的实现,我们应该建立健全的监督机制,保证能够对研发过程中的每个环节进行监督,掌握研发进程,只有这样我们才能掌握第一手资料,及时发现研究过程中存在的问题,并且加以改正。
由此可见,实时控制性原则对于软件项目管理的研发工作来说,有着重要的促进意义。
(五)分类管理性原则。
由于软件项目管理的研发工作较为复杂,出现在软件项目研发过程中的实际内容、范围、技术和规模随时会变化,有着较大的不确定性,这就要求我们实行分类管理性原则,根据软件项目的实际研发性质来对软件项目进行分类,然后根据不同性质的分类制定不同的管理方法,要将实际情况金额管理方法相结合,通过差异性的管理方法来提高管理效率。
(六)简单有效性原则。
由于软件项目的研发工作难度较大,因此研发人员的工作量和工作压力也较大,长时间的超负荷工作会给研发人员带去消极情绪,这不利于企业的管理。
当我们遇到了人员方面的管理问题时,我们应该对当前的管理方法进行反思,找出当前管理方法中存在的不足之处,从而不断完善当前的管理体系,保证我们实施的是最简单有效的管理方案,这样才能将复杂的项目管理简单化,解决内部冲突,保证研发项目的顺利开展。
(七)规模控制性原则。
要想保证软件管理项目的研发效率,我们应该充分了解所研发软件项目的实际内容和管理规模,要将管理方案和实际的项目情况相结合,根据项目的实际规模来做出不同类型的划分,从而制定不同的控制方案,只有这样才能降低软件项目管理的难度,制定科学合理的管理方案。规模控制性原则不仅对研发项目的规模有着一定要求,还对从事研发事业的人员人数有着要求,要保证研发项目的人数和项目难度是一致的,这样才能最大限度地提高资源利用率,促进研发效率的提高。
3.3.2 软件项目管理系统应遵循的制度流程。
一般情况下,项目管理主要分析的就是做事的方式、顺序、安排、流程以及环节。创建并且实行健全良好的制度环节,可以促进公司内部管理效率的不断提高。
假设 A 公司的 W 事业部将项目的每个角色都区分开,怎样确立一个不但满足部门体系还能保证每个职能机构高效率共同合作的制度环节,并且能够长时间的进行改善优化是对项目进行管理尤其需要注意的地方。结合具体业务的实际状况,确定了以下的流程。
在项目确立好以后,对产品所需的方案进行研发、评判以及讲解。在对产品进行评判讲解以后,项目组能够去做两件事情:第一,负责技术保障的工作人员需要做好后端技术概要研发以及评判前的准备;第二,交互研发工程师需要做好 UE 研发、评判前的准备以及之后相关的讲解。对 UE 进行评判讲解以后,项目组能够去三两件事情:第一。从事前端技术工作的人员需要做好前端技术概要研发以及评判前的准备[13]
;第二。视觉发工程师需要做好 UI 研发与评判前的准备,如果有需求的话,还需要去做与 UI 相关的讲解;第三,测试工程师需要做好测试用的样例的制定与评判准备。UI 效果研发完成并且在通过评判以后,就进入到了页面制作的环节,把页面提供给相关的研发人员去做嵌套。前、后端概要研发在完成并且通过评判以后,从事研发的工作人员将会得到页面,进入到研发环节。测试用的样例制定完成并且通过评判以后,同时也将会获得研发人员所提供的测试样例,进入到测试环节。当测试环节大致完成以后,在项目正式上线以前,需要向项目的主要负责人做相关产品的展示,可以用其来展示项目组在项目实施环节里面的工作成效。对产品做相关的展示,主要根据项目的规模情况来确定的,并不是一定存在的过程。在产品正式上线以后,对产品进行数据监管,并且依据数据自身的情况长时间的对产品进行优化,慢慢地去实现立项最开始的战略目标的成效。
对项目进行管理需要在项目整个的执行环节中做好全程的监控管理,扫除阻碍、将经脉打通、能够很好的做到风险预警以及规避,有助于团队处理好在项目实施环节里面所遇到的各种各样的难题。
结合先前所提到的项目管理第二个要素,从项目的全局角度出发,为了能够将人的因素与项目很好的结合起来,在这一环节中设置了"后端概要研发评判"、"前端概要研发评判"这两个关键性的环节,对于这两个技术层次的评审环节,能够对于一些技术水平不一样的研发人员,保证在研发质量以及其时间点上逐渐靠向理想的预期。设置前、后端技术概要研发评判工作组的目标,是期望研发工程师在进行正式的编码以前,对他所运用的技术上的选型、技术能够实施的方案,可以由具备非常丰富的研发经验的研发主管做好把关,运用最好的技术方案来实施,并且预估出比较合理的研发时间。
从对项目进行管理的层次来看,为刚入职的员工或者是才开始接触这个环节的研发人员介绍这两个技术评判过程的时候,必须要注意讲解时所使用的方式方法,是不允许出现"研发人员技术水平不一样"类似的话语的,很容易对别人的自尊造成伤害。对项目进行管理要从产品整体的复杂程度来描述,例如:
"微博产品是非常复杂的,其也涉及到了许多方面,你所研发的这个版块也许会造成其它的版块发生问题"、"必须要做技术概要研发评判,主要是由你的研发主管来进行把关"这样的描述。
总而言之,一个非常好的体系流程,可以让项目组在很长一段时间内做出好的项目成效。一个不好的体系流程,项目组是不可能做出好的成效的。
3.3.3 软件项目管理系统应遵循的工作守则。
一般来说,我们是根据工作内容和工作性质来划分工作人员的角色分工的。
交互设计师的主要工作就是负责交互设计,工程师负责对系统的测试工作,运维工程师则负责上线部署工作,而项目的推进都属于相关管理工作,由此可见,企业中每个员工都要负责多方面的工作内容,随着企业规模的不断扩大,他们所负责的业务量也会随之增加,这对于工作人员来说是十分艰难的,超负荷的工作量会直接影响员工的工作热情和工作效率,从而延缓了项目的进程。
为了更好地分析软件项目管理系统的需求,我们将以 A 企业为实际的研究对象,对于 A 企业的 W 部门来说,他们早期会负责企业内部的 UE、UI、页面制作、前端、后端、测试工作,这是因为当时的企业灭有建立健全的分工体系,因此没有设立专门的部门来负责这些工作,这就导致 W 部门需要完成多个方面的工作内容,而由于项目范围的划分工作没有做好,导致部门之间的员工产生了严重的矛盾,使得项目管理工作停滞,这种情况下就需要企业建立专门的管理部门,来对项目工作进行统一的监督管理,A 企业及时的认识到了这一点,并且安排了专门人员来实施统一的项目管理工作,并且取得了较大成绩。
A 企业的 W 部门为了保证项目的正常实施,提高研发的效率,他们设置了专门的项目管理部门,帮助 A 企业进行项目管理工作,而 W 部门的人只需要将相关工作的内容给负责人汇报即可,这种工作模式在很大程度上提高了管理效率,解决了部门内部的冲突,是一种科学的管理模式,促进了 A 企业的发展与进步。
下面我们将对业务部门的架构进行详细的介绍:UED 部门一般来说包括了交互和视觉设计,还包括了页面设计和前端开发的工作,而技术部门的主要业务则是后端开发、测试、网络运维。无论是产品部、技术部还是 PMO 和 UED 都是业务部门的组成结构,都有专门的人员负责项目的开展,需要进行统一的管理和控制。
为了促进项目研发效率的提高,A 企业的 W 部门设置了专门的管理标准来规范员工的行为活动,对各职位的划分也更加清楚明了,根据各个部门的实际工作内容制定了相关的工作守则:
(1) 对项目各个过程中的管理工作、执行工作和推进工作的划分,各个部门加强联系,做到资源共享,从而推进研发项目的进程,避免工作过程中产生的风险,解决存在的相关问题,保证项目的秩序和效率。
(2)根据企业的发展目标来制定相应的管理方法理论,帮助企业完善管理体系,提高管理效率。
(3) 规范研发过程中的相关流程和模板,安排专业的人来进行管理工作,加强各个环节的监督和控制。
(4) 建立健全的管理机制体制,制定严格的操作标准,提供完善的操作工具,加强各个部门的沟通和合作,提高研发的效率。
(5)将项目的各个环节有机结合,安排专业人员进行相关知识的普及,提高员工对项目的认识和技术。
(6)建立健全的信息管理系统,充分利用信息技术来对项目的各个流程进行管理,保证项目运行的秩序和效率。
(7)要不断完善相关的项目管理体系,根据不同的项目要求和内容来制定不同的实施方案,展开大规模的宣传教育工作,让员工更加了解我们研发项目的内容,提高员工的整体素质,加强相关项目的管理力度。
(8)加强研发项目中的各个流程、研发人员和研发成果的评价和管理工作。
经过长时间的培训工作,A 企业的 W 部门的项目管理成果有了很大幅度的提升,相关的项目方案和管理机制也不断完善,从根本上提高了管理的效率。
3.4 系统角色分析。
(1)软件公司高管,具体查看各个软件项目的进展情况,人员对工作任务的完成情况,对决策性问题进行批复。
(2)项目经理,安排和查看本项目的任务分配,人员分配,时间分配等。
(3)软件开发人员,查看自己任务的分配,提交 bug,提交修复 bug 结果等。
(4)测试人员,提交 bug.
(5)系统管理人员,负责添加人员权限等。
(6)用户,查看相应问题的解决方案。
3.5 软件项目管理系统各模块功能概述。
3.5.1 任务管理模块。
在这个模块中,可以实现对软件开发过程的整体调控,同时实现软件生产的优化处理[14]
.软件生产经过此模块的整合,可以为某个产品在生产时进行精细化任务划分,从而保证工作效率的提高,依据任务管理模块对生产者的精细划分还可以实现团队的优势,便于明确工作流程,从而保证产品在生产时的效率优化和进度掌控。还可以帮助管理人员快速有效的实现人员的管理,同时可以对工作人员进行及时了解,实现工作任务的发布等功能。管理人员还能对工作人员的工作进度进行了解,及时调整时间,从而实现高效率工作。
3.5.2 Bug 管理模块。
此模块主要任务是处理软件系统中的 Bug.软件系统中一旦出现 Bug 将会导致打乱工作计划、造成产品不合格等严重的后果,如果不及时处理,可能影响整个生产过程的作业。而这个模块可以对系统中出现的 Bug 做到及时反馈,同时通过跟踪快速确认 Bug 的位置,从而达到快速修复软件管理系统中的各种 Bug的目的。众所周知,Bug 是指软件运行中存在的问题。同时从专业的角度来讲,Bug 也只是软件开发中所提出的各种建议。在软件的产生过程中,Bug 是其保证高质量的重要条件。所以,根据上面的讲解我们了解到了 Bug 的重要性。在系统中插入 Bug 模块将有助于企业减低生产陈本,提高工作效率,减少软件运行错误的发生。
3.5.3 源代码管理模块。
对于优秀的软件管理系统来说,源代码就是软件管理系统整体的根基,优秀的源代码可以帮助软件快速实现若要达成的任务配置。在此管理系统中,主要运用的是 cvs(Concurrent Versions System)的源代码管理。Cvs 是指管理系统中的源代码控制器,他可以随时记录控制系统中因编写代码而出现的各种问题。例如,在软件编程人员对代码修改了多次后,忽然发现系统中存在一个Bug,此时,我们就可以通过 cvs 对此 Bug 快速定位,从而对它进行及时修复。
对于大型的管理系统来说,cvs 还可以在整个系统中综合整理由各个不同团队开发出的新型代码,从而实现软件资源的优化配置。
3.5.4 FAQ 管理模块。
当软件系统开发完毕之后,将会交予客户进行使用。当客户在使用过程中遇到了软件问题,则可以通过下面三个方式进行解决:第一,可以通过查询网络进行问题的解决与修复。第二,可以通过与软件开发企业进行电话联系,以求解决办法。第三则是企业安排专业的软件技术人员进行现场调试。通过以上三种解决办法,一般都可以将软件中的问题很快的解决掉,同时问题会直接反馈到因特网数据库中,解决方案也会被技术人员随之传到数据库,从而帮助更多的使用者通过查询网络解决使用中的问题。
FAQ 管理系统可以将软件使用中的问题和解决方式进行整合,从而帮助使用者以最有效的方式对问题进行处理。
3.5.5 用户认证模块。
在此模块中实现了对管理人员的控制和管理,同时也可以实现用户对软件进行注册和分配,同时还能实现产品生产人员的储存功能。
用户认证模块是软件管理系统中的组成部分,可以实现对软件管理系统中的每一个成员进行相应的管理,从而实现资源的合理配置。在开发过程中,可以起到用户注册和用户信息确认的作用。
随着经济全球化的深入发展,现代制造研发项目也随之出现了新的趋势和变化,使当前研发项目的类型得到了极大地丰富,为汽车制造业注入了新鲜血液,使汽车制造业获得了进一步的发展。...
引言课题制是指那些来源于政府财政、按照公平竞争、择优支持的原则,在执行过程中以课题(或项目)为中心、以课题组为基本活动单位进行课题组织、管理和研究活动的一种科研管理制度。我国的课题制是在借鉴国外的国家科学基金制度,结合我国经济体制向市场...
引言笔者之前曾参加了由上海科技管理干部学院组织的公需科目创新知识的培训学习,学习的时间虽然很短,但让人颇受启发。此外,今后上海经济与社会发展的核心任务被定位为创新驱动,转型发展,这也促使笔者对招标代理行业的创新进行思考。为此,笔者结合自己...
摘要:土建工程是工程造价的重要组成部分,搞好土建工程审计对降低项目成本有着非常重要的意义,文章从实践经验出发对土建工程的审计方法进行了有益的归纳和梳理,为更好地开展此项工作提供了依据。必须熟悉施工图,了解施工图预算的编制要点,掌握施工图预...
3NBJL公司介绍及其生产经营管理系统分析3.1出口加工企业与项目管理3.1.1出口加工企业出口加工企业是指根据国外采购商提供的图纸或者样品进行生产加工,最终将生产出来的产品销售到国外的企业。这些企业大多在沿海开放地区,目前也有很大一部分这类型...
当今时代,企业想要发展壮大,仅仅依靠扩大生产经营活动是不够的,更要注重引进与时俱进的企业管理模式项目管理。现代的项目管理的日益普及展现了其极强的发展潜力和发展优势。项目管理较之于传统的企业管理模式,更为关注人的因素、顾客、柔性和灵活变通,...
合同是当事人之间权利义务内容的确立,对双方具有约束力和执行力。但是作为利益相对方的当事人,常常会在合同履行过程中对合同内容的理解产生分歧,容易导致对合同产生争议。尤其是在建设工程合同中,这些争议和纠纷作为双方矛盾的集中体现,要对其进行妥善...
0、引言招标更多地运用于公共事业及政府采购,还有国有企业的采购活动。许多人将招标的目的单纯地视为降低采购成本,这是非常片面的。招标的目的不仅仅是为了降低成本,它更重要的是保证采购过程的公开、公平和公正;它希望能使得采购过程能防止腐败的滋生...
近几年来,随着我国市场经济体制的不断完善,公路作为国民经济发展的重要基础设施正日益发挥着极其重要的作用。公路工程施工是一项复杂的技术、经济活动,涉及到多方面的因素。因此,施工管理上不去,效益就不会好。本文从技术施工管理方面进行了分析,找出...
0引言建筑工程项目施工成本管理是一项综合性管理工作。进行成本管理是建筑业改善经营管理,提高管理水平,提高竞争力的重要手段之一。一个工程项目的盈利与否,成本控制是很关键的一项。1建筑工程项目施工成本管理中存在的问题1.1成本管理机制不够完...