Questions tagged «agile»

敏捷软件开发是基于迭代和增量开发的一组软件开发方法,其中需求和解决方案通过自组织,跨职能团队之间的协作来发展。

5
您如何跟踪敏捷团队的需求文档?
我知道用户故事在敏捷世界中占主导地位,但是如何存储这些工件,以便加入团队的新开发人员可以赶上需求? 如果用户故事稍后更改,该如何更新并将其保留为工件呢?我已经看到许多团队只是打开一个新的票证/功能请​​求/错误报告,而不是跟踪原始故事。

4
有没有关于敏捷与瀑布的效率/效果的研究[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 2年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 在前一天的一次会议上,有人声称与瀑布相比,敏捷的开发时间效率只有60%。我不希望验证或反驳此主张。我很想知道是否有任何研究比较这两种方法。 有没有比较这两者的研究?

9
您如何看待“ Planning Poker”?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 规划扑克 摘要,以防您不想阅读维基文章: 获取您要为即将到来的迭代执行的任务列表 对于每个任务: 2.1与小组讨论该任务的含义 2.2每个人写下/选择一项任务所需的工作量 估算 值2.3每个人都透露其估算值2.4最高和最低异常值解释其推理 2.5重复直到达成共识 通常,类似于斐波那契数列中的数字(例如0、1 / 2、1、2、3、5、8、13、20、40、100)是允许的值,因此,对于诸如23与27。 此外,数字表示无单位努力价值,其价值由每个人都同意的基线任务确定,等于1,而其他所有任务都与此相对。 最终,目标是使给定团队的“速度”好起来,这是在给定迭代中可以完成的这些点的数量。这样,就可以对任何给定功能花费多长时间做出合理准确的估计。 我们在我工作过的一家公司的迭代计划会议上做到了这一点,我认为这是关于该特定公司的少数优点之一。所以,我想知道的是,有人使用过吗?您认为这是一个有用的估算工具吗?它在所有情况下都有效,还是适合某些团队,项目等?

3
如何在敏捷方法论中进行创新[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 可以说一句话,敏捷方法在对需求了解甚少或涉及新颖性的环境中很好。但是,应将其应用于需要彻底创新的地方吗?如果是,怎么办? 如果您要考虑的事情在行业中是未知的,或者甚至被认为是不可能的,那么可能很难想象用户故事和相关任务。例如,通过将广义相对论分解为史诗,冲刺和任务来设计广义相对论,是否会使艾伯特·爱因斯坦(或他向之报告的假设雇主)受益?如果答案是“是”,那么应该采用哪些特殊的措施来帮助敏捷方法与爱因斯坦获得革命性见解的方法一起发挥最佳作用? 举一个特定的软件示例,假设年份为2008,并且您想使用WCF提供COMET或“ 长轮询 ”类型的功能。您对“以前的工作”的所有研究都没有结果,甚至您还读过一个MSDN博客说这是不可能的。 再者,可以为用户故事和任务带来什么调整或“风味”,以适应此Endeaver的发明性(或胆大?)?还是可以断定这项工作具有创新性(在2008年),最好还是将其作为无方向的智囊团活动,这会更好吗? 在两个星期的冲刺状态下工作的创新者当然不希望每次放弃一个死胡同的任务而开始从事新的任务,而该任务是在定义冲刺时未曾设想的,因此他不想被击落。同样,当冲刺结束并且没有交付任何工作代码或工作方法时,创新者也不应被管理层击倒。即使在这些情况下,也需要一种将努力标记为“成功”的方法。在这种“死胡同”的追求中,创新者可能再经过一三个冲刺,最终找到可行的方法。 敏捷如何让管理层知道,尽管有一些挫折,每个冲刺还是“不错”的?如何进行管理,以使燃尽图看起来并不荒谬?
21 agile 

5
开发人员之间应该共享用户故事吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 我通常会看到具有后端和前端开发功能的故事。例如,考虑一个带有几个表和一些动态控件的大对话框。我们将制作几个故事(也许每个表一个,而动态控制系统一个)。 然后,开发团队将在后端拆分一个人,在前端拆分另一个人。这使后端人员可以轻松担心SQL层的结构,而前端人员则可以专注于布局之类的工作。在后端和前端之间的初始接口达成协议后,两个开发人员可以集中精力在sprint结束时完成自己的任务。 然后是混乱。谁“拥有”哪个故事?“进行中”是什么意思?我们应该为后端和前端分别制作两个故事吗?如果是这样,这是否会打破基于功能的用户故事的观念?我们的系统具有“子任务”的概念,可以缓解其中的一些问题。但是子任务增加了额外的复杂性。有没有更好的办法?这是使用Scrum的“坏”方式吗? 过去几年中,我在一些地方一直在使用某种形式的敏捷。我尚未接受官方培训,因此请原谅任何错误的术语或意识形态。我只是想学习实用的方法来改善我们的流程。
21 agile  scrum 

7
Scrum冲刺是否意味着以最快的速度工作?
想要改善这篇文章吗?提供此问题的详细答案,包括引文和答案正确的解释。答案不够详细的答案可能会被编辑或删除。 我最近采访了一些从事敏捷,Scrum的公司,以进行更精确的介绍,有些事情在我看来并不像敏捷。现在,我将考虑一个特别令我感兴趣的案例,即Scrum冲刺。 我与一位特定的项目经理交谈(是的,我说项目经理)自豪地说,她的团队中的人们理解(“被告知”这是我从上下文中挑选的),当工作时间结束时,您不回家,无论完成多少工作,您都会在工作完成后回家。我在这两行之间读到的是,我们将尽可能多的功能组合到sprint中,并加班以实现它。 现在,我还没有做敏捷(与大多数仍然喜欢瀑布的金融和政府机构合作),但是我的理解是: Scrum中的sprint是敏捷中通用迭代的名称; 团队应该以可持续的速度工作,并尽量避免长期加班,因为这只会在短时间内产生影响,并且这种影响因长期存在的问题而相形见war。 我的陈述正确吗?而且,我是否应该将经理的介绍作为危险信号?

7
Scrum Master如何参与日常站立训练?
我们有一个专业的Scrum Master顾问[*],他最近加入了我们的项目。不幸的是,我们不知道她的名字(她从未向我们介绍自己,她只是一天之内就说“我们每天都站起来”),除了主持一个椅子,她似乎没有做太多其他事情。每日站立会议-当我半开玩笑地要求她也在会议中提供每日反馈时,她感到非常不满,说这是Scrum Master的“促进而不是参与”的工作。 这似乎是相当反敏捷的(已经在其他敏捷项目中工作过,这些项目是团队自我指导的),应该是平等的,但是我不确定它在Scrum方法论中如何工作。我怀疑她整天没有做很多事情,这就是她在这个问题上采取防御措施的原因。 Scrum Master是在站立会议期间参加“昨天,今天,障碍”活动,还是只是主持(“协助”)会议? [*]我们实际上并没有告诉她她的工作,因为她自称为Scrum Master

9
在敏捷开发中,我应该在数据库之前尝试在平面文件中进行持久化吗?
有人向我解释说,由于在敏捷开发中,策略和应用程序逻辑应该比持久性方法之类的细节更为重要,因此持久性决策应该在最后做出。因此,从简单的持久性(例如平面文件)开始可能是一个好主意,直​​到我们意识到该方法的弱点显而易见,然后才更改持久性(例如,使用关系数据库)。 这是真的吗?还是我误解了这个概念?这是敏捷团队通常如何构建应用程序吗?有什么理由?何时不应该采用这种方法?

3
TDD和重构遇到的困难(或者-为什么这比应该的要痛苦得多?)
我想教自己使用TDD方法,而我有一个项目想要工作一段时间。这不是一个大项目,所以我认为这将是TDD的不错的选择。但是,我感觉有些不对劲。让我举个例子: 在较高级别上,我的项目是Microsoft OneNote的加载项,它使我可以更轻松地跟踪和管理项目。现在,如果我决定建立自己的自定义存储和后端的一天,我还希望保持与OneNote分离的业务逻辑。 首先,我从一个基本的普通单词接受测试开始,概述了我希望我的第一个功能要做的事情。看起来像这样(为简洁起见,将其复制): 用户点击创建项目 用户输入项目标题 验证项目创建正确 跳过UI内容和一些中介计划,我来进行第一次单元测试: [TestMethod] public void CreateProject_BasicParameters_ProjectIsValid() { var testController = new Controller(); Project newProject = testController(A.Dummy<String>()); Assert.IsNotNull(newProject); } 到目前为止,一切都很好。红色,绿色,重构等。现在它实际上需要保存内容。在这里减少一些步骤,我对此很满意。 [TestMethod] public void CreateProject_BasicParameters_ProjectMatchesExpected() { var fakeDataStore = A.Fake<IDataStore>(); var testController = new Controller(fakeDataStore); String expectedTitle = fixture.Create<String>("Title"); Project newProject = testController(expectedTitle); Assert.AreEqual(expectedTitle, newProject.Title); } …

10
架构师如何与自组织的Scrum团队合作?
拥有许多敏捷Scrum团队的组织也只有一小部分人被任命为“企业架构师”。EA小组充当质量和对决策的坚持和控制者。这导致团队决策和EA决策之间出现重叠。 例如,团队可能要使用库X或要使用REST而不是SOAP,但是EA对此不赞成。 现在,当团队决策被否决时,这可能会导致挫败感。言归正传,它有可能导致EA人员“抢夺”所有权力,并且团队最终感到动力不足,甚至一点也不敏捷。 在Scrum的导游有这样一段话吧: 自组织:没有人(甚至不是Scrum Master)告诉开发团队如何将产品待办事项转换为潜在可发布功能的增量。 那合理吗?EA团队应该解散吗?车队应该拒绝还是仅仅遵守?


7
您可以推荐哪些电子用户故事映射工具?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 敏捷软件开发严重依赖于称为用户故事的工作项类型。例如,您有一个积压的用户故事,您可以选择其中一些在下一个冲刺期间进行处理。 但是,您在哪里以及如何找到要添加到待办事项列表中的用户故事?有一种流行的技术叫做故事映射。杰夫·帕顿(Jeff Patton)发明了它,这是有关如何做的权威指南。 问题是,那里有哪些电子工具可以支持Patton的故事映射技术? 我进行了一些研究,找到了Pivotal和Rally插件(但我都不是两者的客户),并且我目前正在尝试SilverStories。 还有哪些其他工具?你用了什么?您(不)推荐什么?为什么? 更新:一些发表评论的人似乎倾向于一个答案,即使用电子工具根本不可能应用这种技术,我们应该接受这一点。有人不能写出来作为答案吗? 更新(根据亚历克斯·费曼的评论来澄清问题):问题在于确定故事映射的选项。由于Jeff Patton的技术显然可以在带有胶粘物的白板上完成,因此问题集中在电子工具可能提供的其他选项上。(过早)对任何特定工具或工具类别的承诺不是这个问题的重点。

3
在结对编程时如何研究?
最近,我开始了一项新工作,结对帮助我在当地迅速取得了成功。但是,当我们必须在工作流程中进行简短的联合研究时(包括API功能,代码示例或命令选项),我很难受。我的团队负责人敦促我们在配对站上而不是在单个笔记本电脑上进行所有研究,并通过口头协商不同Web资源之间的步骤来同步我们的研究。 我的研究,阅读和吸收信息的方式与配对伴侣不同,并且我可以根据自己的意愿在下一个网页上完全跟踪研究内容,而不是试图与其他人保持准确的步调和位置,从而提高工作效率。我伴侣的阅读。我们既聪明又快速,但是当我们找出问题时,我们不禁以不同的方式和瞬时的速度前进。独自一人闲逛一分钟直到我们中的一个人说“我明白了”,然后重新聚在一起进行编码似乎要容易得多。 配对程序时,如何处理简短的研究任务?什么最适合您,如何与伴侣保持同步?

3
关系数据库和迭代开发
在许多软件开发方法中,例如敏捷方法论,领域驱动设计和面向对象的分析与设计,都鼓励我们采用一种迭代方法进行开发。 因此,我们不应该在第一次开始从事该项目时就正确完成我们的领域模型。相反,随着时间的流逝,我们重构模型,因为随着时间的流逝,我们对问题领域有了更深入的了解。 除此之外,即使我们已经尝试过建立一个完美的模型(我已经确信这很困难),需求也可能会发生变化。软件打完已经被部署到生产,最终用户可能会注意到,有一定要求的不完全了解,或者更糟的是,一些要求失踪了。 这里的要点是,在软件部署之后,我们可能最终需要更改模型。如果发生这种情况,我们就会遇到问题:生产数据库中的用户数据很重要,并且已经以旧模型的格式进行了拟合。 如果代码设计不当且系统很大,则更新代码可能是一项艰巨的任务。但这可以随着时间的推移而完成,我们拥有类似Git的工具,可以帮助我们做到这一点,而不会损坏可投入生产的版本。 另一方面,如果模型改变,类的属性消失或其他原因,则数据库也应改变。但是我们有一个问题:已经有不能丢失的数据,已经为旧模型格式化了。 关系数据库似乎是阻碍我们进行迭代开发甚至在最终用户需要时更新软件的障碍。 我已经使用的一种方法是编写一个特殊的类,该类将旧的数据库表映射到新的数据库表。因此,这些类选择旧格式的数据,将其转换为新模型使用的格式,然后保存到新表中。 这种方法似乎不是最好的方法。我在这里的问题是:是否存在任何众所周知的和推荐的方法来协调迭代开发与关系数据库?

8
在敏捷环境中,负责软件架构的人
在敏捷团队中,谁负责制定影响整个系统的高级体系结构和设计决策,而不仅是当前sprint中正在完成的工作? 也许是产品所有者,Scrum主管,Scrum团队或其他人?
19 agile  scrum 

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.