Questions tagged «development-process»

有关软件开发过程的问题。

4
对于成熟的团队来说,好的“完成的定义”是什么样的?
当查看各种来源的完成定义的示例时,它们通常包括以下几点: 代码完成 单元测试运行 同行评审或配对的代码 签入代码 文档更新 … 在我们的团队中,我们有一个类似的列表,但是没人看过,因为这些观点如此明显,以至于任何人都不会跳过这些步骤。因此,我们想知道这是否主要是团队过渡到敏捷过程的工具,以及我们是否不应该摆脱它。 另一方面,许多文献声称,所有高绩效团队对完成都有很强的定义。这种暗示我们可能会错过改进的机会。 那么,对成熟团队所做的明确定义的例子有哪些?它们通常包括哪些点?

1
关于CMMI疗效的任何经验证据吗?
我想知道是否有任何研究可以检验面向CMMI的组织中软件项目的有效性。例如,与非CMMI组织相比,CMMI组织是否更有可能按时和/或按预算完成项目? CMMI代表“能力成熟度模型集成”。它是由卡耐基梅隆大学(SEI-CMU)的软件工程学院开发的。 这不是认证,但是有许多公司会“评估”您的组织到CMMI的各个级别,例如2级和3级。(我相信CMMI 1级是一种动物性的,霍布斯式的免费的,没有人向往换句话说,即使您以前从未听说过CMMI,每个人都至少处于CMMI 1级。) 我绝对不是专家,但是我相信可以在不同的工作范围内评估组织的CMMI级别:即服务交付,软件开发,愚弄等。我的问题集中在软件开发评估上:是一个组织被评估为CMMI X级的软件项目比没有被评估为CMMI X级的组织更有可能按时,按预算完成软件项目? 但是,由于缺乏有关面向软件的CMMI的可靠数据,我对CMMI评估对其他活动的影响也很感兴趣。 我最初问这个问题是因为我已经看到了许多有关软件的研究(例如,《神话人月》中的论文涉及大量的经验研究,麦康奈尔的《代码大全》也是如此),所以我知道有些组织在进行软件开发的经验研究。 。

7
应该为错误重新打开案例,还是应该以新案例打开错误?
目前,在我的工作地点,我们使用FogBugz来管理我们不同Web应用程序的所有功能和错误。 当要将新功能添加到我们的一个Web应用程序中时,将创建一个新的Case。例如“创建CSV上传表单”。 然后,我处理案件,记录我花在该案件上的时间。完成此案例后,我将对其进行解决,然后将其分配回开箱器(通常是项目经理),然后由其关闭该案例。 如果该功能有任何错误,则我的项目管理器将重新打开该案例,并将其归还给我,并附上一系列漏洞的要点。 在我看来,我认为这些指向项目符号的错误应作为单独的错误案例打开,以便可以更轻松地对其进行跟踪,而不会因原始功能案例说明而混乱。 我的经理们不同意我的说法,如果在一种情况下全部花费在该功能上,则更容易计算出该功能所花费的总时间。 此外,他们认为,这对于我们的客户而言不会造成太大的混淆,因为该功能仅具有1个案例编号参考。但是,我要强调指出,这些错误应作为单独的案例处理,因为这是原始案例的完成后。 我是否正确地指出应该重新打开Bug作为新案例?每种管理方式的利弊是什么?

4
在编码之前了解功能有多重要?
我为一家软件开发公司工作,该公司的开发工作已不存在。岸上团队处理支持并直接与客户交谈。我们从不直接与客户交谈,我们只是与岸上团队的人员交谈,他们直接与客户交谈。 当需求到达时,岸上团队与客户交谈并制作需求文件并通知我们。在研究了要求之后,我们制作了设计文件(我们遵循传统的瀑布模型)。 但是整个过程中存在一个问题:离岸团队或在岸团队中没有人完全了解应用程序的功能。我们只知道它是一个大型的复杂Web应用程序,可处理复杂的订单处理,目录管理,活动管理和其他活动。我们对设计文档感到困惑,因为要求不明确。然后,它会讨论在岸团队,离岸团队和客户之间的一系列问题/答案。我们经常被告知要从代码中了解功能。但这通常是不可行的,因为代码库很大,甚至了解一个简单的菜单项都需要几天甚至几周的时间。我们试图告诉客户给我们知识转移关于该应用程序,但无济于事。即使设计文件不完整或要求不明确,我们的经理也会经常告诉我们开始编码。我们将从对似乎很明确的需求部分进行编码开始,然后等待其余部分。 这通常会使部署推迟一个月。在极端情况下,我们在开发和生产中的错误率非常低,但是客户会说那不是他们要求的。那将开始一个非常规游戏和一系列变更请求,而我们最终将开发出非常不同的东西。 我的问题是,如果您不完全了解应用程序的功能,您将如何进行开发工作? 更新 开发方法并不是我真正的选择,我也不是我团队的负责人。这是它开始的方式。我试图告诉人们敏捷的优势,但无济于事。此外,我认为我的团队没有在敏捷环境中工作所需的思维定势。

9
开发方法是否应该压制开发人员的个人主义?
我正在大学的最后一个学期,正在学习软件工程课程。在课堂上,我们学习各种软件开发方法。我们关注并用于开发项目的方法是瀑布方法。 我觉得教练可能执行错误。在我们的类图中,我们必须列出所有属性和方法,包括私有属性和方法。我读过几本书,即“清洁代码”,该书说,要使功能尽可能简短和集中。如果它们不能帮助其他开发人员列出所有小功能,这似乎很麻烦(它们是私有的,没有其他人可以使用它们)。另外,在设计程序时,我可能不会想到每个微小的功能,在重构时它们可能会出现。 讲师是否要求我们列出所有功能,以告诉我们错了?而且,这些设计方法是否压制了开发人员的个人主义以编写代码,从而使他们更好地理解代码?

4
开发定制购物车值得吗?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 在我的工作场所中,我们有漂亮的Cakephp模块库,并且我们会以令人满意的速度开发自定义网站,直到购物车出现以减慢该过程为止。我在不同的项目中使用了各种购物车(Magento,Opencart,Zencart),我们必须将它们与我们的核心Cakephp应用程序合并。通常,非常自定义的要求使购物车不可升级,并且花费大量时间。 我正在考虑从头开始制作我们自己的购物车(目前还很基本,并且我们会不断扩展),以便它可以轻松地适应自定义要求。这值得吗? 更新11年8月24日 我继续开发自己的购物车。这是我想与大家分享的经验。 好处 新的购物车易于更改和扩展。 当我们有模糊或自定义要求时,它可以节省时间,并允许我们直接从现有代码库中导入模块。 购物车和自定义网站无需双重模板实​​施。 我们的购物车和自定义网站的单一管理面板。 局限性 在市场上的其他手推车上还不够成熟。 安全问题。我们主要依靠cakephp安全性。 缺乏功能 面临的问题 开发运输/付款网关是真正的难题。正如@davidhaskins指出的 它为我们节省了大量时间,我们可能花了很多时间来破解标准购物车来满足我们的需求

2
Web开发准备和整个项目工作流程
我是一个单独的Web开发项目(前端和后端)的程序员,我已经完成了几个项目,因此在这方面我还很新,我已经阅读并尝试了一些方法,并找到了解决之道关于他们。问题和我的描述都相当长,请耐心等待。 我要寻找的是: 1.准备/规划通常在开始开发之后,一旦您确切知道需要构建什么。 2.根据您的经验,请给我有关我当前正在遵循的过程的反馈/建议。 与我合作的客户通常都是初创公司,预算有限,因此我无法按小时/小时向他们收费(我认为这是大型公司通常按开发项目的人/小时向客户收费的方式)使用固定预算。 这是我目前正在遵循的过程: 1.评估项目的范围,并尝试了解他们在几次会议中要完成的工作。 2.给他们一个粗略的报价,概括地描述他们期望从项目中得到什么,我尝试具体说明功能,但是,我并没有花太多时间,因为我知道客户可能只是在询问报价,而未真正转换。 3.我遵循杰夫·阿特伍德关于付款和工作的建议: 15%的付款-开始任何工作之前先付款 在此阶段中,完成了最终网站的HTML 建模,并制作了一个流程图(带有yEd),该流程图尽可能详细地描述了该网站,并提供了一个文档,其中提及了流程图中没有的其他功能。这是通过进入项目的所有细节并最终确定适合的位以及在协议价格下无法完成的工作来完成的。因为没有在前面讨论细节,所以其中的某些部分或多或少地是关于它们实际得到什么的协商。因为这是一个固定预算的项目,所以需要有固定的要求,否则,随着添加更多功能,我的价格会不断下降。 还确定了配色方案,设计线框和设计PSD。 35%的付款 -开始开发 项目固定,开始开发。我将网站托管在服务器上,客户端可以在其中访问前端,但不能访问任何代码。 30%的付款 -将代码转移到客户端的服务器/为客户端提供服务器访问详细信息, 使网站正常运行。 20%的付款 -网站上线后的几个星期,所有错误已修复后。 问题: 1.一旦您确切地知道将要构建的内容,在开始编码之前会做什么样的计划? 2.根据您的经验,您会在整个过程的哪些部分有所不同?

11
开发针对多个平台的应用程序应遵循哪种方法?
对于面向多个平台的应用程序,我主要看到两种开发方法: 选择一些类似于JAVA的开发平台。有一个代码解决方案,并让中间运行时处理不同的平台。如果在任何平台上出了问题,请稍微调整一下代码。但是所有人都应保持相同。 使模块化代码分离核心逻辑和UI。为各个平台开发单独的UI,这些UI将调用相同的核心库。为每个目标平台分别构建应用程序。 那么,哪个跟随?我知道,答案将以“ 取决于 ”开始。但是,我想听听您对这些方法的意见以及选择任何方法时应考虑的因素。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.