- 1.35 MB
- 21页
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
P版本:V6.0时间:八月4,2021客户化开发服务产品交付作业指导书客户化开发支持总部Confidential
客户化开发服务产品交付业务指导手册客户化开发方法论6.0文档发布信息发自日期电话/传真Email接收者行动*截止日期电话/传真*行动种类:批准,审核,告知,存档,执行,参加会议,其他(请具体说明)文档修改记录版本号日期作者/修订者描述文件名V6.02011年5月UFIDAPage21of21
客户化开发服务产品交付业务指导手册客户化开发方法论6.0目录1.前言51.1使用说明51.2核心思想52.概述73.内容详解83.1项目规划阶段83.1.1阶段目标93.1.2阶段任务93.1.3操作攻略93.1.4交付物清单103.2分析设计阶段113.2.1阶段目标113.2.2阶段任务113.2.3操作攻略123.2.4交付物清单123.3系统架构阶段133.3.1阶段目标133.3.2阶段任务133.3.3操作攻略133.3.4交付物清单143.4实施交付阶段153.4.1阶段目标153.4.2阶段任务153.4.3操作攻略15UFIDAPage21of21
客户化开发服务产品交付业务指导手册客户化开发方法论6.03.4.4交付物清单163.5持续优化阶段173.5.1阶段目标173.5.2阶段任务173.5.3操作攻略173.5.4交付物清单183.6项目管理183.6.1阶段目标193.6.2阶段任务193.6.3操作攻略193.6.4交付物清单19UFIDAPage21of21
客户化开发服务产品交付业务指导手册客户化开发方法论6.01.前言用友公司2001年发布了第一套用友项目客户化开发方法论V1.0,初步建立,向规范化实施迈出了第一步;2006年发布了客户化开发方法论V3.0,基本成型;2007年经过升级扩展推出V5.0,日臻完善,并在全国迅速推广,经过广大客户化开发顾问在项目中的贯彻执行,有效规范了项目的客户化开发,控制了项目客户化开发的风险,提高了项目客户化开发的成功率。通过多年客户化开发实践,我们达成如下共识:没有万能的、无须客户化的软件;客户化在某种程度上是必须的、是不可避免的;客户化是柄双刃剑,既能带来管理收益,亦能带来系统风险;不同的客户对客户化有不同程度的需求。通过多年的客户开发实践,我们还达如下结论:需要一种管理体系或工具,来根据用户的业务特点,来评估客户化的收益与风险,使客户化与标准化达到平衡;既要满足业务需要,又要保证系统的安全,提升总体的投资回报率。为了适应新的形势的发展要求,规范项目客户化开发,做到专业化、规模化、标准化,迫切需要对客户化开发方法论V5.0进行升级扩展;在认真分析、充分讨论的基础上,对项目实施各阶段、各项任务的工作内容、策略、角色和责任、交付成果、使用文档、潜在风险逐一进行了梳理,并整理了一套工具、模板,力求流程清晰、简练实用,形成客户化开发方法论V6.0。1.1使用说明客户化开发方法论主要指导NC、U8等需要提供客户化开发服务的项目,规定了项目客户化开发的标准阶段、任务、工作流程、工作内容、角色和责任、交付成功标准等,为开发顾问提供从项目开始到项目收尾的全生命周期的管理,旨在规范客户化开发、降低客户化开发风险、提高客户化开发的成功率。当然,任何客户化开发方法论都只是战略导向,是带领项目走向成功的向导图。而具体对一个项目来说,应该如何开发、怎样分阶段、每阶段重点工作是什么、解决什么问题、会有什么情况、怎样应对、采用什么样的方法等。开发顾问不能仅仅按照开发方法论照本宣科,而应该在方法论的原则指导下根据实际情况做灵活的调整和运用,把方法论理论与客户业务相结合、与行业最佳实践、与产品实际相结合,这才是编写这套开发方法论的主旨。1.2核心思想开发方法论的核心思想是:基于以客户为中心的全生命周期经营的核心理念,以业务优化、知识转移、专业项目管理为核心价值,对项目客户化开发UFIDAPage21of21
客户化开发服务产品交付业务指导手册客户化开发方法论6.0的全生命周期进行管理,力求做到规范、灵活、高效、实用。l以客户为中心:客户经营是公司的基本商业模式和核心经营战略,我们要以客户为中心,贴近客户、倾听客户,向客户学习,积极对待客户投诉,为客户提供全生命周期的专业、及时、真诚的价值服务,超越客户期望,服务客户的明天和今天,满足客户需求,创造客户价值。l知识转移:关键用户全程参与和最终用户的提前参与,尤其是对新管理流程、管理理念的理解,新流程和数据规则的了解,通过关键用户的全过程的参与,最终成为熟悉系统管理和业务流程、管理理念的专业管理人员,充分扩大客户的参与力度,让客户成为项目实施的主体。l专业项目管理:标准的规范化管理是项目成功的必然因素,在客户化开发过程中提供专业的项目管理,降低项目开发风险,提高开发质量是保证项目成功开发的前提和必要条件。l灵活选择、科学组合:客户化开发方法论中尽管提供了标准的开发步骤和程序,但各阶段、各任务、各工具及模板组件化,可以根据项目的实际情况,灵活选择,有的放矢,科学组合。在具体的项目开发过程中,根据客户的个性状况和基础水平,结合用友产品的特点,用户完全可以从特定的开发步骤开始切入,从而有效利用客户原有的一些积累和基础。比如,对于以前曾实施过ERP系统的企业,企业有着良好的基础数据和流程优化基础,则在实施过程中则完全可以直接进入客户化开发阶段。“不必从零开始,也无须完全否定”,这一思想也体现了灵活的特点,从而根据项目的实际情况,灵活运用,高效实用。lPDCA循环:在客户化开发方法论中,我们可以把一个项目的开发过程分解为计划-执行-检查-行动四个过程,即PDCA过程:PDCA(PLAN-DO-CHECK-ACT)戴明循环通常应用于相当细致的工作流程。在客户化开发方法论中UFIDAPage21of21
客户化开发服务产品交付业务指导手册客户化开发方法论6.0体现于全过程的PDCA循环,前一阶段的系统目标和评估状况会成为下一阶段系统改善的起点,以此来体现用友为客户持续服务,给客户带来持续增值的价值。不仅项目阶段如此,在客户化开发过程中,在项目组织所有层面和任务上持续应用戴明循环――项目领导小组、核心项目组、项目关键用户、项目最终用户,使每一层面和任务都把项目客户化开发和运行过程作为一个持续学习和改善的过程,如下图所示:项目关键用户开发小组领导小组执行执行执行执行计划计划计划计划行动行动行动行动检查检查检查检查最终用户客户化开发方法论中的全范围戴明循环1.概述客户化开发方法论中的开发路线图共有五步,包括:项目规划、分析设计、系统架构、实施交付、持续优化五个阶段,对于每一个阶段,定义了要完成的目标及要做的主要任务、工作策略及说明、角色和职责、交付成果、风险提示、使用模板等。l项目规划:主要任务包括项目内部交接、需求调研、技术方案、可行性和风险评估、商务谈判、团队组建、项目启动。此阶段主要是为分析设计提供开发需求依据;l分析设计:结合项目规划阶段所了解的需求进行需求分析及系统设计,主要任务包括需求分析、系统概要设计和系统详细设计,为下阶段系统架构奠定基础;UFIDAPage21of21
客户化开发服务产品交付业务指导手册客户化开发方法论6.0l系统建设:根据确定的系统详细设计方案,进行开发准备、代码实现、单元测试及集成测试等,为系统实施交付提供客户化开发产品;l实施交付:上线前的一系列准备工作及上线切换,主要任务系统切换方案、系统运行制度制定和发布、系统上线环境建立、系统切换检查、动态数据导入等,进入了运行支持阶段;l持续优化:上线切换完成之后,系统开始运行,进行持续支持,主要任务包括:运行支持、月结、项目收尾与总结、持续优化诊断报告、项目验收、内部服务交接等。UFIDAPage21of21
客户化开发服务产品交付业务指导手册客户化开发方法论6.01.内容详解1.1项目规划阶段1.1.1阶段目标§确定客户业务需求;§确定开发任务、项目报价、开发合同;§成立双方项目组并共同拟定开发计划;§成功召开项目启动会;1.1.2阶段任务§项目内部交接§客户概要需求调研UFIDAPage21of21
客户化开发服务产品交付业务指导手册客户化开发方法论6.0§项目评估(包括技术方案、可行性评估、风险评估)§商务谈判(包括开发方案、工作量估算及报价、开发工作任务书、开发合同)§团队组建§组建双方项目团队§项目启动会议召开1.1.1操作攻略1.1.1.1项目交接§制定项目交接计划与清单(软件合同、实施合同、开发合同)§召开项目交接会议,做好内部交接会议备忘录§对于没有明确开发收入项目的合同是否涉及内部费用划拨,是否制定专项费用预算,特别是外包预算及支付权限和办法§明确上级对项目的管理权限和范围,并给予的支持内容1.1.1.2需求调研§制定调研计划:在ERP项目的售前阶段,一般用友售前咨询顾问会进行一些简要的调研,来确定项目开发的目标。其目的是为了论证ERP项目可行性的需要,所将要制定的开发计划是一个比较粗略的计划,对工期和资源的估算只是一些预估;在开发阶段,需要重新进行调研,以澄清所有的客户业务细节,并进行业务规则与系统的匹配。调研结束之后,可以得到开发的应用解决方案§在正式调研前我们需要拟定一个调研提纲,罗列出我们调研过程中的主题及内容提要§编写需求调研报告,对所开发的软件需求进行概要的描述§编写需求确认表,由双方负责人签字确认1.1.1.3项目评估§根据客户的概要需求,提供我们的技术解决方案§根据概要需求及技术方案,对方案的可行性进行评估§根据概要需求和技术方案,给出风险评估报告,并对关键的风险的控制点和规避的措施1.1.1.4商务谈判§根据客户的概要需求,制定客户化开发方案§根据客户的概要需求,制定工作任务书明确双方的义务和项目目标§根据客户化开发方案,制定工作量估算报价明细§拟定开发合同,明确开发成果所有权、特殊约定等未尽事宜1.1.1.5团队组建§根据项目需要,制定双发项目组成员名单、通信录§根据项目需要,制定项目组织结构图§根据项目需要,制定项目组成员(客户方、用友方)职责和任务明细UFIDAPage21of21
客户化开发服务产品交付业务指导手册客户化开发方法论6.0§根据客户化开发方案,制定项目推进计划书1.1.1.1项目启动§项目启动会前确定项目组的工作环境,保证项目组的沟通方便:明确工作办公地点、准备网络平台、准备工作设备、企业员工技术的摸底。项目组工作环境要求内部网络的通畅,外部互联网的通畅,项目组成员应该有固定的EMAIL地址;有专门的文档及打印共享服务器,该服务器也可以作为项目沟通的系统平台§配合项目启动会,可在公司范围内进行一些必要的宣传活动,比如建立公司ERP宣传墙和项目进度看板等§项目启动会后要形成广泛的影响1.1.2交付物清单针对阶段的主要交付的文档清单包括:阶段一级任务交付物用友客户项目规划项目交接《项目内部交接记录单》《项目交接会议备忘录》《用友内部费用划拨单》《客户生产环境配置方案》需求调研《需求调研计划》《需求调研报告》《需求确认表》项目评估《技术方案书》《项目可行性分析报告》《项目风险评估报告》商务谈判《工作任务》《项目客户化开发方案》《项目客户化开发报价》《项目客户化开发合同》《合同验收衡量标准》团队组建《双方项目组成员名单》《项目组织结构模板》《用友项目组成员职责和任务》《客户项目组成员职责和任务》《项目客户化开发推进计划》项目启动《项目启动会》UFIDAPage21of21
客户化开发服务产品交付业务指导手册客户化开发方法论6.01.1分析设计阶段1.1.1阶段目标§确定怎么做;§主要从客户的角度对业务进行分析,对企业业务的真实描述§结合产品的特性给出业务流程整体流程的解决实现方案;§设计出底层核心的架构的数据结构§给出原型界面模型,业务逻辑说明1.1.2阶段任务§需求分析§概要设计(数据库设计规范、代码设计规范)§详细设计(给出数据库设计、数据的字典、业务关系说明)1.1.3操作攻略1.1.3.1需求分析§了解用户的实际业务应用场景,分析出用户提出的需求背后实际需要解决的核心问题是什么。§从解决用户核心业务问题出发优先处理用户核心业务,在核心业务处理完的基础上再进行易用性分析、分析把握主要需求和次要需求。1.1.3.2概要设计§确定软件的总体结构框架,例如当前系统包含哪些子系统他们的关系是什么样的,各个子系统之间的业务控制关系和接口设计原则、界面设计原则。UFIDAPage21of21
客户化开发服务产品交付业务指导手册客户化开发方法论6.0§制定出数据库的设计规范,为后续数据库设计参考,从而减少由于设计不规范造成项目组成员交流成本,提高开发效率和质量。§制定出数据库开发规范。§撰写概要设计说明书1.1.1.1详细设计§根据概要设计阶段的概要设计说明书,制定数据库设计说明书§根据概要设计说明书,制定技术实现开发文档§根据概要设计说明书,制定详细设计方案,在详细方案中设计出程序的核心算法,并对UI类、BO类、VO类、DMO类、等其他类的核心方法的设计定义。1.1.2交付物清单此阶段交付物清单阶段一级任务 关键交付分析设计用友方客户方需求分析《开发需求分析报告》《开发详细计划》对《开发需求分析报告》中的需求进行需求确认概要设计《数据库设计规范》《数据库开发规范》《概要设计说明书》详细设计《数据库设计说明书》《数据库字典》《详细设计说明书》UFIDAPage21of21
客户化开发服务产品交付业务指导手册客户化开发方法论6.01.1系统架构阶段1.1.1阶段目标§按照详细设计说明书中的描述,通过代码实现软件的业务功能。1.1.2阶段任务本阶段的具体任务主要包括以下几方面:§开发准备;§代码实现§单元测试§集成测试1.1.3操作攻略1.1.3.1开发准备§为了保障代码开发的有序进行,在开发准备阶段向项目团队的中成员,详细介绍开发环境纪律和注意事项,让每一个开发人员清楚项目应该遵守的开发纪律。UFIDAPage21of21
客户化开发服务产品交付业务指导手册客户化开发方法论6.0§注释说明,所有过程的开始部分都应有描述其功能的简要注释。这些注释并不描述细节信息(如何实现功能),这是因为细节有时要频繁更改。这样就可以避免不必要的注释维护工作以及错误的注释。细节信息由代码本身及必要的内部注释来描述。当传递给过程的参数的用途不明显,或过程对参数的取值范围有要求时,应加以说明。如果过程改变了函数和变量的返回值(特别是通过参数引用来改变),也应在过程的开始部分描述该返回值。§代码备份制度,每天工作开始时,首先从版本库中取出需要工作的代码版本。如果软件配置管理人员没有给出当天的代码版本配置文件,那么开发人员从版本库中取出最新的代码版本,否则采用配置管理人员提供的代码版本配置文件得到需要的版本,在当天工作的结束的是提交当前修改的代码到代码服务器上。1.1.1.1代码实现§编程文档,在代码实现阶段开发工程师需要将一些关键实现思路和代码逻辑记录下来,供后续阶段分析问题后持续维护提供有力的依据;1.1.1.2单元测试§单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。单元测试不仅仅是作为无错编码一种辅助手段在一次性的开发过程中使用,单元测试必须是可重复的,无论是在软件修改,或是移植到新的运行环境的过程中。§在测试阶段需要先准备单元测试用例,并在测试结束后提交单元测试报告。1.1.1.3集成测试§集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图〕组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。§在集成测试先需要先编写集成测试用例,并在集成测试结束后提交测集成测试报告。1.1.2交付物清单针对阶段的主要交付的文档清单包括:阶段一级任务交付物用友客户系统架构开发准备《开发环境纪律和注意事项》《编程规范之注释说明》《编程规范》《代码管理和备份制度》代码实现《实现与测试计划》《编程文档》《开发修改记录》单元测试《单元测试用例》《单元测试报告模板》UFIDAPage21of21
客户化开发服务产品交付业务指导手册客户化开发方法论6.0集成测试《集成测试计划》《集成测试用例》《集成测试报告》1.1实施交付阶段1.1.1阶段目标完成系统正式运行的所有准备,按照系统切换方案进行新旧系统上线切换。1.1.2阶段任务§用户测试§用户培训§切换准备§系统切换§用户手册1.1.3操作攻略1.1.3.1用户测试§在用户的应用环境下,用户通过运行和使用软件,检测与核实软件实现是否符合自己预期的要求,通常用户测试不是指用户的“验收测试”,而是指用户的使用性测试。同用户找出软件的应用过程中发现的软件缺陷与问题并对使用质量进行评价。UFIDAPage21of21
客户化开发服务产品交付业务指导手册客户化开发方法论6.0§用户测试先需要先准备用户测试方案,在用户测试结束后反馈的用户测试报告;1.1.1.1用户培训§制定用户培训计划、并做好培训考勤。和培训考核评估报告。1.1.1.2切换准备§按照切换顺序,明确计划和工作内容、责任到人;§提供多种切换预案;§根据企业情况确定切换策略:比如保守的切换策略(先手工、后系统)、激进的切换策略(直接系统切换)、平衡的切换策略(先系统、后手工)1.1.1.3系统切换§检查、备份、再检查§系统上线环境的建立必须按照书面的方案内容配置§上线环境的检查必须经过技术专家等评审§1.1.1.4用户手册§根据方案流程的岗位设计,提供《菜单与岗位对照表》给客户,客户根据岗位去对应部门的具体操作人员,这样形成了《菜单→岗位→人员→部门的权限分配表》;§根据项目情况,刚开始上线时,权限不易过细,审批流暂时不启用,随着实施过程的深入,再逐步细化。§权限规划可根据情况提前到系统建设阶段的早期开始;1.1.2交付物清单针对阶段的主要交付的文档清单包括:阶段一级任务交付物用友客户实施交付用户测试《测试方案》《测试报告》《测试反馈》用户培训《用户培训计划》《用户培训考勤记录》《用户培训考核评估记录》《用户培训总结报告》《客户内部支持体系》切换准备《基础数据转换任务表》《系统切换检查报告》《ERP运行管理制度》系统切换《系统上线确认报告》《生产系统安装备忘录》用户手册《用户操作手册》《系统管理员操作手册》UFIDAPage21of21
客户化开发服务产品交付业务指导手册客户化开发方法论6.0《安装和配置手册》1.1持续优化阶段1.1.1阶段目标§系统调优和持续优化诊断§项目总结并收尾§由实施阶段进入持续维护阶段1.1.2阶段任务§项目验收§项目总结§持续维护1.1.3操作攻略1.1.3.1项目验收§要说服客户尽量缩短系统上线后的并行时间,减少项目的风险性。如果是手工帐并行的情况,可以逐步过渡,分业务、分部门进行过渡的方法,制定项目验收计划。§充分发挥客户方关键用户的作用,确保内部支持体系进行正常,制定技术维护手册。§在上线后用户的的业务数据的进入系统后并运行良好的情况下制定验收项目验收报告。1.1.3.2项目总结§总结既是最后一个阶段的里程碑回顾和汇报,也是整个项目的总结。UFIDAPage21of21
客户化开发服务产品交付业务指导手册客户化开发方法论6.0§项目结束后一般需要将开发的成果的形成成果介绍说明,供其他人快速了解项目开发的内容,做好成果孵化为将来的推广提供案例支持。1.1.1.1持续维护§在项目验收后进入持续维护阶段,为了快速解决系统在运行过程中出现的各种复杂的故障问题,需要和我们的客户制定技术维护合同,明确系统运行过程双方的义务职责。§在持续维护阶段维护工程师需要做好所有现场支持的记录并持续更新《系统运行问题跟踪维护记录》1.1.2交付物清单针对阶段的主要交付的文档清单包括:阶段一级任务交付物用友客户持续优化项目验收《项目验收计划》《技术维护手册》《项目验收报告》项目总结《项目总结报告》《开发成果申报表》《开发成果的成果的简介》持续维护《技术维护合同》《系统运行问题跟踪维护记录》《现场服务记录》《问题记录单》1.2项目管理UFIDAPage21of21
客户化开发服务产品交付业务指导手册客户化开发方法论6.01.1.1阶段目标§运用专门的知识、技能、工具和方法,使项目能够在有限资源限定条件下,实现或超过设定的需求和期望。§通过代码外包的方式,在有限的时间内快速交付最终用户使用。1.1.2阶段任务§过程管理§外包管理1.1.3操作攻略1.1.3.1过程管理§过程管理是提高软件生产率和保证软件质量的一个重要的方法,在过程管理中每个阶段都要进行阶段性的审核或检查。§项目启动后按照周填写项目周状态报告,通过周状态报告让项目组成员(客户方领导和用友方领导)清楚当前项目的状态是否按照计划的完成,和存在的主要问题的建议的处理解决方案。§在项目计划中预定重要里程碑阶段,制定里程碑检查记录表,当计划的和里程碑检查差异较大可肯能影响项目整个工期的时候通常需要即时召开项目情况通报会,寻求双方中高层领导的支持。1.1.3.2外包管理§在项目启动前正对项目特点撰写项目外包开发竞标邀请书,邀请我们的外包伙伴参与项目竞标。§对开发在项目伙伴投标结束,需要对承包商进行综合评估,制定承包商评估报告为。§与中标伙伴制定外包开发合同。§根据项目需要制定开发外包开发合同审批表,并在销售管理信息系统中申报外包审批合同。§根据项目开发计划制定外包开发过程监控报告§项目进入测试阶段制定外包项目验收测试用例§根据的测试结果制定外包项目验收测试报告§指导开发的伙伴整理提交外包开发成果,制定外包开发成果验收报告。1.1.4交付物清单针对阶段的主要交付的文档清单包括:阶段一级任务交付物用友客户项目管理过程管理《文档归档记录表》《项目周状态报告》《项目需求变更表》《项目开发里程碑检查记录表》《阶段确认书》外包管理《承包商评估报告》《外包开发合同》《项目开发外包开发合同审批表》UFIDAPage21of21
客户化开发服务产品交付业务指导手册客户化开发方法论6.0《外包开发过程监控报告》《外包项目验收测试用例》《外包项目验收测试报告》《外包开发成果验收报告》《外包项目文档提交表》UFIDAPage21of21