项目需求分析是项目的开始,也是项目建设的基石。 在先前失败的项目中,80%是由于需求分析不清楚。 因此,项目成功的关键因素之一就是对需求分析的掌握程度。
原则上,需求阶段主管应尊重承包商的项目管理和项目分析能力; 在制定特定任务时,除非在项目合作过程中发现承包商的项目管理和项目分析能力存在较大的差距和缺陷,否则不应深入研究并干扰承包商的自主权。
为了确保项目的成功,主管必须加强项目管理和项目分析,并可以坚持吸收,吸收和实施特定操作中的方法和手段。
项目的总体风险通常表现为需求分析不明确,业务流程不合理以及不习惯或不愿意使用承包商软件的用户。 作为第三方监督公司,它必须提醒承包商和客户注意需求分析的重要性,采取必要的手段和方法进行需求研究,而监管方也应进行深入的需求研究。 只有这样,我们才能真正把握用户的需求和方向,并在未来功能的定义和发展范围上有发言权。
如何进行需求分析。
需求分析不需要从诸如侦探推理之类的线索开始,而是应该首先了解宏观问题,然后了解细节。
p应用软件系统(表示为S)可能涉及广泛的领域,并且可以根据不同的问题域(表示为D)进行分类,并且每个问题域都对应于一个软件子系统。S = {D1,D2,D3,... Dn}
问题域Di包含几个问题(表示为P),每个问题对应 到系统中的sub A软组件。
Di = {P1,P2,P3,... Pm}
问题Pj具有几种行为(或函数,表示为F),每种行为 对应于软件组件中的实现接口。
Pj = {F1,F2,F3,... Fk}
需求规范应该适合那些只想知道的人有宏观要求的领导者和需要了解详细信息的技术人员是合适的。 编写需求规范时应注意两个问题:
1。 最好为每个需求注释“为什么”,以便程序员可以了解需求的性质,以便选择最合适的技术。 满足此要求。
2。 需求的描述不能模棱两可或矛盾。 如果存在歧义或不一致,则必须重新分析需求。
关键监控需求分析
由于项目的特殊性,广泛的行业覆盖范围以及需求分析的高风险,软件需求分析的重要性是 不用说,确实很难同时进行需求分析。 原因基本上是由于以下情况。
客户无法清楚地说明他们的需求
某些客户的需求意识只有模糊的含义,当然,他们不知道他们的具体需求。 例如,当全国许多部门,机构和部门正在构建应用程序系统和网络时,客户端的大多数办公室工作人员对计算机网络的使用尚不清楚,并且他们缺乏IT系统构建方面的专家和知识。 。 此时,用户将要求软件系统分析员想象对他们的要求。 项目需求具有一定程度的主观性,这给项目的未来建设带来了潜在的风险。
需求本身经常变化
根据过去的历史经验,随着客户对信息化建设的了解和自身业务水平的提高,他们将提出的阶段和时期 新的需求和需求改变了项目的需求。 实际上,历史上没有任何软件需要少于三项更改! 因此,我们必须接受“需求将会改变”这一事实。 在进行需求分析时,我们必须知道如何在问题发生之前进行预防。 尝试清楚地分析哪些需求是稳定的,哪些需求是可变的,以便在设计系统时,软件“核心”构建对需求保持稳定,同时留有变化的空间。 咨询监督方在需求分析功能的定义中扮演中间,公正和公正的角色,因此它还必须积极参与需求分析的准备工作,以帮助客户和承包商定义“做什么”。
分析师或客户误解了。
软件系统分析师不能是全方位的专家,更不用说行业专家了。 不同的分析师可能对客户表达的需求有不同的理解。 如果分析人员对它的理解不正确,则可能导致未来开发工作效率低下。 我记得有个笑话,一个外星人的间谍潜伏在地球上以监视情报。 它给他的老板写了一份报告:“汽车是地球的主人。他们喝汽油,用大声的声音和眼睛在四个车轮上向前滚动。晚上可以发出强光……有趣的是,有一种寄生虫叫做 “人类”生活在汽车中。这些寄生虫完全控制着汽车。” 因此,分析师知识的特异性也可能导致需求分析中的误解而失败。 此时,咨询和监督公司必须根据实际项目需求研究计划,提醒承包商加强业务了解,并注意沟通技巧。
需求分析方法
根据过去的工程经验,需求分析方法应定位在“三个阶段”(也称为“三步法”)中 ”)。
第一阶段:“访问”
该阶段是与特定用户方的领导和业务人员的访谈交流,主要目的是掌握 从宏观层面上了解用户的特定需求方向和趋势,并了解当前的组织结构,业务流程,硬件环境,软件环境,现有操作系统以及其他特定和客观的信息。 建立良好的沟通渠道和方法。 对于特定的职能部门和各个委员会,最好为此项目指定一个界面人员。
实现方式:访谈,调查表
输出:调查报告,业务流程报告
第二阶段:“归纳” (诱导)
此阶段是承包商了解特定用户的组织结构,业务流程,硬件环境,软件环境,现有操作系统等的时候。基于这些信息,结合现有硬件 和软件实施方案,一个简单的用户流程页面结合过去的项目经验,为用户采用归纳和启发式研究方法,并与用户讨论业务流程设计的合理性,准确性,便利性和习惯。 用户可以通过简单的演示演示来体验整个业务流程的设计合理性和准确性,并及时提出改进建议和方法。
实现方式:访问(归纳),原型演示
输出结果:研究分析报告,原型反馈报告,业务流程报告
< p>第三阶段:“确认”(Afirm)此阶段基于以上两个阶段的结果,即具体过程的细化,数据项的确认阶段,该阶段的承包商 提供原型系统并清除业务流程报告和数据项表,并能够向用户清楚地描述系统的业务流程设计目标。 用户可以通过查看业务流程报告,数据项表以及操作承包商提供的DEMO系统来提供反馈,并签署并确认可接受的报告和文档。
实现方式:访问(审查,确认),提交业务流程报告,数据项表; 原型演示系统
输出结果:需求分析报告,数据项,业务流程报告和原型系统反馈(后三个可以合并为需求分析报告,并提交给用户和主管进行确认 和归档)
通常,三个需求分析阶段是需求调查中不可忽视的重要部分。 三个阶段或三步法的实施和采用为用户和承包商提供了项目成功的保证。 当然,在系统构建过程中,尤其是采用迭代开发模型时,需求分析工作需要一直进行。 在后来的需求改善中,工作基本上集中在后两个阶段。