项目的成败是变数多多,既有技术的,也有管理的,也有关系的,既有自身的,也有客户的,但是只要我们把我们可以控制的做好了,至少这个项目成功了一半。
项目的需要变化是肯定有的,而且变化一般都很频繁,我们怎么应对客户的这种需求变化呢,以不变应万变。首先在前期的需求调研要做好,尽可能的替用户考虑,达到功能质量满足最大化。需求调研前期的《目标与范围》和需求调研末期的《功能规格说明书》都要跟客户签字确认,这样既能保证我们所理解的需求就是客户所要的,也使得项目末期跟客户验收时有据可依。根据我自己做项目的经验,由于客户一般对计算机不是很了解,和他们交流用我们行业的话,他们根本就不懂,如果用文档也很难把需求写的那么明白,而且文档很多的话,客户都看烦了,很不直观。如果让客户一看就可以看出这个就是他们想要的,我个人认为最好的方式就是做系统原形。系统原形应该在需求分析的时候开发人员在分析师的指导下完成真实环境中的开发,当然开发只是界面的功能模拟,没有底层代码的实现。这样做的目的有三个好处,一是客户很直观的看到他们的系统是什么样子的以及怎么操作,二是这些开发的成果是可以二次利用的,三是可以更好的激发客户的需求。
在项目中期是发生需求变更是很常见的,这时要做好需求变更管理流程。需求变更表,小的变更自己掌握,客户要求的变更有开发人员和设计人员共同商讨后提交项目经理,项目经理预估变更损耗工程时间,在一定阶段一起提交给客户,大的变更直接提交客户,并且要把需求变更对项目产生的影响让客户知道,把球尽可能的踢给客户,让客户在进度、功能、资源三者中取舍出一个平衡来。对需求进行分类评级,关键部分不能改动的做特别确认(如系统架构等,如果改变等于从头再来)。同时完成客户签字确认,当然如果能将这部分写成合同细节中去是最好,但国内的合同好像都是在打单时是基本上都承诺,也不会到细节,在合同签订后启动后才发现问题。但合同中可以写明如果需求变更什么级别的怎么样,多少钱等;签订合同也是一个很高的技巧,建议把系统的边界及功能范围和解决方案与合同一起签署,这样客户提出的新功能就可以暂且搁置。当然这就需要项目经理很高的经验和技巧了,不是光通过学习就能掌握的。
下面我结合我的项目开发经验说下在项目开发中的失败原因:
一、需求调研阶段我们做的不够细,调研的时候几乎是一个单位半天的时间,收集一些报表,根本就没有了解用户的需求。
二、对客户现有系统分析和研究重视不够,我们开发的系统是客户已有的系统,他们已经用了多年,在使用的过程中他们已形成了自己的习惯。而且他们的老系统也有他存在的优点,也是在使用的过程中逐步完善的,可是我们在开发过程中完全忽略了老系统的存在。
三、签订合同也是非常重要的,具体内容我在上面已说过了。
四、没有《功能规格说明书》,这个是我们项目中最大的失误,致使后来客户的改动让我们很被动。 《功能规格说明书》反映了客户提出的所有需求功能,我们也是按照《功能规格说明书》来开发的。后期 客户的变化都可以和《功能规格说明书》对比,具体怎么变更按照我们的变更流程来做。经验教训:《功 能规格说明书》作为产品需求的最终成果必须具有综合性:必须包括所有的需求。开发者和客户不能作任 何假设。如果任何所期望的功能或非功能需求未写入软件需求规格说明那么它将不能作为协议的一部分并 且不能在产品中出现。并且注意以下几点:完整性、正确性、 可行性、必要性、划分优先级、无二义性、 可验证性、一致性、可修改性和可跟踪性
五、前期项目开发人员投入过少,项目周期越长,对我方越是不利。主要有以下几点:
1、时间越长,客户的需求越多,变化也越多,我们的风险就越大。
2、在长周期中往往会有政局的变动,例如客户领到的变动等。
3、项目周期太长容易造成人员流动的扩大以及工作效率的降低。
经验教训:前期多投入人力,尽早完工,降低我方的风险。
六、项目管理人员是项目成败的关键人员,尤其是我们的这样的公司,对项目经理的要求更高,对这个职位的人员的综合素质要求非常高。为什么这么说呢,首先从我们公司项目经理所做的工作说起,在我们公司中项目经理要承担项目的前期调研、需求分析、架构设计、质量的保证、计划的安排执行和跟踪、掌握行业知识、人员的管理、技术支持、风险的预测以及数据库的设计等等工作。而在大型软件公司中这些工作至少是有3年以上本专业经验的2人来做,一个项目经理和一个软件架构设计师。一个项目在前期的这些工作就是一个错误的话,后面有再强大的开发团队也是白搭。我们还是一个年轻的团队,很需要这样的人才,需要公司来培养,如果遇到项目,再招人员来担当这样的工作,风险是可想而知的。而且这样的人员肯定是从项目实战中成长起来的,不是有非软件项目管理经验的人员或者市场人员转过来就可以做好的,更不是从书本或者参加某些培训就可以学到的。
七、一味的追求快速开发,时间进度。在我所去的公司中好多都是想把项目尽快做完,我们公司也是一样,但是我知道用友不是的。做项目和孕妇怀孕一样,没有捷径可以走的,必须一步一个脚印走。公司往往为了赶进度,省略了某些工作,最终结果是后面付出几倍省了那些时间的代价去弥补,更严重的是前期的工作白做了,用个成语形容就是“投鼠忌器”。项目中有个不变的金三角法则,即时间、功能和资源。他们永远是相互联系和相斥的。怎么去平衡他们,需要我们根据实际项目的情况去分析解决。作为开发人员也不愿意在一个项目中有过多的时间,他们也想早点结束项目。开发人员在一个项目中的时间太长,他们会变得非常的烦躁,工作效率也会降低,最严重的风险是他们选择走人来解脱自己。那么怎么解决这个问题呢,我个人的意见是用我们的实际能力按照一个正常的进度去做,如果一个项目在功能、时间和资源一定的情况下,需要10月才能完成的情况下,如果我们一定要在5个月完成,那和一个孕妇怀孕5个月生个孩子的后果是一个样的。
八、没有确定系统的边界,所谓系统边界就是我们做的项目到底要做哪些功能点,以及这些功能点具体要做的什么程度。这些不确定或者和用户不说清楚,以后我们就是永远做不完的工作,用户会不断的提出新的需求和新的功能,我们已经无法控制。
九、对前期的调研和设计重视还是不够,包括数据库等的设计,从我在我们公司所做的项目中我体会到,我们总是害怕客户提出需求,总是不敢去更深的去挖掘客户的需求,害怕我们的工作量增大,后果是在开发好后,给客户一看说:“这不是我们需要的,我们想要的是这样的”。在代码和数据库设计中时间投入很少,这些工作本来就是比较抽象的,需要不断的研究和推敲才能设计好的,但是我们为了时间进度,很快就出来了,后果是客户的一些小的需求变动,由于我们的设计不好,导致前期的工作白作了。
十、客户意见的一致性,我们在调研的时候过分相信领导,我们做的项目真正的使用者不是领导,而且广大的员工,领导只是看数据的。我们的调研对象主要是最终用户,尤其是在大型项目中,可以说是领导很多,各有各的想法和意见,到底他们谁的是对于错呢,其实这个根本没有对于错。而我们吃亏的一点就是他们的这些领导提出意见的时候都不在一起,他们也没有开会研究过,谁提意见就按照谁的改,后果是我们的重复工作不知道做的多少。这个就是在我们内部也发生。解决方案:在调研和需求改动修改一定要和客户确认好,等他们内部意见一致才能改动,包括我们内部也是一样。调研也要指导调研的真正对象,不能太相信客户的领导。
十一、用户参与,在项目的开始和结束用户是需要一直参与进来的,我们每做个可以运行的功能等就需要和用户交流,这样可以避免很多风险也可以尽早发现需求的误解的等等。
分享到:
相关推荐
系统边界定义了项目开发的范围和边界,包括哪些功能将被实现,哪些不在考虑之列。功能结构图详细列出了网站的主要模块和子功能,这可能包括首页、新闻资讯、音乐库、影视作品、演唱会回顾、粉丝社区、问答板块等。每...
本文将详述从零基础到原生项目开发的PHP学习路径,帮助你成为一名合格的PHP工程师。 步骤一:PHP初体验 对于初学者,首先要理解PHP的全称——Hypertext Preprocessor(超文本预处理器),它是一种嵌入HTML中的脚本...
在实际项目开发中,源码的质量和管理是关键。良好的源码结构可以提高代码的可读性和可维护性,降低后期修改和扩展的难度。开发者可能会分享他们如何运用设计模式来优化代码结构,或者如何通过单元测试和持续集成来...
总的来说,JS插件开发是一门艺术,需要在现成资源和自定义开发之间找到平衡。理解何时使用现有插件,何时自建解决方案,以及如何构建高效、轻量的插件,都是开发者成长道路上的重要一课。通过不断的学习和实践,我们...
在详规审批下来后,应谨慎地进行实施放线,避免反复修改导致的总平面图与审批图不一致。设计性详规需充分满足开发商的意愿,同时符合相关文件规范,以减少后期改动带来的成本和时间损失。 其次,单体楼的设计与施工...
这样可以让学习者在实践中感受到实际项目开发的完整过程,从需求分析、设计、编码到测试和部署,全面提升其项目管理能力。 压缩包中的"实战突击:PHP项目开发案例整合.exe"文件很可能是包含了所有源码的可执行程序...
接触这个框架有三年的时间了,初次接触b/s型开发项目时,是在指导人员的帮助下完成的,技术上确实也学到了一些东西,但个人觉得最大的收获是在开发软件项目的过程中,自己意识上的提升,如做项目是考虑其合理性安全...
这里有一份原生开发框架的项目源码等你来探索!基于微信小程序的强大生态,这份源码将带你领略原生开发的魅力,实现快速迭代与高效开发。从用户授权到微信支付,从界面设计到功能实现,一切尽在掌握。赶快下载查看,...
产品开发项目奖励制度是企业激励员工积极参与新产品创新与开发的重要机制,旨在激发员工的积极性和创造力,确保新产品开发任务的高效完成。以下是对该制度的详细解读: 1. 制度目的: 制度的核心目的是激励员工,...
9. **版本控制与更新**:在项目开发过程中,界面可能需要迭代更新。模板可能提出了版本控制策略,确保每次修改的可追溯性和团队的同步性。 10. **团队协作与沟通**:项目开发涉及多部门协作,模板可能强调了明确的...
在网站开发项目中,需求分析是一项至关重要的步骤。它直接关系到项目的成功与否。需求分析的主要目的是明确项目的目标、功能、性能等关键要素,确保开发团队能够准确地理解和实现客户的需求。 #### 二、需求分析的...
这里有一份原生开发框架的项目源码等你来探索!基于微信小程序的强大生态,这份源码将带你领略原生开发的魅力,实现快速迭代与高效开发。从用户授权到微信支付,从界面设计到功能实现,一切尽在掌握。赶快下载查看,...
这里有一份原生开发框架的项目源码等你来探索!基于微信小程序的强大生态,这份源码将带你领略原生开发的魅力,实现快速迭代与高效开发。从用户授权到微信支付,从界面设计到功能实现,一切尽在掌握。赶快下载查看,...
在项目开发过程中,开发者会遇到许多问题和挑战,这些问题可能来自于技术本身,也可能来自于团队协作和沟通的问题。解决这些问题需要开发者具备良好的解决问题能力和团队协作精神。 标签解析:项目小结 项目小结是...
而【保护旅游环境】则是项目可持续性的基础,强调在开发过程中要兼顾环境保护,实现绿色旅游。 总结来说,悬崖村开发项目是一项综合考虑自然、社会、经济多方面因素的复杂工程。它旨在平衡生态保护、文化传承和经济...
这里有一份原生开发框架的项目源码等你来探索!基于微信小程序的强大生态,这份源码将带你领略原生开发的魅力,实现快速迭代与高效开发。从用户授权到微信支付,从界面设计到功能实现,一切尽在掌握。赶快下载查看,...
这里有一份原生开发框架的项目源码等你来探索!基于微信小程序的强大生态,这份源码将带你领略原生开发的魅力,实现快速迭代与高效开发。从用户授权到微信支付,从界面设计到功能实现,一切尽在掌握。赶快下载查看,...
这里有一份原生开发框架的项目源码等你来探索!基于微信小程序的强大生态,这份源码将带你领略原生开发的魅力,实现快速迭代与高效开发。从用户授权到微信支付,从界面设计到功能实现,一切尽在掌握。赶快下载查看,...
这里有一份原生开发框架的项目源码等你来探索!基于微信小程序的强大生态,这份源码将带你领略原生开发的魅力,实现快速迭代与高效开发。从用户授权到微信支付,从界面设计到功能实现,一切尽在掌握。赶快下载查看,...