软件开发中的二八原理.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件开发中的二八原理

软件开发中的二八原理   ★需求分析   需求分析在整个开发过程中占的工作量不大,但是产生的影响巨大。既然需求分析如此重要,照理说应该安排最强的人来搞。但实际情况往往不是如此:很多公司负责需求分析的人并不胜任这项工作。我经历过几个不太成功的项目,其问题的根源都和需求分析有关。   需求分析最要紧的是:搞清楚用户到底想要什么?如果这个问题搞错了、搞偏了,后面的步骤做得再好也是白搭(比如客户想要一个文本编辑器,结果你搞了个图形编辑器给他)。这方面其实有很多的道道,限于篇幅就不展开了,大伙儿如果有兴趣,以后可以单独说一下。   在搞清楚“用户想要什么”之后,接着要整理出功能列表(也有叫Feature List),并筛选出大约20%的重点功能。这个步骤是我今天主要想介绍的,因为这个步骤和后续的各项开发密切相关。一般来说,功能筛选的依据有如下几个:   1、用户经常用的功能(比如save、copy、cut、paste)   2、宣传的卖点(要能够超出同类软件,吸引眼球)   3、和用户利益密切相关的功能(这种功能不允许出错,比如存盘功能)   这个筛选的过程要尽早完成,而且最好是产品人员、开发人员、测试人员三方的头头一起讨论,以保证立场客观、观点全面。筛选出重要功能点后,其他人员的工作安排要以重点功能为纲,有所侧重。   ★项目管理   如果你是个项目经理,在排项目计划时,就得尽量优先安排重点功能的开发/测试,而且要安排能力强的人员来完成。按照我以前的做法,重点功能排计划至少得留出1/3的时间余量,以防万一(事实证明,几乎每个稍大点的项目都会出现万一)。至于非重点功能,尽量排到后面,安排能力一般的人开发/测试。   然后,在项目进行过程中,肯定要有定期的例会。作为项目经理,你应该主要关注重点功能的进度情况和风险情况。   一旦项目有延期的风险,就从非重点功能开始裁减(俗称砍功能)。由于是裁减非重点功能,不至于产生致命的影响。   ★设计界面   设计界面时,你得保证所有的常用功能都放在显著的位置(比如工具条)??还得保证它们用起来方便(比如提供快捷键和右键菜单支持)。   对于卖点,它不一定是常用功能,它的目的是激起用户的购买欲望和使用欲望。因此你要把它们设计得比较酷,有噱头。   对于利益相关的功能,大部分情况下都是侧重于业务逻辑实现。如果它既不是常用功能、也不是卖点,那么界面设计方面倒不一定要额外花大力气。   其它的非重点功能,只要按照常规方法设计,不用花太大精力。   ★编写代码   我发现很多开发人员有几个通病:先做有趣或容易的功能,然后再做无聊或者繁琐的功能;对自己有兴趣的功能投入精力多,对自己没兴趣的简单应付。   以上这些都是开发的大忌。作为一个职业的开发人员,不应该以自己的兴趣和喜好来决定开发的轻重缓急。正确做法应该如下:   你首先得用主要精力完成上述所说的重点功能,而且要保证它们的代码质量尽可能好,尽可能方便维护(重点功能往往是经常有需求变更,经常被修改的)。   对于重点功能中的“常用功能”,要保证时间性能够好(能快速响应)。对于用户利益相关的功能,要保证bug尽可能少(尤其是安全性、稳定性、健壮性的bug)。   至于其它的非重点功能,只要不出明显bug,有点小缺陷无伤大雅。   ★测试   如果你是个测试人员,你同样要把主要精力用于测试那些重点功能。对于用户利益相关的功能,多进行一些健壮性测试、稳定性、安全性等测试(比如测试保存大文件是否会出错)。对于常用功能,主要进行易用性和性能测试(比如拷贝、粘贴是否易用)。   至于其它功能,只要进行普通的测试,保证它不出现明显和严重bug即可。要知道Windows 2000发布的时候,尚遗留上千个未修复的bug(当然都是低优先级的),微软不也照样发布。   ★产品演示   有些软件开发完之后,会搞一些Demo进行宣传。如果你是负责进行Demo的人,你肯定要把主要的Demo时间用来秀软件的卖点,这样给客户的印象最深刻,效果最好;至于非卖点的功能,都未必要提及。   几种和开发相关工作就介绍到这里,最后送给大伙一句话:Do not work hard, work smart!

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档