就著名的《人月神话》(含《没有银弹》)中有关软件生产率的问题,最近有意整理一篇相关的文字。在这里跟大家做一个调查。 每一个项目经理,都会关注项目的成本。 我这里所指的成本,只是指软件生产过程中的成本(工作量)。 至于其他的成本,例如销售、采购等等的费用都不算。
人月神话中是这么说的:
引用
所有软件活动包括根本任务——打造由抽象软件实体构成的复杂概念结构,次要任务——使用编程语言表达这些抽象实体,在空间和时间限制内将它们映射成机器语言。
引用
我认为软件开发中困难的部分是规格化、设计和测试这些概念上的结构,而不是对概念进行表达和对实现逼真程度进行验证。当然,我们还是会犯一些语法错误,但是和绝大多数系统中的概念错误相比,它们是微不足道的。
为了验证一下真的如《人月神话》中的结论,我想请大家根据自己的实际经验头一下票,验证一下。
以我的理解,将软件生产过程拆成 调研咨询,需求,设计,开发,测试(QA)。 要特别提一下,我这里的设计,自然包含了详细设计,即使你在没有任何设计的前提下去写代码,事实上你也肯定要去考虑设计的。
我把软件生产过程中的全部工作分为2个部分,合计为100%。 打造概念结构的工作属于A类,表达这个概念结构属于B类。
调研咨询,需求,设计近似属于A类,而开发则属于B类。
测试(QA)是对前面两方面的验证,用来测试概念化思维工作的成分你计算为A类,还是用来测试构造工作的作为B类。(如果你的项目里对于测试时会明确区分问题发生的原因是设计原因引起还是编码引起还是需求引起的话,就很好区分)
投票时如下:
A类: 50%
B类: 50%
如果大家对具体工作所属类别的划分有意见,或者对于该书的论点有意见,请在投票的同时写下你的观点和分析。热烈欢迎就这个问题交换意见。
分享到:
相关推荐
通过这些综合因素,我们可以得出一个完整的软件开发价格计算公式:软件开发价格 = 开发工作量 × 开发费用/人·月。其中,开发费用/人·月包含了人头费、办公费、国家税收、企业利润,以及管理系数和优质系数。这一...
在软件开发实施项目中,工作量评估是至关重要的一步,它直接影响项目的进度、成本和资源分配。这份"软件开发实施项目工作量评估明细表"详细列出了推进OA系统应用和新功能开发两个主要部分的工作内容及其预计所需的...
《软件工程的秘密:软件开发项目为何失败》一书由George Stepanek撰写,深入探讨了软件项目失败的原因,为读者提供了宝贵的见解和教训。在软件工程领域,项目的成功与失败往往决定了一家公司的命运,因此理解项目...
需求调研在软件开发中扮演着核心角色,它是整个项目的基石,旨在揭示用户的真实需求、期望和痛点,为软件设计和开发提供明确的方向。一个成功的需求调研不仅能够避免后期的返工和修正,还能显著降低项目的成本和风险...
### 软件开发费用计算方法详解 #### 一、引言 随着信息技术的发展与普及,软件项目在各个行业中扮演着越来越重要的角色。为了确保软件市场的健康发展,规范软件项目的定价机制变得尤为重要。本文旨在深入探讨...
《软件工程的秘密:软件开发项目为何失败》一书由George Stepanek撰写,深入探讨了软件项目失败的原因,为软件工程师、项目经理以及所有参与软件开发流程的人员提供了宝贵的洞见和经验教训。以下是对该书核心知识点...
本文档是软件项目需求调研提纲,旨在收集和记录财务、采购、库存等方面的需求信息,以便于软件开发和实施。下面将对每个部分的内容进行详细说明。 财务部分(Financial) 1. 财务部门的组织架构及部门职责:财务...
多数情况下,测试人员工作量大,比开发人员忙,所以想寻求一个数据,来说服其公司,多招些测试人员。有些专家说,根据调查结果发现通常的比 许多公司领导总是希望得到一个合理的比例,然后按这个比例分配招聘的名额...
6. **成本比例失衡**:随着硬件成本的降低,软件开发成本却因人力需求增加而持续上升,在计算机系统总成本中的比重逐年提高。 7. **生产率提升滞后**:软件开发生产率的增长速度远低于计算机应用普及的速度,供需...
这些数据有助于了解软件开发过程中的质量控制效果及其对项目整体成本的影响。 3. **项目管理**:项目管理方面,报告分析了项目延期的原因、风险管理措施的效果等,为提高项目成功率提供了实用建议。 4. **技术趋势...
### 软件工程中的软件开发流程与方法 #### 第1章:软件工程概述 - **软件工程概念**: - 定义:软件工程是一门研究如何采用系统化、规范化、可度量的...理解和掌握这些核心概念和技术对于从事软件开发工作至关重要。
"软件工程专题" 软件工程是指应用计算机科学、数学及...软件工程是软件开发和维护过程中的一个重要环节,需要遵循一定的原则和方法,以提高软件生产率、提高软件质量、减低软件成本,使软件开发和维护更加高效、可靠。
软件开发工具的重要性体现在软件开发的全过程中,软件开发工具可以提高软件的质量和效率,缩短软件开发的时间,降低软件开发的成本,提高软件开发者的工作效率和质量。软件开发工具的发展趋势是朝着自动化、智能化、...
基于Android的OD调查软件可以显著提高调查效率,减少后期数据处理的工作量。 居民出行OD调查是城市交通规划与管理中的核心环节,对城市交通需求信息的获取至关重要。它包括出行次数、出行目的、出行时间、出行空间...
近年来,国内软件企业已经认识到测试的重要性,开始增加测试在整个软件开发流程中的比例。据统计,测试成本通常占据相当一部分,且有上升趋势。软件产品的不成熟意味着将测试成本转嫁给了用户,这会导致项目周期延长...
2. **软件度量**:通过量化方法评估软件开发过程中的成本、生产率、进度和产品质量等指标。 3. **项目计划**:制定合理的项目计划,包括工作量、成本、开发时间等方面的估计,并根据实际情况进行调整。 4. **风险...
### 软件开发项目报价书相关知识点 #### 一、概述 软件开发项目报价书是一种重要的商业文档,用于向客户或合作伙伴明确展示一个软件项目的成本估算、实施范围和服务条款等内容。报价书中通常包含了项目的背景介绍...
在软件开发过程中,软件需求调查表是十分关键的一环。它不仅有助于明确项目的范围、目标以及预期结果,还能为后续的设计、开发及测试阶段提供重要的参考依据。通过软件需求调查表,可以有效地收集到用户的真实需求,...
在软件开发过程中,需求分析是至关重要的第一步,它决定了项目的成功与否。需求分析涉及理解用户的需求,定义系统的目标,以及创建一个清晰、准确且全面的需求规格说明书。以下是对这一主题的详细探讨: 一、需求...
现代软件工程方法在医疗软件开发中的应用至关重要,因为医疗软件的稳定性和可靠性直接关系到患者的安全和医疗服务的质量。首先,医疗软件开发面临着人员职责分工不明确、缺乏统一安排和协调等问题,这些问题会导致对...