软件项目管理(CMMI成熟度)实践——之决策分析(1)

决策分析与解决方案(Decision Analysis and Resolution, DAR)的目的,在于利用正式的评估过程,依据已建立的准则,评估已识别的多种备选方案,以分析可能的决策,确定最佳解决方案。正式的决策流程减少了决策的主观性,提高了决策的科学性。

在项目实施过程中,技术方案选型往往是比较揪心的一个过程,需要在满足需求、技术先进性、成熟度、成本、人力、工期等方面进行平衡,而且这些方案是项目干系人和项目组成员在头脑风暴会议经上,通过快速互动、刺激提出有创意的备选技术解决方案。每个方案都有意义,或者说,多数的方案都是能解决问题,只是成本、时间、人力等纬度的目标一致性需要统一衡量。

所以提出方案的人,都会认为自己的方案比较优,这样矛盾就产生了,需要一套决策分析管理过程来决策选择哪个方案。

在本项目的架构设计阶段,技术人员提出多套备选前端开发技术解决方案,对于这样产生的决策分析,表面上看是选择性决策,而通过深入分析,发现隐含多项技术组合结构决策,为了加快决策进度,抓住核心,把多项技术固化下来,下面介绍此决策分析实践。

1、系统总体技术方案介绍

为了应对企事业面对的系统技术和业务改革挑战,我们要建设的PaaS办公能力平台应超越传统PaaS范畴,在业务能力和技术能力组件上有所加强,形成更有针对性的“厚PaaS”平台。通过这个平台,我们可以统一技术框架、统一流程管理、提高数据一致性、提高资源利用率、提高服务和技术的标准化、简化上层应用的开发和运维。

目标架构按云计算设计分为四层:外包资源(IaaS)层、业务运营PaaS平台层、软件服务层、复合应用层。最终通过门户统一接入。

(1)外部资源层:目标架构搭建在企业内部虚拟化资源池上,由虚拟化资源池提供设备资源(虚拟机),以及以此所部署的Oracle、MySQL、MongoDB数据库。

(2)业务运营PaaS平台层:基础平台层采用Opentext Cordys BOP4 平台,此平台是企业内部办公系统云计算PaaS平台,为企业信息化提供统一的开发、运维、运营服务,并可以提供文件服务、报表服务、审批单框架服务、任务服务(是与云门户统一待办相关的服务)、主数据服务、流程服务、表单服务、用户组织机构服务、监控服务、接口服务、文档服务等。

注:这些服务是在原生服务基础上进行的本地化,但是不会改造产品本身,特殊个性化仍用原生服务。系统架构是在传统PaaS平台基础上,提供贴近业务的专业PaaS服务:业务能力组件和技术能力组件。

(3)软件服务层:在PaaS平台上,开发软件服务,在应用服务设计时,合理拆分为易组合的软件组件服务,采用适配技术,以满足快速开发、实施的需求。整体上规划出公文管理、通用办公、流程管理、运维管理四大部分。参考租户模型,按省公司、地市、虚拟组织及应用模式进行部署。服务中间件使用Cordys、Apache HTTP、Java EE(Tomcat/JBoss)。

(4)复合应用:就是展现用户界面,按目标应用复合软件组件服务,分别为不同用户提供不同展现界面。界面技术可使用Cordys XForm、HTML/HTML5、JavaScript、JSP等。

2、项目关键信息

2.1、背景

用户选型BPM产品为Cordys,并且,用户使用Cordys产品已经5年了。原技术实现中未使用JavaEE技术,Web服务使用Cordys产品自身所集成的Apache Http,前端开发技术属于富客户端Web2.0。

前几年,我们曾经对原系统前端开发技术进行优化,以克服富客户端技术对终端设备要求高的问题,创新的采用轻量技术实现在低配置终端和服务器上流畅的、稳定的运行系统,主要采用的技术有:

(1)在富客户端(XForm)技术框架内,嵌入HTML轻量界面,提高低配置终端应用性能,并美化界面;

(2)合并操作界面的Soap请求(Web Service),减少网络上数据交互量和数据传输量,降低对网络带宽压力,也减轻了终端网络压力;

(3)数据库分区优化,避开存储的热盘,也对数据库SQL进行优化,以及数据解耦。

现如今方案是升级BPM产品,不仅要提供流程服务,还要做为PaaS平台使用。用户的目标是通过新建流程管理平台,支持企业流程再造,支撑业务快速实施,并提供较好流程监督与审计的能力。

2.2、项目实施计划关键信息

由于项目的需求是部分明确,按项目量化管理(CMMI高成熟度)模型,建议本项目采用增量开发模型。项目实施计划关键信息如下:

(1)开发工期5个月;

(2)投资预算为120人月;

(3)现有开发人力及掌握技术情况(项目经理及需求、测试人员除外),计划组织成22人项目团队。

(4)技术成熟度方面,Cordys与JavaEE平台都比较成熟;

(5)技术风险:

    • Cordys平台有厂家现场技术支持;
    • 在JavaEE平台上无高并发集群实施经验。

2.3、前端开发技术方案选型思路

做为项目经理,希望项目按计划实施,并因此严格掌控项目目标。目标的达成要得到有效管控,这时遇到前端开发技术方案选型的问题。我的要求是用最简洁的方案,花费最少的成本和时间,能达到用户要求就是好方案。

其实目标的达成,还是有些思路可以遵循的,也是以前项目经验教训和技术进步所恩赐的,例如:

(1)解耦:业务、数据解耦,也就是说在将来系统建成后,如果有修改或新需求,大多数情况下是可操作的,而且花费少,不影响现有的业务和数据,因此,推荐系统使用SOA技术,以及组件化和适配技术;

(2)采用Restful规范(数据传输采用JSON格式),是针对Soap XML协议的,以此来减少网络数据传输量,降低客户端解析数据压力,也可降低服务器数据端口吞吐量;

(3)尽量合理使用Cordys平台提供的能力;

(4)选择技术成熟度较高的方案,开发人员都会用或易掌握的技术;

(5)项目组主要成员需要达成一致。

表单式业务处理,也就是前端技术架构层次为多层架构,也是满足运维人员灵活配置、组件化结构,如下图所示。

第一层为界面展现层,是业务数据输入、展现的终端界面,为传统View;

第二层为业务逻辑处理层,用于组件化装配业务;

第三层为数据适配层,用于表单数据输入、输出通过数据项定义来对应;

第四层为数据操作处理Model层,为传统Model,而Model与View的对应是通过多层配置适配转换出来的,也就是说传统模型依赖关系在此架构下不适用。

3、决策分析

3.1、候选方案列表

(1)HTML

前端采用HTML+JavaScript+CSS开发技术与Apache HTTP服务器,后端服务为Cordys BOP 4平台,提供服务组件;

优点:不依赖JavaEE容器,直接使用Cordys集成Apache HTTP服务,系统集成架构相对简洁,有实施经验;

劣势:缺少可用开源框架,开发效率较低,缺乏JavaScript开发人员。

(2)JSP

前端采用HTML+JavaScript+CSS+JSP开发技术自主开发与Apache Tomcat + HTTP服务器,后端服务为Cordys BOP 4平台,提供服务组件;

优点:现成开源框架较多,能大幅提高开发效率,而且JSP开发人力资源较丰富,降低对Cordys平台的依赖;

劣势:系统依赖JavaEE容器,需要与Cordys平台集成,缺乏基于JavaEE环境高并发应用实施经验。

(3)XForm+HTML

完全基于Cordys BOP 4平台,前端界面少量采用HTML+JavaScript+CSS开发技术与Apache HTTP服务器;

优点:与候选方案(1)类似,并可充分利用Cordys平台集成功能;

劣势:缺少Cordys开发人员,用HTML部分开发效率低,缺乏JavaScript开发人员,并且,使用XForm开发的那部分功能可能存在终端性能问题。

综上所述,3个候选方案很难取舍,因此提出决策分析计划,依据CMMI成熟度模型,决策分析技术架构选型方案。

3.2、决策分析计划

注:评估方法采用Delphi法。

3.3、评估准则列表

评估准则选择,首先依据项目管理的五个过程和九大知识领域,再依据软件工程进行选择,这里评估准则所选择是依据公司CMMI成熟度模型。

(1)满足需求

需求有业务需求,也有软件需求,之所以把满足需求列在首位,是因为软件需求要求的:一是终端性能需求、二是界面美观需求、三是提供快速开发能力需求(含运维支撑能力)。

(2)投资成本

投资成本在这里具体体现开发效率、人力投入来体现。评分标准是:开发效率及相关人员级别,也就是说低级别技术人员开发效率高,投资成本就能得高分。

(3)技术成熟可靠

技术成熟可靠是指所使用的技术广泛使用,系统稳定(很少死机),业界有成功案例,公司有成功实施案例得高分。

(4)技术风险

技术风险主要是考虑是否有厂家技术支持,出现技术难题能快速解决得高分。

(5)人力资源

人力资源是指所采用的技术,公司能提供充足的资源,或通过其他合作渠道获得足够的资源。

依据上述准备,下周进行决策分析评估,评估完成后,我再分享结果。有不足之处,欢迎分享、反馈。

参考:

(1)管理支撑办公系统技术架构选型及相关技术应用范围、方法分析2014年4月 肖永威

(2)管理支撑办公系统技术架构选型对比讨论(J2EE与SOA对比)2014年4月 肖永威

时间: 2024-10-10 01:54:36

软件项目管理(CMMI成熟度)实践——之决策分析(1)的相关文章

软件项目管理(CMMI成熟度)实践——之决策分析(3)

续<软件项目管理(CMMI成熟度)实践--之决策分析(1)>.<软件项目管理(CMMI成熟度)实践--之决策分析(2)>,后记. 关于前端开发技术架构决策分析的活动已经结束了,按理说不应该这么快来写总结,但是,的确发生了很大的变故.因此在此写写后续发生的事情吧. 我很高兴,项目组开发人员在通过长时间热烈的讨论.研究后,终于通过决策分析方法选择引入JavaEE技术架构,并把Cordys产品放在后台.我感觉到我的压力骤减,主要原因如下: (1)受Cordys产品限制.制约,大幅减少:

软件项目管理(CMMI成熟度)实践——之决策分析(2)

续上文<软件项目管理(CMMI成熟度)实践--之决策分析(1)>,决策评估结果如下. (1)评估结果 方案一:86.17,方案二:87.08,方案三:80.25 基于此评估结果,选择方案二,也就是整合JavaEE平台到系统中,提供系统前端开发技术能力,这也是广大技术人员所期望的结果. (2)分析结果 通过得分来看,方案二与方案一,相差不足1分,而且三个方案分数没有拉开,是什么原因呢? 我初步分析是三个方案本身整体相差不大,即使方案二的技术优势教明显,然而,项目组团队在其他方面仍不具备很好的掌控

[书目20150309]成功的企业级软件项目管理:优化绩效完美交付的最佳实践

本书旨在解决困扰软件行业的一个问题: 如何组织软件项目管理以实现优化绩效.完美交付.作者尼尔.怀特(PMP,项目管理领域的专家)介绍了一种新的方法:Enterprize组织. 本书描述了Enterprize组织所定义的项目中的关键角色与责任,包括产品经理.项目经理.业务架构师.产品架构师.过程架构师.资源经理.团队带头人和团队成员. 本书还讨论了如何利用Enterprize组织大型项目.小型项目.多个项目和维护性项目,并通过设置的“问题与答案”栏目回答了项目管理过程中常见的一些问题. 目录 第1

《软件工程 ——理论、方法与实践》知识概括第三章 软件项目管理

第3章 软件项目管理   软件项目管理有利于将软件开发人员的个人开发能力转化为企业的开发能力,并使企业的软件开发能力不断提高和成熟. 一.软件项目管理概述 软件项目管理是为了使软件项目能够按照预定的成本.进度.质量顺利完成,而对成本.人员.进度.质量.风险等进行分析和管理的活动. 软件项目的特征:1.软件产品的不可见性:2.项目的高度不确定性:3.软件过程的多变化性:4.软件人员的高流动性. 软件项目管理的“4P”:人员(People).产品(Product).过程(Process)和项目(Pr

[课程分享]IT软件项目管理(企业项目甘特如是评价、维护管理、文档管理、风险管理、人力资源管理)

[课程分享]IT件项目管理(企业项目甘特图案例评价.维护管理.文档管理.风险管理.人力资源管理) 对这个课程有兴趣的朋友能够加我的QQ2059055336和我联系 课程讲师:丁冬博士 课程分类:Java 适合人群:中级 课时数量:32课时 用到技术:IT软件项目配置.IT软件项目模板的制定 涉及项目:IT软件企业项目甘特图案.IT软件项目可行性报告分析.基于svn的IT软件项目配置管理案例 更新程度:完毕 课程背景: 该课程是北风品牌项目管理课程系列之中的一个<IT项目管理>课程.通过本课程的

浅谈软件项目管理

初步接触<软件工程>这门专业课,在我看来:软件工程是一个极具挑战性的项目,在约定的时间内,整个项目小组可以在满足用户需求与软件基本规范的情况下,开发出稳定可靠的软件.但是,在软件开发的过程中,往往有许多不可规避的风险与未知的情况,例如:软件不能按时交付,软件的成本明显超过预期,软件未能达到用户的需求等等,"如果所用的时间是预计时间的两倍以上或费用超出预算两倍以上的项目为失控项目",为了有效规避项目在开发过程中的风险,所以笼统来说,项目管理指的是:根据特定的规范,在预算的范围

软件项目管理与素质拓展-前言

前言 十五年前,心比天高.踌躇满志地跨出清华园,步入IT职场.六年前,折戟沉沙,怀着无尽失落来到长安山下的百年师大. 青春的校园充满活力,青春的校园充满矛盾.年轻的一代一方面个性张扬.敢想敢干却又敏感脆弱.眼高手低.他们勇于求新.渴求认同,他们心浮气躁.叛逆自我.他们随性而为.挣脱一切,他们沉迷游戏.追逐韩剧. “师者,所以传道授业解惑也.”保持一颗年轻的心,敬畏学生,享受教学.站在三尺讲台上,如履薄冰.从那些执著于语言算法,而又不谙世事的莘莘学子身上,依稀看到当年的自己.成功难以复制,失败或可

[课程分享]IT软件项目管理(企业项目甘特图案例评价、维护管理、文档管理、风险管理、人力资源管理)

对这个课程有兴趣的朋友可以加我的QQ2059055336和我联系 课程讲师:丁冬博士 课程分类:Java 适合人群:中级 课时数量:32课时 用到技术:IT软件项目配置.IT软件项目模板的制定 涉及项目:IT软件企业项目甘特图案.IT软件项目可行性报告分析.基于svn的IT软件项目配置管理案例 更新程度:完成 课程背景: 该课程是北风品牌项目管理课程系列之一<IT项目管理>课程.通过本课程的教学,使学生掌握IT项目管理的基本原理和基本技能,能够根据项目干系人的特征需求,确定项目的范围,经过计划

关于软件项目管理的心得体会之一

目的 软件项目管理是一项涉及面较广,但是非常必要的一项技能.相较于软件开发中的其他专业技能, 又更加依赖于实践和阅历.这里想跟各位同仁分享一下自己在过往项目中的心得体会,结合些许耳熟能详的理论,起到抛砖引玉的作用. 局限性 项目管理既然是一门实践科学,所以这里跟大家分享之前,还是要说明局限性.因为我之前是在一家提供软件服务的传统软件公司工作, 所以很多项目的经验都来源于作为乙方的外包项目,同时,大部分项目都是移动相关领域.目前我在一家国内的互联网公司,从事的电商相关的应用项目. 开篇 想跟大家分