做为开发人员,参见一些需求开发的培训仍是有益处的,参加了一次需求开发技巧培训,结合本身的体会写写需求开发的一些事。浏览器
1.影响软件项目失败的因素(需求方面)服务器
》过少的信息输入:用户方对项目缺少认识,开发方缺少规划架构
》不完整需求:行业领域知识匮乏,需求开发人员经验不足,前期准备不充分并发
》需求变动:目标定位不清晰,行业标准不清晰ide
软件项目在开发过程当中必定的需求变动是正常的,开发人员和设计人员天然要考虑到这些能够预知的必然因素,做为开发人员在实现功能模块遵守单一职责的准则下,也不能抛弃模块之间必然的耦合关系,开发过程当中天然要有良好的编码,既作到高内聚,低耦合,也作到灵活的可扩展。编码
》技术缺少spa
关于技术缺少的理由极可能做为推卸责任的说辞。架构设计
技术缺少我的理解有两个含义:设计
第一,开发团队中确实缺乏对应项目涉及到的关键性技术;3d
第二:开发团队中的技术没能正确,合适的应用到项目开发。
技术缺少这一个因素中也包含有需求开发的技术。
》人力缺少
人力缺少和技术缺少有着一样的推卸责任的功能,并且人力缺少一直是个不可弥补的缺口。
团队的资源配置中:技术配置,人力配置的最佳,有效才有可能避免人力匮乏,固然这两点不是那么垂手可得的就作到,毕竟操做的是人,而对于事情来说最终的操控者仍是人,当人在其中起到了核心位置的时候,事情就由简至繁了。
》其余种种因素
2.需求开发
》三个面向
面向高层次的软件目标:业务需求
面向使用系统的用户:用户需求
面向开发人员:需求规格
》需求开发技术
访谈,焦点小组会议,引导式探讨会(跨职能会议),群体创新技术。
群体创新技术:头脑风暴,名义小组技术,德尔菲技术(主观意识,匿名信息,保持独立);概念与思惟导图。
》需求调用范围
不一样的项目需求的调研范围有不一样之处,下面列出一些方面做为参考。
功能需求:关注业务,量化功能指标,用户,约束
UI需求: 行业色调,感观,用户体验
交互性需求:交互性愈来愈成为一个产品或者系统受欢迎的重要因素。
易用性:在视觉,操做,理解,业务上都应保持方便,便捷,尊重习惯。
并发需求:考虑的系统的服务能力,架构设计,服务器组建(成本和利润的权衡)
可靠性需求:单位时间内的故障率
需求调用的范围可能很广,但核心去很肯定,为下一步系统的开发产出可靠的,清晰的,完整的需求规格说明书。
3.特别体会
》并发需求开发技巧:
A=系统用户数,B=系统同时在线用户数,C=并发用户数
一次培训的一位需求开发人员给出的经验数据:
B=A*20%; C=B*30%; C=A*6%
》交互需求开发技巧
周鸿祎提出一个叫“微创新”的概念,最近反复在思考这个概念,本身用过很多互联网产品,不管是移动设备,仍是PC上的,喜欢的,习惯的那么些公司的产品彷佛都能找到极其类似甚至相同的地方,却又有微妙中的不一样。我想不少朋友也有这样的体会吧。
正所谓在模仿中创新。
关于交互需求列出几点:
交互与UI的关联。使用现有的UI风格,遵循行业风格,注重系统使用场景,注意使用者的群体特征。良好的UI是人们愿意花时间与系统产生交互的基础。
参考已有产品,有针对性的参考。
减小界面跳转,有友好的界面提示
交互要遵循已有的标准,或者既成事实的标准。
例如:收藏图标;按键F1帮助;
返回页面顶部;Ctrl+S(*)系列的快捷键操做;
交互是需求开发中的重要组成部分,应该有专业的交互设计师来和需求开发人员完成。
俗话讲,万事开头来,需求开发做为一个项目的开始,其在整个项目进程中扮演开拓者的角色,同时对于项目的进展,这一环节相当重要,能够说是项目的生命起源,护好源头才能持久清澈。