做网站怎么看效果,微信公众号 做不了微网站,新手怎么做电商卖农产品,莱芜哪家企业做网站或网上看了无数博客文章、技术视频#xff0c;或购买金装版本技术书籍#xff0c;看过无数原理原则、各种各样经典方法论#xff0c;真正在实际开发工作中#xff0c;本能去遵守和执行的又留下多少呢。 启动一个新系统时#xff0c;我们可能还会去花些时间遵循这些原理原则… 或网上看了无数博客文章、技术视频或购买金装版本技术书籍看过无数原理原则、各种各样经典方法论真正在实际开发工作中本能去遵守和执行的又留下多少呢。 启动一个新系统时我们可能还会去花些时间遵循这些原理原则采用这些软件分析开发方法论之后漫长的二次开发一次次叠加新功能新特征我们还会本能去执行吗 我们是不是特别反感主管或业务部门要我们给一个工时估算和发布计划喜欢做到哪里是哪里按时上下班谁都别来催我们。 年轻人靠聪明编程随时想着技术年长者靠经验编程以前本能怎么干就怎么干还有一部分想着下班编程和想着周末编程心思基本不在编程上我就喜欢想着周末编程周末去野外风景区徒步是一件多么开心的事情啊。 言归正传我在日常工作中喜欢用哪些方法来做需求分析呢也就是有哪些本能使然的东西而不是别人逼迫我做的东西呢。 一般我们的需求都是经过产品人员整理的写到一个任务单上文字是大段大段的未必很有逻辑但确实比较详细对哪些天生不喜欢看文字的人是一个折磨但是需求如果不详细形成文字以后可能说不清楚。 对这样的任务单我总是不厌其烦地详细逐条阅读一遍从中提取有用的信息一遍不行就再阅读一遍反复琢磨文字。 如果有Axure或类似Axure软件设计出来的产品原型我也会同时仔细分析产品原型图和备注文字特别这些备注文字需要结合原型图来认真分析对应把客户的意图搞清楚。 总之就是要认真仔细阅读分析揣摩别人的意图到底叫你做些什么。 然后我喜欢简单采用敏捷方法论提出的需求管理方法 1Epic-写出项目的愿景目标 客户的业务目标到底是什么他们想要怎样的一个东西为什么要这个东西有什么实际价值解决了用户什么实际工作问题。 最近在技术会议上听到一个小青年说他们叫我做什么我就做什么。 在平时二次开发过程中客户提出一个需求我们基本上也是几个人两周左右的工作量其实都算不上一个小项目但我喜欢用项目来称呼。 2Feature-写出功能特性 这个所谓的项目有多少个功能点我们必须清晰地列出来这些功能点都是同一个级别的一级功能点不要从技术角度去看问题要从用户角度去看问题。 这些功能点列出来之后这个项目的内容就可以用一句句话来描述清楚了这也是我们对任务单里一堆或有逻辑或没逻辑的文字做提炼而得到的这不正是我们中学语文里要求的阅读理解归档总结能力么。 3Story-写出一个个用户故事 就是二级功能点对一级功能点进一步细化使用的分析方法还是一样还是一样不要去从技术角度思考多从业务角度思考有哪些功能点。 4Task-写出一个个具体任务 二级功能点进一步细化我们不叫功能点了叫任务任务的内容小到可以具体执行了我们可以估算工时了这种任务最好能在1天内完成。 不是说敏捷管理方法提出4级我们一定要死死按4级来执行分析项目很小3级也可以项目大一些可能需要5级反正分析到最后形成具体任务所估算的工时不能大如果一个任务需要一个人好几天的开发工作量说明这不是一个任务还是一个用户故事。 把一个大需求一步步细化在细化过程中一步步加深对它的理解直到最后形成很容易把控的具体任务我们还对工时估算那么恐惧和痛苦吗 所谓大事化小小事化了对于一般企业软件开发没有使用到什么高难度的技术使用到了也是花钱卖来总之都不会存在技术障碍只要我们对需求分析做好了开发实现工作基本是可控的。 那么在具体需求分析过程中我喜欢采用哪些技术手段呢先来图 1. 语文阅读理解最最简单的就是我们中学语文老师要求的那一套面对一大片需求文字就是去搞阅读理解嘛不需要什么高深方法80%需求都分析清楚了。 在对文字阅读分析过程中一个重要工作就是发现隐藏的功能点毕竟市场人员和产品人员的逻辑能力不是那么强常常就溜掉了一些需求点。 2. 头脑风暴有时可以拉来几个相关人员集思广益进行一通头脑风暴也是可以的不过与会者要有那个心常常很多人被通知来开会都是朦朦胧胧来被动听一下的真正参与积极讨论的有两三个就了不起了。 3. 回访如果我对任务单里的文字存疑我喜欢直接去问市场人员那个直接跟客户打交道的人问他一个个问题听听他真实的意图。有时我喜欢把自己理解讲给他们听一下看看我讲的东西他们是否听得懂。 4. DDD: DDD就是领域驱动设计这一套讲得天花乱坠对于我自己比较入脑的就是限界上下文分析手法但是这个名字怪怪的本质就是找边界平时我们讲的要高内聚低耦合不要把不相干的功能扯在一起。 5. UML我最喜欢用的就是UML来做需求分析上面两幅图都是UseCase图需求分析不用什么高大上的工具用UseCase图来做就够了文字描述清楚层次界定清楚一层层分析下去一般的需求都能表达清楚。 纸上来得终觉浅绝知此事要躬行逻辑严密的各种方法论如果不能在实际工作中本能地去执行实际工作中一忙碌就不做任何需求分析不做工时估算和工作计划做到哪里是哪里还不如保持一些不那么严密的方法每次都能做到而且很熟练花费的时间很短几乎不影响工作进度不是很好么。