软件的前期准备(1)

软件的前期准备(1)

为什么要做前期准备

前期准备能有效的降低成本。软件的开发流程可以隐喻为海鸟捕食。海鸟吃大鱼,大鱼吃小鱼,小鱼吃虾米,虾米吃浮游生物。而如果浮游生物在核废料中游泳,虾米被农药污染,小鱼吃掉了很多塑料颗粒,大鱼还被原油污染,那海鸟怎么可能存活的下来。我们的软件开发流程中任一环节都有可能出问题从而导致产品有问题,但是如同生物的富集效应,软件开发流程中靠前的流程中的问题会对软件产生更大的影响。例如:假如需求设计就出了问题,并不能满足用户的需要,那开发出来的产品还能被用户接受吗r>

软件的前期准备(1)

根据所从事的软件类型再选定开发方法,例如商业系统更多的采用迭代开发法。序列开发法往往对前期准备的要求要高于迭代开发法,那是不是采用迭代开发法就不需要前期准备了呢。并不是的,必要的前期准备也可以降低迭代开发法的每次迭代返工成本,进而降低总体成本。但是我们也需要平衡前期准备在项目中的占比。当花费过多的时间在前期准备上时,往往会被证明有些需求和计划时过度设计。当花费太少的时间在前期准备上时,往往会出现大量的不必要的修改。

如何做前期准备

1.明确的问题定义:问题定义是对“问题是什么”的清晰陈述,而不是解决方案。问题定义应该使用用户的语言的书写,而且从用户的角度描述问题。个人认为最好该定义最好还能得到用户的确认。
2.详细的需求分析:根据问题的定义详细的描述系统该怎么做就是需求。需求应该尽可能的详细、尽可能的明确。避免开发者的自行定义。

如何应对需求变更

1.尽可能的发掘需求的细节和缘由:多问问需求是什么、为什么这么做、还有更好的解决方法吗。
2.建立一套变更控制程序:每次需求的变更都需要成本,让变更方认识到变更成本巨大,从而尽可能的提升需求质量,减少变更。例如让变更方来发起变更评审会议,让变更方来打通变更审批的流程,并发邮件来通告变更带来的成本影响和风险。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年6月22日
下一篇 2020年6月22日

相关推荐