1СDSS和通过COCOMO II方法估算项目的条款和成本

本文讨论了使用1C DSS(应用程序设计系统)来评估使用COCOMOII方法进行的项目的持续时间和成本的方法。

如何证明客户对项目时间的评估是客观的?

在预售阶段如何在项目开始之前衡量其利润?

如何以项目价格评估交易范围以防止损失?

如何客观地为非开发人员(业务分析师,方法论者,技术撰稿人等)的团队成员计算项目需求,如何以最简单,最经济的方式将其工作成果正规化?

目录

  • 进入。
  • 当前使用1C DSS的主要问题。
  • 为什么选择COCOMOII?
  • 为什么选择1C DSS?
  • COCOMOII最短课程
  • 从开发人员的劳动评估过渡到分析师和方法学家的劳动评估
  • 伪码
  • 1DSS和伪代码。
  • 总结

参赛作品


1C应用程序设计系统于6年前在市场上推出,并于2019年7月升至版本2。它基于SADT技术和级联开发模型。 但是,它允许您在各个阶段领导Scrum / Agile开发。

专为由多部门团队执行且需要频繁更换人员的复杂而冗长的项目设计。 它包括项目管理功能,业务流程描述,信息系统的体系结构和功能设计,IP的软件开发和维护以及基于Vanessa / Gherkin的自动测试。

首先,它对系统集成商和特许经营者很有用,其次,对于所有在外部执行者的参与下进行独立开发和维护自己IP的组织而言,这都是有用的。

目前使用1C DSS的主要问题


当前使用1C DSSR(主要使用版本1)的主要问题是1C DSS作为技术的使用极为不正确。

1C DSS最常用于开发人员的功能级别,充其量是供建筑师使用。 它的作用通常取决于系统的“功能”的描述和开发以及程序员的任务形成。 这是使用DSS的方法的错误。

市场上的现有系统(JIRA等)在为程序员设置任务和处理用户票证方面做得很好。 有了这种用法,DSS开发人员又有了另一个耗时的官僚插件,这需要花费一些时间来进行“纯”编码。

开发人员有义务描述已实现/最终确定的系统的功能,以确保为程序员设置与元数据对象链接的任务(按照Eric Evans在其“面向对象的设计(DDD)。复杂软件系统的结构设计”中的“通用语言”)。

同时,几乎完全忽略了项目团队另一半的任务-项目经理,业务分析师,方法论者。 不幸的是,我们可以说,即使DSS 2.0版中的1C本身也大大降低了这类参与者的功能,与1.0版相比,面向开发人员和测试人员的DSS模型发生了重大变化(例如:明确删除了需求和数据对象)。

然而,全面和全面使用DSS的问题是很尖锐的。 特别是在本文中,我们将考虑如何在1C DSS中使用COCOMOII方法估算项目的条款和成本的技术。

每个人都想知道一个项目可以完成多长时间,客户自己不能说出最终想要什么,与客户讨价还价在多大程度上合理?
以及如何说服客户建议的时间和成本是合理的? 但是,后者对于我们自己了解并不会有害。

最重要的是,如何客观地计算非开发人员的团队成员对项目的需求(业务分析师,方法学家,技术作家等),如何以最简单,最经济的方式将其工作成果正规化?

为什么选择COCOMOII?


任何行业的客户都希望对项目的成本和时间进行客观,合理和普遍接受的评估。 他们希望将他们的项目与以前项目中系统集成商的经验联系起来。 同时,一个稀有客户对项目的最终结果有清晰的认识,但是在开发了概念模型的项目中却没有。 而且系统集成商没有。

在没有信息的情况下,如何评估预售阶段的时间和成本? 在项目进行过程中,是否考虑到变更(所有项目的祸害)?

COCOMOII方法使您可以考虑系统集成商的累积经验进行评估,并且以最简单的方式在项目进行过程中迅速制定价格/时间规格,并为与客户达成协议辩护。

为什么选择1C DSS?


事实是1C DSS是基于SADT和“通用语言”技术的(在我的独立文章中对此进行了详细说明)。 是SADT将建模过程与基于“通用语言”的开发过程相集成。 “通用语言”使您有基础来计算术语的估计指标。

COCOMOII最短课程


COCOMO方法学于1963年应要求对即将进行的项目中软件开发的复杂性和时机进行快速而简单的评估而出现。 COCOMO模型及其下一阶段COCOMOII的基础是程序代码的行数(KSLOC是一千行逻辑代码,即表示操作的代码行)。 这个基础是任何软件开发项目的结果,是项目的一种精髓。
(我们要记住,COCOMO与COCOMOII的不同之处在于COCOMO公式的标量参数已替换为COCOMOII参数表,但方法的本质保持不变)。
因此,有了项目的累积负担,任何开发人员都可以对每个下一个项目进行框架基础评估。 当然,这是一个非常粗略的估计,但是在预售阶段,这样的估计总比没有好。 为了澄清这一点,根据一定的公式将KSLOC基础调整为精炼系数。 我们不会给出公式,它很简单并且可以在Internet上找到。 最重要的是,每个开发人员都可以根据先前项目的统计数据来开发此公式的系数,并将其与公式的规范参数进行比较,或者...不比较并仅使用自己的公式。
带有参数的公式的存在表明,应该根据所有这些参数对系统集成商的所有项目(或组织的所有内部项目)进行编码和分类。 在开发人员手中的项目越多,可以为评估打开的新项目中选择的同类型项目越多(筛选非核心项目),评估就越准确。

知道每个KSLOC单位在一个完成的项目上花费的时间(代码行),您可以评估未来项目的潜在工作量。 如果参数存储有关受雇雇员的资格(等级)的数据,那么您可以获得项目成本估算。

您可以根据自己的判断和能力完成项目参数的详细说明。 细节越多,估计未来项目的时间和成本就越准确。
在预售阶段设置了什么KSLOG,但结果描述不正确? 仅经验者来自集成商(执行者)的项目数据库。 在这种情况下,可以使用一组项目参数。 如果对项目(软件产品)的预期结果有准确的描述,则可以使用扩展的项目参数集。
这就是COCOMO方法的重点。

从开发人员的劳动评估过渡到分析师和方法学家的劳动评估


细心而有经验的读者会惊呼:
“那么! 凭借COCOMO方法的优点和缺点,它旨在评估软件项目。 开发人员,程序员的工作可以在有条件的KSLOC中进行数字化。 但是,分析师和方法论者,项目经理和经理呢? 1C DSS与它有什么关系?”

对!

因此,任务是为列出的团队成员选择一个相似的基础,使您可以使用COCOMOII技术。 他在这里上台。

伪代码


项目文件是用于信息系统设计,创建和开发的所有复杂项目的输出结果之一。 这些是技术任务,概念文档,描述,说明,数据对象的寄存器,分析人员列表等。 这些文档的目录,内容文本,表格,图形,收集的要求,列表均为伪代码。

正是这种伪代码可以衡量项目团队的“非程序员”成员的工作结果,这些成员是分析师,方法论者,技术作家,项目管理人员,架构师,设计师和类似参与者。

如果项目是根据GOST要求提交的,则项目文档的结构由这些标准定义,否则,由承包商酌情决定或根据与客户的合同要求创建。

有趣的一点是,如果项目团队和客户决定与时俱进,并且将仅使用无纸化技术来制定项目结果,那么如何将1C DSS与之联系起来?

答案-以最直接的方式-由项目填写的DSS及其目录内容将是结构化的数据对象和工作的结果。 转移到客户非常方便。 在项目期间创建的所有文档都将附加到DSS配置对象中。

简化的输出项目文档分为以下几组伪代码:

  1. 文件的结构(目录);
  2. 文件测试;
  3. 文档表行(表);
  4. 绘图(图形对象)。

在最简单的情况下,对于COCOMO而言,输出文档的结构就足够了。 它的复杂性(嵌套级别的数量),目录行的数量可以用作应用方法公式的基础,该方法用于通过以前项目的类似统计数据以及项目团队(而非程序员)参与者的结构来估算项目的条款和成本。 当然,在基础中包括所有类型的伪代码将提高估计的准确性。

因此,此处的标准COCOMO中的KSLOC模拟成为输出项目文档和/或此文档的文本行的目录(此文档中每个表格的每一行,每个图形对象)。 基础不应包括文档的设计元素和布局。

1DSS和伪代码


问题是如何在1C DSS中放置伪代码。

这可以通过“数据对象”目录来完成。 创建一个单独的组“ OUTPUT DOCUMENTS”,在其中为每种类型的文档创建子组,然后在每个单独的文档中创建另一个子组,并在这些子组中将其作为项目文档目录的目录元素。

如果决定以COCOMOII为基础包含输出项目文档的文本内容,表格,图形对象,则项目文档的目录也应在“数据对象”目录的组中进行,并且应在其中放置表格,图形对象和文本段落的名称。

项目文档本身的文本可以在段落中作为目录元素“数据对象”的文本字段键入。

在“数据对象”参考书中描述输出项目文档的结构时,应该努力争取什么?

有必要努力确保“数据对象”目录中的每个元素都可以链接到一个元数据对象和/或一个数据对象(“数据对象”目录中的其他组,它们不描述输出文档的其他结构,而是描述在数据项目,例如:分析师列表)。

这样的设计将使直接从1C DSS自动创建输出项目文档成为可能。 这将有助于显着减少花在项目团队工作上的时间,尤其是在不断变化的客户需求,信息系统的修改(包括 其他团队和表演者,需要再次重新创建输出文档时,但同时又要保持对象及其描述的一致性。

将目录“数据对象”的每个元素或组与需求(由客户和项目团队的成员共同制定,详细描述到元数据)链接时,最终可以得到端到端的链接需求-元数据对象-输出项目文档。 在DSS 2.0中,“想法”等同于“需求”。
随着在1C DSS中实施项目的经验的积累,这样的目录结构将变得清晰,在所有类似项目中都将是相同的。 因此,对于一个新项目,只需复制它就足够了。 对于输出结果相同的项目,您可以复制文本(表格)。

总结


具有良好项目基础的集成商和组织,在对先前项目的材料进行了审核之后,可以对计划中的和正在进行的项目的时间和成本进行客观的评估。

这将极大地促进A)与客户讨价还价B)评估预期利润。

Source: https://habr.com/ru/post/zh-CN482946/


All Articles