这周新生大学全栈营线上班开始正式授课了。一开课,就学习到了很多有用的、好玩的概念。其中,拆解任务一章使用了:must have/ should have/ could have/ nice to have 模型。这个模型是从MoSCoW法则派生出来的。
MoSCoW 优先级排序法,是在项目管理、软件开发中使用的优先化技术。以便开发人员,产品经理,客户对每个需求交付的重要性达成共识。
总的来说,”这次不会有”在项目讨论阶段,就会被去除。所有要求看上去都很重要,但是如果交货时间紧,“”可以有”将第一批被删除,”应该有”紧随其后。
我们从互联网产品开发的角度来分析:
微信、支付宝、滴滴…这些成功的产品已经具备很多功能,但是最初它们是靠着简单的核心功能(Must have)功能打开了市场。比如微信的语音信息、朋友圈,支付宝免费转账、付款,滴滴的打车功能。后来,他们都添加了琳琅满目的功能,但我们最常用的,还是那些最初的功能, 正是最初的Must have 功能吸引了用户,满足了用户的痛点,培养了用户 。
而一些失败的产品,常常一开始便拥有很多功能,美其名曰“全面”,以全面来打入市场。最终却是“样样做,样样差”,开发、运营团队都苦不堪言—— 目标太多,时间紧,配置跟不上,团队的注意力也都分散了 。
开发一款互联网产品,从调研、产品规划、设计、开发、到测试,再到推向市场,周期长,变数多。通常开发产品时,先做出最小化可行产品(MVP),然后通过测试并收集用户的反馈,快速迭代,不断修正产品。这样做,才能最终适应市场的需求。
而为了降低风险,提高速度,应尽可能的缩短每一次的迭代。如何缩短每一次迭代?其实很简单,尽量每一次循环、迭代, 只验证少量的核心功能(Must have),整个过程就会快起来 ,如果在一开始,就想很多,做很多,一次迭代下来的时间,会拉长,拖慢速度,增大风险。
先列出所有的功能,然后按照一定的规则,分为四类:“必须有’, ’应该有‘,’可以有‘, ’这次不会有‘ 。
那么按照什么呀的规则排序呢?在《 Why Companies Need to do a Better Job of Prioritizing Features 》这篇文章中,作者介绍了三种方法:
对于有风险的项目,这非常有用。风险是未知的。降低风险,最好减少未知,并用知识来减少未知。下面几个信号有助于你理解:是时候停止考虑这些功能了,要开始考虑降低风险了。
团队说,“我们不知道这是否可行…”
产品负责人说,“我不知道客户对这个怎么反应”
架构师说,“我不确定这个平台是否支持这个功能”
业务分析师说,“我还没有弄清楚那部分的需求”
测试人员说,“我怎么测呢?”
对于如上的每一个例子,都是缺乏知识的清晰信号,从而妨碍了相关人员有信心地往前走。
举一个付款方式的例子:“用户体验模型显示,有15%的人点击Paypal按钮走付款流程。购物车放弃率也是15%。而实现Paypal作为支付方式,将会大量地降低我们的购物车放弃率,并导致收入会增加10%-15%”。很清晰不是吗?如何计算这个功能潜在的增加收入?
创建一个可比的标准,衡量当前的收入差距。
量化潜在的收入增加(百分比,或者用美元)
对比增加收入(超过一年)和创建该功能的成本。
对于所有增加收入相关的功能,按照递减的增收排序
“旧平台每笔交易需要10秒,而新平台每笔交易需要7秒。把功能挪到新的平台上,每笔交易会节省30%的时间,而且每个月我们会做超过100万笔的交易。” 很清晰不是吗?
但是,现实生活中的大多数情况会更复杂混乱。下面是《 Why Companies Need to do a Better Job of Prioritizing Features》 推荐的按成本节省排序的技巧:
如果一切任务都是高优先级,那么就意味着没有优先级。
以前读到一个日本程序员的段子:产品经理就是客户的家奴,程序员就是牲口,而且还是借来的别人家的牲口,使劲用。
如果每个项目中,我们都坚持按照MoSCoW方法排序,迭代开发,应该会幸福很多吧!
开发是个涵义挺宽的词,我觉得效率高否取决于你到底主要做哪方面的活儿。1 object-c/ iphone / mac桌面软件开发。这个只能在mac上进行,没得选。如果比较Visual Studio开发windows桌面应用,嗯,我觉得各有千秋。 以我个人的感觉,使用object-c开发比当年用MFC, COM, ATL要舒服得多,当然两者严格来说也不是一个时代的产物。和C#相比,后者的内存管理当然要省事的多,新的xcode on lion支持ARC,相对简化了以前的retain / release patterns,但是还是要管理不是? VC及C#另外有一个“优势”是开源及盗版控件很多,库多也是挺大的优势。2 Ruby/ Python开发,拜unix shell所赐,这种unix平台上的脚本开发实在比在windows上爽太多。无论是textmate还是vim/Emacs/git/rvm,你要在windows上折腾这个不是不可以,问题是实在太费劲。3 java/j2ee开发,两者相差不多。我个人觉得windows平台下可能开发效率更高些。无他,IDE在win下感觉运行更快。在mac下运行eclipse或是idea并不会比在windows上快,单从性能上来说买台mac可比买台类似配置win开发机贵多了(只认性能不谈UX)。4 web开发 我觉得各有各的好处吧,mac上有些开发工具,像CSSEdit coda真是太棒了。mac有个不方便的就是IE的调试,这个又是回避不了的,毕竟IE用户占绝对大头。
可以编写10日内振幅不超过5%日内k线涨跌幅度不超过3%但这,日内k线条件是最后一天还是10天全部满足条件要说清楚才好编写公式,例如下图,10日振幅在百分之5以内,并且10日内所有k线的日内涨幅不超过3%。
具体指责是:完成软件的设计、开发、测试、修改bug等工作,包括业务需求的沟通,功能模块详细设计,业务功能实现与单元测试,系统维护。
用途如此之广的Java造就了Java工程师的辉煌,使其在软件工程师的领域里独占鳌头。
Java软件工程师运用Java这种编程语言去完成软件产品的软件程序设计、开发、测试、维护升级等工作。
有一定的软件分析设计能力;熟悉Java、Servlet、JSP、EJB等开发技术;熟练使用Eclipse、MyEclipse、NetBeans、jbuilder等java开发工具。
熟悉三大框架体系结构和开发工具;熟悉至少一种数据库的开发和设计;具有良好的学习能力,具有强烈的工作责任心、有良好的沟通能力和团队合作精神。
Java软件工程师的未来发展方向大致分为两类:
一是成为管理人员,例如产品研发经理,技术经理,项目经理等。
二是继续他的技术工作之路,成为高级软件工程师、需求工程师等。
以上就是关于比起重要紧急排序法,MoSCow优先级排序法更适用——项目开发篇全部的内容,包括:比起重要紧急排序法,MoSCow优先级排序法更适用——项目开发篇、在Mac 上进行开发比在 Windows 上效率更高吗如何量化和比较这两个平台的开发效率、求一个选股公式:10日区间内振幅不超过5%且日内K线涨跌幅度不超过3%的公式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)