需求管理是软件开发全生命周期重要的一个环节,我们每个人都知道它的重要性,但是要真做做好并不简单,我也写了一本在线电子书class="tit_sec">业务分析与需求.pdf来讲解需求相关内容。对于每种技术和方法,就像以前我写过的企业架构成熟度模型(EAMM)的一样,我们都不可能一下子就精通,而是按照一种学习的曲线进展,本篇本篇主要介绍一下需求管理成熟度的六个级别。
没有任何明确的需求被记录下来,他们假定知道要构建什么,希望节省需求的时间来做开发,但这势必会给开发工作带来混乱,因为需求是一项比较复杂的工程,并不能通过假定就可以明确软件功能,这样做很可能会导致所做的产品并不是用户所需要的。
从混乱的没有需求级别上升一步的就是简单的写出需求。虽然只是简单书写需求,但是相对于没有需求级别来说已经可以感受到很多好处了:
要得到这些好处,我们也需要付出一些成本:
需求的目的是为了清晰地与用户、客户和其他涉众(例如开发团队)等人就问题的解决方案进行沟通。级别二关注需求质量、格式化、安全和存储,以及版本管理。
级别三开始对需求进行归类,它们是功能性需求还是非功能性需求?是业务需求还是系统需求?是特性还是软件需求?客户、市场和用户需求是什么?区分这些可以帮助我们更好的理解和管理需求。之前级别都是用一些文字类语言来描述,而级别三是一种结构化需求,例如给需求添加一些属性。
需求本身就是层级的,由业务需求到用户需求再到系统需求;而需求又与开发和测试有所关联,通过可跟踪性管理,我们可以知道在更改一个需求时,会影响到哪些子需求以及相关的同级需求,还能够分析出影响哪些开发和测试内容。
通常我们做了很多需求,但是并没有一种集成化的方法把需求直接引入开发中,可能导致实现出来的是另一回事。集成化需求管理流程可以直接由需求导入软件设计、变更管理、测试和项目管理。团队将需求作为主要输入,如果将需求模型化,我们则可以通过模型化需求来开发应用程序,OpenExpressApp就是通过建模来结构化需求,它的目标就是要做成能够让业务工程师来开发应用程序。
欢迎转载,转载请注明:转载自周金根 [ http://zhoujg.cnblogs.com/ ]