本文结合公路工程建设项目管理软件的开发,对其过程存在的风险进行了一般的分类、分析,供大家参考。
0 引 言
建设工程是一个产生巨量内容的地方,这里的内容包括文档、数据、图片、音像等。而软件则能让这些内容有效地积累存储并通过最有效的手段使其充分发挥应有的作用。所以软件工程和建设工程的结合是工具和内容的结合。在这基础之上的大数据工作,才是财富最大化的未来。
1 建设工程项目管理软件概况
建设工程项目管理软件是指将建设工程业务操作的过程通过软件化手段实现,例如审批、填报、记录等。通过搭建软件平台或软件系统,初始录入各类项目管理用的内容,在使用过程中不断的更新信息和数据。
不似一般的小软件开发,建设工程项目管理软件一般需要承载大量的信息和内容,同时还有复杂的流程处理。这就决定了该类软件的开发面临的风险不同于一般的软件开发,其风险特征既具备普通软件开发的特点,又具有自己的特殊性。
2 建设工程项目管理软件开发风险及分类
风险是指客观存在的,对目标达成具有负面影响的不确定性。风险分类方法是根据风险性质、风险的来源、风险产生的阶段、风险产生的后果、风险发生的对象等进行的,有多种不同的分类方法。项目管理软件开发按照上述五种分类方法有如下风险因素。按风险性质分为:经济风险、政治风险、社会风险、技术风险、资源风险;按产生阶段分为:业务开发、需求阶段、业务分析、接口、软件开发、交付使用;按产生后果分为:重大、较大、一般、轻微;按发生对象分为:业主风险、开发团队风险(业务团队风险、软件团队风险)、市场团队风险。
3 项目管理软件开发各阶段面临的风险分析
3.1 软件开发阶段面临的风险穷举
对风险进行分析、评估、管控的前提是对风险进行识别,找出某一过程所有可能的风险因素才能更好地对症下药。对项目管理软件开发各阶段的风险进行分析,利用穷举法对其风险因素进行分析。
3.2 业务开发风险
业务开发风险是指出在项目市场开发阶段所面临的不确定性。
(1)项目的不确定性。项目团队、开发团队缺少配合或经验缺失,对项目策划、建议、实施措施理解、分析不到位,导致项目本身在落地之前产生了易主、取消、降低投资等风险。
(2)市场不稳定。一些项目管理软件的开发必须依托市场经济或工程项目进行,当这方面发生政策变化、重大变更以及建设单位对项目软件的需求降低时,容易产生项目中途流产风险。
(3)业主心态。如何抓住业主的痛点,真正解决业主的问题,或者仅仅是从业主的角度出发思考项目管理软件的做法,是项目开发经理应该深思的问题。
(4)自身实力不足。项目管理软件结合了建设工程和软件工程,建设工程不同于其他行业,例如金融、互联网等,其透明度高,讲究资源效率。工程行业自身的资本运作密集,项目建设流程模式固定并且存在许多的“漏子、暗道、关系、利益”等,如果没有足够的市场疏通、业务分析和软件开发实力,难以做出成功的项目管理软件。经常可见有许多项目管理系统开发完成以后闲置、弃用,就是因为这些原因。
3.3 业主风险
和以上开发阶段来自于业主的风险不同,这里的业主风险更多的是强调业主在项目软件项目开发决策和执行力上存在的风险。
(1)因为是建设工程的原因,业主可能存在自身业务能力不足导致软件开发初期,功能需求不全面、不详尽、模糊的情况。
(2)部分业主因为存在建设管理程序不合法,例如图纸准备不到位就招标施工、随意调整施工进度、重大变更多等,对软件部署时的数据初始化、部分功能使用造成严重影响。
(3)项目管理软件属于新型的工程建设费用,国家对此暂未出台相关取费标准,因此对于软件开发、使用的资金来源,部分业主解决能力不强,导致软件开发和使用受阻。
(4)项目管理软件的开发要以合同为主线,早制定、早落实合同内容。
(5)因为建设管理人员和软件开发人员在知识体系上的不同,需求方经常会给出软件难以实现或在合同、投资范围内难以实现的功能要求,从而产生搁置、重启需求调研、功能调整等风险。
3.4 需求阶段风险
如果软件开发是业主、业务团队、软件团队的三级开发结构,那么需求阶段的风险就是业主和业务团队之间的信息过渡。了解这个阶段的风险尤为重要。
(1)需求细分不全面。需求细分,其实是对软件开发所需要的一切原始信息的分类。业主本身积累了足够庞大的知识量和隐藏的管理行为,需要进行细分挖掘。
(2)需求调研不充分。需求调研不够深入,自身缺乏对建设工程活动的更多认识,从而产生遗漏、错失相关需求信息。
(3)需求信息不对称。在需求调研、收集的过程中,因为记录、理解的原因,需求信息发生了错位,偏移了业主的初衷。
(4)需求文档管理不规范。需求阶段要做好文档记录,对相关会议进行备案,对业主的需求要进行充分确认,形成规范有序的文件档案管理制度,防止出现软件开发问题找不到源头,增加开发成本和难度。
3.5 业务分析风险
要将传统的建设工程的知识体系、管理行为、结果过程通过软件实现,首先要对建设工程所涉及的一切业务进行深入分析。
(1)业务流程不确定性。建设工程的审批流程、上报流程、验收评定流程等,涉及的人多、单位多、文件多,在实际操作中,流程具有可变通性、不定期性、人员代签等问题。
(2)业务内容生成难度大。建设工程的业务内容具有涉及面广泛、数量庞大、牵连性强、专业性高等特点,而软件开发需要集中处理大量的业务内容,同时准备好初始化数据,需要软件工具、专业人员、组织管理等多方密切配合。
(3)软件化后的现实风险。软件化的弊端是固定化,少了灵活性,对于工程建设人员可能会带来体验性的风险。因此要尽可能设计得合理,从工程人员的习惯出发,讲求实用性、适用性。
(4)业务架构与系统架构。针对项目质量、进度、计量支付、档案等的业务管理存在内在的关联关系,在软件化的时候,要注重各模块之间的内在关联关系,关注各模块内部数据的调用和资料文件的归属。
3.6 接口风险
业务团队和软件团队的对接是真正实现项目管理软件开发的最重要环节,提高业务人员的流程策划能力和软件人员的业务熟悉程度同等重要,让双方在交错中实现软件的顺利开发。
(1)需求理解不到位。单纯的文档化需求分析及设计交接很难形象直接地展现需求方对软件开发的各种要求,软件人员也要花费大量的时间去了解文档的背后,然后梳理成自己的逻辑。这个过程中,很可能发生需求曲解、重新设计、修改困难等风险。
(2)设计思维差异化。在原型设计功能不能满足建设工程软件项目开发的时候,因为软件开发人员的固有思维模式,其对界面设计、功能点选取、流程设置、角色配置会有个人的惯性设计方式。
(3)资源配置不合理。软件项目开发是一个将业务工作持续软件化的过程,有点儿边设计边施工的感觉。这个时候软件方面要合理地配置各项开发资源,包括人力的投入曲线、进度计划的制定、业务人员的工作安排、基础数据的准备等。
3.7 软件开发风险
软件开发风险已经有很多专业性的风险研究,在这里不做相应说明,仅列出软件开发可能面临的风险类型:①软件开发技术不足。②配套软硬件风险。③软件开发管理风险。④软件开发安全风险。⑤人才组织风险。⑥文化风险。
3.8 软件交付使用风险
(1)市场风险。体现在长周期软件开发项目中,市场环境变化带来的风险。比如竞争对手更新更快的产品出现,研发产品市场地位下降;项目建设投资发生变化,费用投入减少;环境舆论对新产品应用带来的不良影响,尤其是跟风产品。
(2)使用测试风险。主要体现在系统集成以后,因未有充分准备或潜在软件bug而出现大量的问题。
(3)用户体验风险。软件开发过程客户参与度不高造成的使用习惯风险,体验不佳;对软件使用说明不够详细全面,造成用户使用障碍。
(4)二次开发风险。跟工程返修类似,因部分功能大量调整或新增功能,以及系统整体功能、稳定性、适用性等出现严重bug,而面临二次开发风险。
4 总 结
建设工程项目管理软件归根结底是一种产品,应积极应用产品开发的相关管理方法。但也一定要注意到建设工程的特殊性,要深入分析软件产品在跨行应用时的“入乡随俗”和“技术先进”的共融方案。
业务设计和软件开发要紧密结合,但也要有各自分立和结合的机制。业务需求要清晰,转化为软件设计要确保“不失真”。加强和重视产品开发过程中容易发生并带来影响较大的风险,合理规避和减少风险损失,降低开发成本,提高开发效率和产品质量。
作者:杨文广 来源:中国管理信息化 2016年1期