企业软件和信息系统开发成功的关键因素
企业的信息化建设和软件开发,其过程开发的是工具,但其目的是帮助用户实现其希望达到的业务目的。在业界,常常的情况是用户对自身业务非常了解,但是对信息系统的特点不够熟悉,特别开始的时候对实施的过程和结果预期不够明确。而一般的软件公司对因为业务不够熟悉,在项目的前期规划和需求收集阶段没有充分吃透和把关,那么即使对软件技术掌握得再好,也可能导致项目的失败。
因此,艺之都网络认为,作为定制软件公司,项目成功的最重要的部分应该是在前端,首先是向客户学习,充分了解用户的业务流程,和深入理解客户希望项目所达到业务目标。围绕这些前提进行咨询分析,找到正确的切入点和开发方向。同时还有充分考虑用户的现有实际情况、现有应用系统、职工或用户的接受程度、易用性,长远业务目标,长远信息化规划、以及和上级主管部门的保持一致等复杂问题。
艺之都网络的软件定制流程如图:
项目启动阶段
这一阶段主要是为实施做好准备,由项目指导委员会召开项目动员大会,确定项目组成员,确定项目的计划和目标,建立实施所必须的系统环境。
调研分析阶段
项目实施小组在开始系统实施前,先对公司现有的应用系统进行详细调研和分析,根据企业的具体情况和信息化管理的特点确定目标业务流程。对各级用户进行需求调研。最终以双方确认的目标作为下一步具体实施的业务蓝图,并结合软件产品和技术开发实际情况,规划设计详细的解决方案,并进行确认,作为设计开发的基础。
系统开发阶段
根据调研分析的结果,进行系统设计、编码、测试,完成软件的开发。
项目实施阶段
在系统开发完成之后,软件实施进入实质性阶段。项目实施小组要在项目指导委员会的全力支持和相关部门、人员的协作配合下完成大量的具体工作,比如数据分析与导入、系统设置、人员培训、规章制度建立、实施文件归档、客户化修改等。软件的使用者尤其是关键用户必须在这段时间内掌握相关功能模块的操作和应用,以便在系统正式运行后能够独立地使用软件。
试运行阶段
在经过项目实施阶段后,各个模块及整个系统需要试运行一段时间,以确信软件能够在企业中运行良好,并达到预期效果。同时,根据试运行阶段中发现的问题进行系统调整。
系统切换/正式运行
在试运行阶段后,确信软件可以正式开始运行后,需要进行系统切换,企业正式切换到新的业务流程,并在软件上进行企业日常业务处理。至此,软件的实施已经全部完成,进入后期维护阶段。
架构设计
设计的中心思想
以业务逻辑建模,而不是以数据库为中心建立系统模型
对信息系统的设计,应紧紧专注于将企业生产的系统抽象转化为信息系统的模型,能够准确、完整、清晰地了解业务逻辑和业务流程,并且对业务的变化作预先考虑,是项目成功的关键。开发人员容易出现的问题是以关系数据库设计或数据控件的设计代替系统建模,造成的问题是以数据为中心,其结果是系统与数据紧密耦合,难以实现业务逻辑的变化和扩展。
软件是否满足了用户的期望
为了实现这个目标,完善准确的需求收集和需求分析,是项目成功设计的前提。否则无论这个软件再先进,从用户角度看,也是失败的软件。因此,在设计前期,对需求分析所必须的资源和时间投入,必须有足够的重视和充分的计划。
必须要考虑非软件的因素
任何一个项目都是为了用户实现其业务目的,软件工程也不例外。同时,企业用户作为一个实体,其决策收到其行业特点、用户、市场、上级主管部门、决策人员的个性、企业的定位、企业的现状、长远发展规划、历史因素等综合情况的影响,因此,在架构设计上,应综合考虑这些因素。
设计原则
在可能的情况下,按照“统一规划、统一架构、统一标准”的原则,
以良好的设计模式来保证系统的先进性、合理性和应用扩展性。
系统的模块之间应用和交互,尽可能采用松耦合,以实现系统的灵活性和实用性,延长系统的生命周期,保护用户的投资。
采用以SOA作为体系架构的核心,以保证系统级别和部件级别重复使用和业务重组,便于用户长远的。
系统的开放性要求能软件实现三个无关性:通讯组件的网络及协议无关性,数据来源无关性和用户对流程无关性。
采用有效的需求分析手段,力图实现准确到位的需求分析,为良好的人机界面设计提供坚实的基础。高度重视用户界面的设计,作到符合不同用户的实际经验和使用习惯,减少对信息系统的畏惧感,提高用户使用信息系统的信心,真正使系统成为提高生产管理效率的有效工具。
尽可能采用经过实际运行检验的成熟模块,从而节省开发资源和缩短开发周期,确保项目按时交付使用。
项目管理
艺之都网络的项目管理,是在传统RUP 和XP 之间寻找一个平衡点的项目管理。我们称为“实用最好”的项目管理思想的贯彻。因为我们认识到,没有一种方法可以完全适用于不同的项目类型和客户。只有把握住管理过程中的一些核心不变因素,在简洁、有效、实用的前提下才是现实可行的。为此,我们在项目管理过程中坚持如下的一些基本原则:
确定最适合的团队
包括选择称职的项目经理、合格的成员。特别是项目经理必须要了解成员,合理安排人员和工作。
风险的预估和备用方案
充分估计项目的风险,是项目管理的核心。其风险包括人员风险、技术风险、需求膨胀、进度压力、质量风险等。必须要设定备用方案。
分解原则
大的项目必须要进行分解。
持续构建和尽早发布
在可能的情况保证每日构建的成功。在可能的情况尽早发布给产品经理或用户试用。
测试驱动
测试的编写应该在代码的实施之前。
全局规划,分步实施,步步见效
小步成功可以极大的减轻压力,避免质量风险
合理的使用文档和工具
文档和管理工具的使用在必要时必不可少,但是过度使用带来的问题更多。
简单有效
项目的技术和构架的、产品的选用都应该坚持这个原则。
平衡原则
更多倾向RUP 还是XP,完全依据项目的特征和用户的情况而定,做好必要的平衡。