了解客户的组织架构

将来的系统要运行在winxp上、win2007还是linux上?硬件成本是否有限制,是用当前已经存在的硬件环境,还是要重新购买?不同的软硬件环境对软件开发影响是巨大的,包括架构体系、数据库设计、甚至编码所使用的api接口

任何一个软件产品的开发都不是凭空想象出来的,一定是根据已经存在同类软件产品并结合本组织需要演变而来,对这些已经存在软件产品的功能、使用情况、存在问题进行总结和分析将会对挖掘客户隐形软件开发需求、风险预估、成本评估及对软件开发需求细节的掌握都是有非常大帮助的

需要与客户保持不间断的沟通

那么软件开发需求为什么会变更?当初《软件开发需求说明书》、《系统规格说明书》都是与客户讨论并确认过的其实我软件设计们在这样想的时候就掉进了一个巨大误区,认为客户是知道自己要什么的,至少客户中的关键人物是什么都清楚但现实情况是很多客户对他们要什么并不清楚,有的只是像一小孩看别人有好玩的玩具自己也想要一个,最后发现做出来的东西与他们像像差距太大的时候就大哭大闹,再加上项目交付期限快到的压力大家一厢情愿认为根据客户不成熟想法随便修改几个软件开发需求应付一下就可以了,最后的结果就是没完没了的修改

客户中的个人期望不能代表组织的软件开发需求

客户有时所说的不一定是他们想要的,只有多问为什么,了解客户的动机才能发现正真的软件开发需求对于客户提出的软件开发需求与目的不相符的要及时提醒客户,如果自己有方案可以提供给客户参考,软件测试对于哪些目的不是非常明确的软件开发需求要尽量拒掉

我们的客户不是一个具体的人,它是一个由很多人组成的组织我们要开发的软件产品不是满足一个人的要求,而是这个组织中很多人的要求,只有这些人的期望都满足了我们的项目才是成功的项目当然我们有时不必要也不可能对没一个人进行访谈,但关键人物的想法一定要了解,关键人物不但是有权力的人,还包括在组织中有重大影响力的人、对组织软件开发需求非常了解的人

了解客户对该软件产品的计划

此内容doc下载 此内容pdf下载

如果客户提出的软件开发需求在当前技术、成本或时间内无法完成要即使提示客户,不能因为客户的强势就假装答应,那样会把项目放到了非常大的风险上

要充分了解将来系统运行软件定制的软硬件环境

很多软件开发需求变更是因为我们与客户沟通产生了问题,这个主要是软件的特性造成的,再加上大部分客户对软件并不是非常了解,如果想当然认为客户在签字确认的时候已经充分理解我们的《软件开发需求分析说明书》那是打错特错的我们要想尽一切办法让客户正真理解我们的想法,最好能够让客户把他们理解的软件开发需求再复说一遍,对于非常难以用自然语言说清楚的软件开发需求要通过建立模型等方式让客户理解

对最终使用该系统的人员进行分析与沟通

了解客户的组织架构,找出关键人物

因为任何一个软件产品的开发都是该组织战略计划下的一个子项,它整个战略是息息相关的比如对于一个将来要大力推动网络销售的书店,必然会对网络付款、网络软件怎么安装购书等功能非常感兴趣客户未来的战略计划是什么?是准备扩大经营还是缩小规模,是加强网络销售的份额还是多开实体店,是要对人员素质进行优化还是保持不变等等加强对客户未来战略计划的了解可以更好的理解软件开发需求、将来开发出来的软件产品也能更好符合客户要求

对于不可实现的软件开发需求要及时反馈给客户

只有掌握了客户行业的知识才能听懂客户在说什么,才能知道客户提出的软件开发需求是否合理,才能够以客户的语言阐述将要开发的系统,才能够知道哪些问题是我们正真关心的

在客户组织中有的人员从自身利益出发提出一些个人期望,比如在开发公路收费系统时候可能就有人提出留个后门之类的期望,但这个并不是整个组织的软件开发需求对于这些软件怎么安装期望即不能答应,也要想办法化解,处理不好会给将来系统实施带来很大麻烦

通过使用模型、假设应用场景等方法让客户正真理解将要开发的系统

客户对该软件产品的计划是什么?他们的计划分为几个阶段?每个阶段要达到什么目标?注意我这里说的不是开发软件产品的项目计划而是使用该软件产品产生效益的商业计划我们要理清将来要开发的软件产品需要提供哪些功能、按什么样的开发进度可以与其商业计划相对应,对于无法达到其商业计划目标要及时提醒客户

软件开发过程中尽量能够把我们开发成果展示给客户,对于复杂系统应该尽量划分几个阶段,每个阶段发布一个版本让客户试运行不要等到测试完成,交付时候才让客户看到,因为那样风险是非常巨大的

知道每一软件设计软件开发需求的目的

学习客户行业知识

软件开发项目最大的风险一般都是来自于软件开发需求,软件开发需求经常变化不但会造成经常性的返工、代码质量下降,而且沉重打击软件开发人员和客户的信心及士气,这种情况越到后期越严重虽然说在必要的时候我们完全有理由拒绝客户再进行软件开发需求变更,但是这样做的唯一结果就是项目失败:乙方投资打了水漂、甲方回款非常困难、软件开发人员沮丧及毫无成就感如果软硬件环境没有弄清楚则在项目实施的时候会有很大障碍

对同类软件产品进行分析

再说即使客户知道他要什么,但他们又有几个对软件开发非常了解呢,即使了解他们是否愿意花很大尽量去分析将要开发的系统?说到底我们不能把项目的核心部分(软件开发软件流程需求)寄托在客户身上,我们必须要有一套方法来保证我们开发的系统软件开发需求与客户期望的一样,包括客户的隐性期望

了解客户的战略计划

在很多客户组织中与我们项目组对接的人员并不是最终使用该系统的人员,典型比如物流、超市等行业i的t部门,特别一些转包项目所以往往与我们对接人的想法并不是非常正确的,并且他们在转述那些系统使用人员想法的时候有意无意的加入了一些自己个人想法、有些重要信息又忘了等等,所以我们一定要想办法与系统最终使用人员进行沟通还有一个比较重要的就是要对系统最终使用人员进行分析,这些人员计算机技能、对新系统是欢迎还是排斥、学习新技术能力等等都对将来的系统设计、系统实施产生重要影响

















































































白癜风的症状与治疗

转载请注明地址:http://www.yujinxiangqiangzhi.com/rjkf/105.html


  • 上一篇文章:
  • 下一篇文章:
  • 公司简介 广告合作 发布优势 服务条款 隐私保护 网站地图 版权声明