项目管理资源网

您的位置:项目管理资源网 >> 研发制造项目管理

可持续的需求分析和软件设计

2009/2/24 9:47:11 |  2882次阅读 |  来源:网友转载   【已有0条评论】发表评论

  最近和大家一起讨论了一些内容管理方面的功能和设计,有些思考,和大家分享一下。
  在讨论内容管理的功能需求时,我们常常会考虑某个功能各种各样的情况,功能性、易用性、复杂的处理场景、异常的处理场景,这些无疑都是非常非常有价值的,一个系统做到最好的境界,从客户角度来看,也就是这些功能了。
  同时,我们也讨论了很多软件设计方面的一些内容,考虑了很多灵活性、扩展性方面的内容,同时设计和功能也是紧密相连的,设计常常对功能的具体展现会有一定的影响。
  那我们实际中遇到的困难是什么呢?针对上面我们讨论的两个方面,主要是两个问题:
  1)功能太多了,有时候是越想越多,如何选取合适的功能集合成为讨论的焦点;
  2)还有就是设计的灵活性和扩展性的把握,感觉好的设计,往往需要更多实现的时间,然后项目时间似乎又不允许。
  在说明这两个问题之前,我想有必要稍微说明一下软件质量的一些分类。
  最近看一本书(Scrum and XP from the Trenches),对软件的质量,划分为内部质量(internal quality)和外部质量(external quality),外部质量指的是从客户角度可以看到的质量,比如软件的功能,易用性、性能等等;内部质量则是是从程序员角度来看的质量,比如代码的健壮性、可扩展性、可维护性等等。外部质量好的软件,内部质量不一定好;但是内部质量不好的软件,外部质量一般很难好。很难想像,一个设计很糟糕,代码质量很糟糕的系统,功能、性能和易用性可以很好。内部质量就好比是外部质量的基石,代码的可维护性和扩展性,直接影响了系统的功能的改进和提升。
  外部质量和内部质量比较容易对于到功能和设计两个问题上。
  那么回过头来看我们遇到的两个问题,首先是功能的取舍问题。
  我们Agile的团队讨论,大家对于某个User Story,讨论起来越谈就越起劲,想出了好多好多的功能点,随之也带来了很多麻烦,比如说要实现的范围好像太大了,似乎一下子工作量变得很大,随着而来也有很多压力,然后接着我们有时候也会不由自主的按照项目时间点,寻找一些“捷径”,然后可能就逐步丢掉了或者少做了一些好的功能点,甚至会转向实现一些大家虽然觉得不怎么好但是满足项目时间点的功能,这时大家都不免感到有些失落。
  那我们可以怎么处理呢,可以稍微分析一下我们整理出来的功能点,我们会发现,情况也许不是我们想像的那么糟糕。我自己觉得有四个原则可以帮助我们去抉择:

<!--[if !supportLists]-->1)<!--[endif]-->功能优先级

<!--[if !supportLists]-->2)<!--[endif]-->80/20法则

<!--[if !supportLists]-->3)<!--[endif]-->完整性

<!--[if !supportLists]-->4)<!--[endif]-->可持续性

 1)优先级

  首先是我们可以按照优先级来选择功能点,这个是显而易见的。重要的功能先做,次要的功能可以先放一放。特别是最基本的功能,比如客户一定要的功能,没有这个功能客户就玩不转了;比如内容管理,如果内容创建、修改和删除,这些功能如果都没有,那么系统都无法正常运转了,肯定是不行的了。
    2)80/20法则
  80/20法则,就是先选择哪些客户日常使用最需要用到的功能,比如说内容处理的基本流程,有一些内容同步的异常情况,实现起来是很复杂的,但是实际中遇到的

    项目经理胜任力免费测评PMQ上线啦!快来测测你排多少名吧~

    http://www.leadge.com/pmqhd/index.html

“项目管理生根计划”
企业项目经理能力培养和落地发展方案下载>>

分享道


网站文章版权归原作者所有,如有认为侵权请联系我们,将于1个工作日内作出处理!
网友评论【 发表评论 0条 】
网友评论(共0 条评论)..
验证码: 点击刷新

请您注意护互联网安全的决定》及中华人民共和国其他各项有关法律法规或间接导致的民事或刑事法律责任
·您在项目管理资源网新闻评论发表的作品,项目管理资源网有权在网站内保留、转载、引用或者删除
·参与本评论即表明您已经阅读并接受上述条款