Questions tagged «agile»

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

9
项目经理在Scrum中有用吗?
Scrum中定义了三个角色:团队,产品负责人和Scrum主管。没有项目经理,而是项目经理的工作分散在这三个角色中。 例如: Scrum Master:负责该过程。消除障碍。 产品负责人:管理并确定要完成的工作清单的优先级,以最大程度地提高ROI。代表所有相关方(客户,利益相关方)。 团队:通过估计并在彼此之间分配工作来自我管理。负责履行自己的承诺。 因此,在Scrum中,不再只有一个人负责项目的成功。没有适当的命令和控制结构。这似乎使很多人感到困惑,特别是那些不习惯使用敏捷方法的人,当然还有PM。 我对这以及您的经历非常感兴趣,因为我认为这是可以成败Scrum实现的事情之一。 您是否同意Scrum不需要项目经理?您认为仍然需要这样的角色吗?为什么?

12
是什么使敏捷软件开发如此吸引人?
如今,敏捷软件开发已成为一个非常有趣的流行词。 作为开发人员,我了解迭代开发的实用价值,但是(通常),并不是开发人员选择采用敏捷方法进行软件开发的选择。这是自上而下的管理选择!无论是水晶,敏捷方法,dsdm,rup,xp,scrum,fdd,tdd,您都可以命名。这不是开发人员的选择。 对于所有在那里的经理来说,当大多数经理甚至没有接触过一段代码时(根据我的经验),选择进行敏捷开发的最大原因是什么!

4
如何采用敏捷方法开发固件/嵌入式系统软件?
我一直想知道如何在大型复杂的嵌入式系统软件(超过100位工程师)中应用敏捷方法。固件开发具有一些独特的特性,这些特性使敏捷开发变得困难(例如,直到开发周期的后期才提供硬件;一旦产品发布,就无法轻松更新固件;等等。) 这种开发的规范是详尽的文档和艰苦的同行评审。您无法获得简单的代码修复,例如重命名没有2-3个签名的变量。(我有点夸张,但这很典型。此外,很多人确实选择捷径,而项目经理甚至批准了捷径,尤其是在面临严格的市场期限的情况下。) 我想听听有关在固件开发项目中采用敏捷方法的任何技巧或指导。

4
开发人员向产品所有者提出功能建议是正常的吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 5年前关闭。 我最近刚开始担任开发人员,之前曾担任系统管理员。 我对使用敏捷功能的软件开发团队的理解是,“我们需要实现什么”沟通主要发生在从产品所有者到开发人员的一个方向上。开发人员可以向产品所有者表达对技术债务的担忧,但是提出功能构想不应该是他们的主要职责之一。 我工作的公司有不同的看法。对于他们来说,开发人员不仅应该向自己团队的产品所有者提出建议,还应该向其他团队的产品所有者提出建议,如果他们认为他们可以为该团队的产品做出贡献。我们的想法是我们都是一个大团队<company name>,所有开发人员都应利用他们的专业知识来推广他们认为有用的功能。 缺少更好的词,这样的方法是否“正常”?我是不是太被动了,我应该采取主动并开始将想法推向产品所有者吗?相反,公司是否完全错了,我应该在其他地方找工作吗?

6
与“主要”功能待办事项并行的“一口大小”任务的待办事项?
在高度孤立的“孤狼”开发部门结构中工作了两年多之后,我们采用了敏捷SCRUM。大。我喜欢敏捷;作为一名开发人员,它可以让您专注,忙碌和高效,而无数个利益相关者将项目逐个推销,而他们的期望已于昨天完成。 但是,与我们当前的“模型”相比,转向SCRUM有一个方面,我认为Development以外的人不会丝毫喜欢。这就是他们目前的能力,可以让我们在“等待时”进行一些小的更改。我们开发的很大一部分仅用于内部消费,而且我们几乎都位于同一栋大楼中。因此,多年来,部门负责人或其他部门的经理来找特定应用程序的“代码库所有者”并索要一些小东西(有时不是那么小,但是我们很乐意不承担这三点,周项目基于这些“偷渡者”)。甚至我们的老板有时也会以此方式转达给他的事情。很多时候,如果我们当时正在使用有问题的代码库,我们可以简单地弹出源文件, 使用基本的敏捷SCRUM方法,这些调整将被记录为缺陷(我们不满足先前使用的故事中指定的要求)或新的小故事(我们满足所有陈述的要求,但这些要求不完整,模糊或不正确) ,或者在用户看到新功能后在交付后进行了更改)。无论哪种方式,绝大多数将是一个三分球最多如果不是零和相对较低的优先级(该系统是在其当前状态下使用,但它是如此酷多了,如果......),这使得它们不太可能自上而下地处理积压工作时进入冲刺。 在开发人员会议上提出的这种可能性是其他部门积极反对我们的敏捷过程的根源,他们认为这比我们当前根据要求进行细微调整的能力“敏捷”程度要小。IMO是一个有效的关注点。采购订单背后的利益相关者并不总是就最重要的事情达成共识,因为他们的观点并不完全相同,但是通常只有管理者才能做出最终决定,因此他们的偏见是显示在产品积压中。 然后提出了一个解决方案,该解决方案暂时称为“糖果罐”(另一个抛出的术语是“肉汁船”)。各个部门的“小家伙”要求进行的细微调整(不是现有故事中的缺陷),通过团队内部的共识或鼓掌估计,这些细微调整需要不到开发人员一天的一半,而最终用户认为,对用户体验的即时,重要,积极的影响将与主要待办事项并行列出。它们将被识别为“故事”,但将与“大”故事的主要待办事项隔离开来,但要优先考虑。如果在sprint正常进行期间的任何时间,我们碰巧在系统区域中可以进行这些调整之一的工作,使微调变得微不足道,我们可以将微调带入sprint并在更大的故事中对其进行编码。这样做不得危害更大故事的完成或任何其他承诺的工作。PO也可以访问此列表,如果他们正在处理即将到来的用户故事,涉及涉及该调整的基本功能,则可以将其作为故事的要求折叠起来,然后我们将满足该要求。其他。人们认为,这将使调整的生效时间提早。 这在ScrumMaster培训“ uh-uh”中触发了我们当中的反应。有一个积压。两次积压引入了以下问题:哪个#1项实际上是最重要的,哪个列表的项决定了真实的速度,以及一个故事实际所属的两个积压中的哪个(大小/复杂性的任何划分都会使某些情况相对下降任意一侧或另一侧)。我们说:“让这个过程起作用”;如果更改对最终用户确实很重要,那么他们将发出足够的声音让部门负责人做出时间/金钱的决定,并且将被积压在开发团队的意识中。 我以为我要提一个问题:您认为,平行列出的“一口大小”的故事是否对使小而有用的,但最终是低优先级的更改更快地做出有价值的决定,或者总体而言是一个更好的决定?将它们折叠成主要待办事项,并让基本过程控制它们是否包含在冲刺中?

3
敏捷是RAD的变体吗?
维基百科说敏捷是一种“ RAD”,我猜是不正确的。据我所知,敏捷开发是因为RAD本身在90年代并没有那么成功(对于变更而言过于僵化)。还是我错了? (注:显然在Wikipedia上,有关敏捷软件开发的文章有所改进,只是将RAD列为敏捷的前身,而不是超集)。 本书来自Radical Project Management(Thomsett) “ ..新的开发风尚,例如RAD,敏捷,面向对象...” CISA认证信息系统审核员: ..意识到两个替代软件的开发。方法:敏捷和快速的应用程序开发 软件的敏捷管理: 敏捷方法主要源自RAD的轻量级方法。 软件评估最佳做法: SW的主要方法。开发。可以概括如下: 1.瀑布.. 4. RAD 5.敏捷 这个问题的重点是: 是RAD的敏捷类型还是独立的开发方法?


10
在什么时候为了更多的钱而放弃一些软件开发原则?
我想把这个问题扔出去,有趣地看看介质在哪里。 我要承认,在过去的12个月中,我获得了TDD和软件开发中的许多敏捷价值。我对软件开发的进步感到不知所措,以至于我永远都不会放弃它们。直到...我被任命为承包人,这使我当年的实得工资翻了一番。 我加入的公司没有遵循任何特定的方法,团队还没有听说过代码气味,SOLID等问题,而且如果团队从未做到过,我当然也不会浪费时间进行TDD在实践中看到了单元测试。我卖完了吗?不,不是完全...代码将始终被“干净地”编写(按照Bob叔叔的教)),并且SOLID的原理将始终应用于需要的我编写的代码。尽管对我来说测试已经放弃了,但坦率地说,公司无法承担如此未知的任务,即使我确实创建了测试框架,他们也永远不会正确使用/维护测试框架。 以此为例,您会说开发人员出于金钱/个人其他利益而绝不放弃其工艺原则的观点?我了解这可能是一种非常个人的看法,即人们对自己的需求,业务需求以及工艺等方面的关注程度。但是,可以考虑,例如,如果公司决定宁愿进行测试,则可以放弃测试。测试团队,而不是理解编程中的单元测试,那会不会像我那样原谅自己?因此,考虑到您会丢掉一些东西,通常业务中应该有相等的成本来弥补您丢掉的东西-希望如此,除非您当然愿意掏腰包而不是依靠社区/社会合作; )。 加倍您的钱,回到RAD?或继续前进,寻找正在做敏捷的人,再也不回头...

5
如何将敏捷引入使用刚性非敏捷方法的团队?
考虑一家通过非敏捷方法认证的公司,并以此为卖点向客户证明自己的责任。 您如何在不破坏整个系统的情况下逐步引入看板或Scrum并仍然使他们确信它仍然可以同样负责/可审计? 我知道这可能与“ 您将如何引入像Scrum这样的敏捷方法论 ”有关,但是在这里,我想知道如何规避/解决该公司以某种虚假借口强加某种方式管理SDLC的事实。进行审核的唯一途径。

7
长期规划和敏捷?
我的团队最近完成了为我们的工作制定近一年计划的过程。我们将该计划分为三个阶段。每个阶段将包括几次启动。 从您的敏捷角度来看,我想知道这是错误的吗?我认为这不是一个坏主意,因为除了前几个步骤,我们没有花太多时间来设计任何东西。我们有可能改变方向。同时,很高兴我们不要在短期内采取行动。

6
在冲刺中计划扑克的目的是什么?
我们的业务分析师和项目负责人告诉我们客户的故事要求。在每个Sprint计划中,我们(开发人员)都被要求玩计划扑克。 他们要求我们所有人考虑“复杂性”而不是“努力”。我们真的很困惑,我们在浪费时间开会。一位开发人员提出了一个问题:“我们真正要考虑什么?是关于我们在此需求(时间估计)中必须进行的代码/ DDL更改,还是关于我们是否已理解该需求? 但是,他们(业务分析师和项目负责人)真正的含义是“了解需求”并“举起名片”? 另外,我们为各个Scrum团队举行切片会议,每个开发人员都为每个Scrum团队估计完成给定任务的时间。那么,他们在计划扑克中真正谈论的是什么呢? 谁能用一个例子解释一下?当他们说“复杂性”和“努力”时,尝试区分他们真正在谈论什么。
15 agile  scrum  planning 

5
一些团队成员没有积极参与Sprint计划
一些团队成员只是等到讨论他们最有可能从事的故事,然后才参与。否则,他们只会玩手机而不听。 我从某种程度上理解了这个立场。为什么要听有关您不太可能在Sprint中帮助开发的功能的讨论? 您认为我们应该怎么做?
15 agile  scrum 

6
为什么极限编程(XP)已过时而支持敏捷,看板等?
我喜欢XP(极限编程),尤其是在同一屏幕上有2个程序员的部分,因为通常只有您解释自己在做什么,而结对编程会迫使您解释自己在做什么,这样才能更快地找到问题的解决方案在做。 在过去的10年左右的时间里,XP的工作方式似乎已经过时,倾向于使用工作方法:敏捷和/或看板。为什么?因为XP在我看来是一种很好的工作方式,并且与编程有关,而敏捷和看板则与过程有关。

6
使用敏捷方法时如何获得良好的设计?
我已经使用敏捷方法(SCRUM)大约三年了,我看到了它的某些优势,特别是在许多级别的短期反馈中(来自能够早期访问已实现功能的客户,来自可以测试功能的测试人员)。实施后,其他开发人员可以通过审查等方式就新代码提供非常早期的反馈)。 另一方面,我有两个悬而未决的问题,第一个我将尝试在这个问题中进行解释。 问题:难以获得良好的设计 我试图在代码混乱时立即进行重构,我会尽力编写单元测试(这确实有助于防止错误,尤其是重构时)。另一方面,以小增量开发一些复杂的功能,每天提交并在非结构化代码时不断重新思考代码,这使我无法产生出真正好的设计。 我最近采用的另一种方法可以生产出唯一经过精心设计的模块,方法是采用不同的方法:我分析了几天的问题(实际上,在我开始认真研究该问题之前,我已经将这个问题花了几个月的时间) ),为所有涉及的类及其之间的关系草拟了相当详细的设计,持续了两天,然后将自己锁在办公室,并通过不间断地工作了大约三周时间写下了整个代码。结果是我一段时间以来取得的最好的结果,很少有易于定位和修复的错误,并且设计非常清晰,自此以后就不需要进行任何相关更改。 因此,到目前为止,我发现预先了解要执行的操作的总体效果比开始以小增量编写代码要有效得多,以期在此过程中神奇地出现大效果。尽我最大的努力,小增量开发方法一直使我的设计变糟。 问题:有没有类似的经历?我是否以错误的方式应用SCRUM,或者如果我想以较小的增量进行开发并且最终仍然使用精心设计的软件,应该注意什么?还是应该在开始实际编码之前安排设计用户故事?至少对于比平均水平更复杂的功能,这是否被视为一种好的做法? 编辑-注意 我知道这样一个事实,即好的设计不是绝对的东西,本身没有价值,而是取决于上下文,因此,人们应该针对一种足以解决当前问题的设计。 例如,如果我必须实现一个简单的组件,即(1)必须尽快准备就绪,(2)仅使用一次,(3)不用,那么我不会在乎(过分)好的设计。由系统的其他部分(YAGNI)使用。 当组件(1)会被多次使用并且会在产品的几种不同版本中使用时,我确实会在乎良好的设计;(2)需要维护并随着时间的流逝而扩展;(3)取决于它,还有很多其他组件。
15 design  agile 

4
开发人员可以期望多少有关用户故事的细节?
我所体验到的敏捷开发的最大缺点是,不参与开发的人们专注于这样的口头禅:用户故事(3-10个理想人日)不应包含超过1-3个句子,例如: 作为客户,我可以使用自由文本搜索,以便找到所需的产品。 给出这句话,项目经理希望我作为开发人员致力于估算并开发故事。他们认为敏捷开发意味着他们必须提供给开发人员的此类语句。 我不会责怪他们,因为关于敏捷开发的著名文献给人以这样的印象,即它实际上是可行的。在“ Planning XP”中,每个故事我都用自然语言阅读了大约2页,但这就是事实。因为“工作软件”比“综合文档”更受青睐,所以似乎通常避免使用此主题。 当然,现实是,如果开发人员有机会这样做,则与客户的访谈会提出一长串客户对故事的要求清单: 我们需要布尔运算符,例如AND和OR。 我们需要所有的模糊搜索。 我们需要按单词和短语进行搜索。 我们不想找到符合标准X,Y和Z的产品。 我们要对结果进行排序。哦,顺便说一句,用户可以在带有选项a,b和c的组合框中选择排序标准。 所以您看到我不是在谈论技术细节,软件设计甚至实施细节。这是纯粹的要求。我们交谈的时间越长,客户就越能意识到他们想要的东西很多。 但是,我经常发现自己处于这种情况,即没有提供此类信息或以次充好方式。我既不可能进行面试,也没有可能进行面试的人为我提供面试的结果。 有时,经理甚至会提出“我们希望进行Lucene搜索”之类的技术细节,但他们不想考虑是否只想查找产品名称或产品描述。有时我认为他们只是懒惰;) 对我来说,这是我工作的项目中的头号问题(电子商务Web应用程序,每个项目500-2000人日)。我已经足够频繁地解决了这个问题,并且经理们意识到大多数开发人员对此情况都有疑问。但是他们认为开发人员实在是太“完美主义者”了。他们似乎对开发人员“总是希望指定所有内容”感到恼火。 由于缺乏公认的数字,因此很难争论。每个人都知道迭代应该持续多长时间。但是没有人能说出估计和发展一个故事需要多少需求。 你有参考吗?

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.