转向敏捷开发方法的最佳案例?

发布于 2024-07-07 09:29:32 字数 273 浏览 6 评论 0原文

如果您必须向一家企业提出关于采用或转向敏捷开发方法(如 SCRUM 或 XP 等)的案例,您会提出什么案例(您如何推销这个概念)?

例如

  • 您如何向非技术人员描述这些概念和好处?
  • 如果您成功做到了这一点,获胜的论点/案例/理由是什么?
  • 编辑:我问的原因是我的一个朋友(他是一家公司的解决方案架构师)目前正在尝试决定如何就这个主题与他的管理层接触,我已经给了他我所能提供的建议。 我特别想听听那些成功地提出转向敏捷方法论的人的意见。

    If you had to make a case to a business about adopting or moving to an agile development methodology (like SCRUM or XP etc) what case would you make (how do you sell the concept)?

    e.g.

  • How would you describe the concepts and benefits to a non-technical person?
  • If you have successfully done so, what was the winning argument/case/rationale?
  • Edit: The reason I ask is that a friend of mine (he is the solution architect at a firm) is currently trying to decide how to approach his management about exactly this topic, and I've given him what I can in terms of suggestions. Curious especially to hear from those who have successfully made a case to move to an agile-aligned methdology.

    如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

    扫码二维码加入Web技术交流群

    发布评论

    需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

    评论(8

    小清晰的声音 2024-07-14 09:29:32

    我的案例:该组织折腾了两年,最终失败了,然后才最终跳上了敏捷的潮流……没有更好的选择(到目前为止……个人观点)来以世界上最快的速度生产高质量的软件变化。 你不能再按照旧的方式做事了。 有些人是通过艰难的方式学习的。

    房间里的大象:仅仅因为一个想法好并不意味着它会被接受。

    逻辑论证:

    • 反馈循环很短。 客户可以在每个月/迭代结束时看到工作软件,使用它......根据口味进行完善和调整。 不再有开发商吸了一年的钱,然后带着一头喝醉的大象回来给等待马的顾客。
    • 在开发开始之前,您不需要把一切都一成不变(神圣的SRS)。 随着时间的推移,您可以改变主意以反映业务优先级/市场条件的变化。(开发人员不会发脾气)。
    • 更好的沟通:不再有“这不是我想要的!” 当无法挽救这艘船时。 开发人员与真实客户实时交谈,以澄清疑虑并验证他们是否构建了正确的产品。 客户 + 开发的责任完全在于确保通过相互交谈始终构建正确的产品。
    • 人性化流程:敏捷认识到软件是由人们为其他人开发的这一事实。这些实践促进了团队之间的互动、学习和尊重。 士气也更高。
    • 遵循 TDD、自动化测试、结对编程等实践可以带来质量更好的产品。 传统上在项目结束时花费在“错误修复和搅动”阶段的时间被最小化。
    • 易于维护。 回归测试是小菜一碟! 如果做得正确,所构建的系统可以/更容易更改/扩展。 开发人员重视简单性,而不是过度设计,这是他们的第二天性。 开发人员不害怕“进去改变它”与“我不会碰那个扭曲的东西..上次的伤疤还没有愈合。”
    • 由于开发商的支持,按时完成任务的可能性更大。 估算是根据实际团队速度而不是负责创建图表/mpp/计划的人员的直觉估算进行修改的
    • 可见进度 - 大的可见图表(燃尽图等)可以准确地告诉您正在发生的事情项目,而不必从秘密/不情愿/非常忙碌的人那里挖掘它。 问题就在你面前,不能被忽视/隐藏太久。 开发人员不必每周有一天上下文切换到“进度报告”模式来生成管理信息……很容易收集开发人员似乎不介意的指标。

    我是否突破了字符限制?:)

    My Case: The organization thrashed around for a good 2 years and failed before finally jumping onto the agile bandwagon... there is no better alternative (as of now... personal opinion) to produce quality software at the rate at which the world changes. You cannot afford to make things the old way anymore. Some learn the hard way.

    Elephant in the room: Just because an idea is good doesn't mean it will be accepted.

    Logical Arguments:

    • Feedback loop is short. Customers can see working software at the end of each month/iteration, play with it... refine and tweak to taste. No more developers sucking dough for a year and coming back with an drunken elephant for the customer waiting for a horse.
    • You don't need to set everything in stone (the holy SRS) before development gets to work. You CAN change your mind to reflect change in business priorities/market conditions as time goes on.. (developers won't throw a tantrum).
    • Better communication: No more 'This isn't what I asked for!' when nothing can be done to salvage the ship. Dev talk to real customers in real time to clarify doubts and verify that they build the right thing. The onus is squarely on customer + development to ensure that the right product is built... by talking to each other.. all the time.
    • Human process: Agile recognizes the fact that software is made by people for other people. The practices facilitate interaction, learning and respect among the team. Better morale is also observed
    • Following practices like TDD, Automated tests, Pair Programming, etc. lead to better Quality products. Time traditionally spent in the 'bug-fixing-and-churning' phase at the end of the project is minimized.
    • Ease of maintenance. Regression testing is a SNAP! The systems built are amenable/easier to change/extensions.. if done right. The developers value simplicity vs over-engineering as second nature. Developers are not afraid to 'go in there and change it' vs 'I'm not touching that twisted thing.. last time's scars haven't healed yet.'
    • More realistic chance of meeting deadlines due to developer buy-in. Estimates are revised based on actual team velocity rather than gut-estimates of the person tasked with creating the chart/mpp/plan
    • Visible Progress - Big visible charts (burndowns, etc.) tell you exactly what's happening in the project without having to mine it out of secretive/reluctant/very busy people. Issues are In-your-face and can't be ignored/hidden for long. Development doesn't have to context switch to 'progress reporting' mode for a day a week to generate information for management... Easy to gather metrics that developers don't seem to mind.

    Did I break the char limit?:)

    冷︶言冷语的世界 2024-07-14 09:29:32

    非技术人员对按时、在预算范围内完成、质量优良、并且能够满足他们在交付时的要求的项目感兴趣。 您应该关注敏捷如何帮助实现这些品质。


    有时很难向非技术人员推销敏捷,原因有二:

    • 不尝试 100% 提前计划的概念并不直观
    • 很多人声称他们使用敏捷,却惨遭失败,无法交付任何东西并给出伟大的 SDP 坏名声

    谈论敏捷流程处理变化的能力。

    如果您与已经与您合作过的客户合作,通常会更容易。 您可以轻松地向它们显示例如一段时间内积累的所有变更请求,并显示它们如何影响项目的进度和成本。 然后,您可以解释敏捷流程如何帮助处理此类案例。

    同样,您可以对“瀑布项目”进行初步估计,并将其与现实生活中的结果进行比较。


    我还会谈论敏捷的质量方法。 迭代期间的测试大大提高了质量。 带有即时反馈的简短迭代也很有帮助,请提及它们。

    Non-technical people are interested in projects done on time and within budget with good quality and which would satisfy their requirements at the time of the delivery. You should focus on how Agile helps to deliver those qualities.


    It's sometimes quite difficult to sell Agile to a non-technical person for two reasons:

    • The concept of not trying to plan 100% ahead is not really intuitive
    • Quite a lot of people claim that they use Agile, fail miserably to deliver anything and give the great SDP a bad name

    Talk about Agile process ability to handle changes.

    It's usually easier if you work with the customer who already work with you. You could easily show them for example all of the change requests accumulated over the time and show how they affected the schedule and the costs of the project. You could then go into explaining how Agile process will help handling such cases.

    Along the same line you could take the initial estimations done on a 'waterfall project' and compare them with real-life results.


    I would also talk about the Agile approach to quality. Testing during iterations increase the quality considerably. Short iterations with immediate feedback are great help too, mention them.

    ○闲身 2024-07-14 09:29:32

    卖得好的东西是:

    • 每次迭代后都可以测试、使用和发布的有形产品。 (对于喜欢看看自己的钱能买到什么的产品负责人来说是件好事)
    • 它为开发过程带来了透明度,尤其是在日常站会期间,因此减少了功能重复和混乱。
    • 每次冲刺后进行演示,可以让其他员工了解产品的发展方向是什么,开发工作后可以得到什么,并让人们讨论和思考什么可以使它变得更好。
    • 经过十几次冲刺后,可以做出合理的准确度的开发估计。 至少在对焦点因素进行一些修改之后。
    • 当开发人员拥有特定功能时,提高他们的支持度
    • 使用敏捷时的产品变更成本往往比使用瀑布方法时小得多 非常

    适合小型开发团队,但需要来自以下方面的支持开发团队。

    Things that sell it well is:

    • Tangible product after each iteration that can be tested, played with, and released. (Good for a product owner who likes to see what his/her money buys)
    • It brings transparency to the development process, especially during daily stand-ups and so cuts down on functionality duplication and confusion
    • Having a demonstration after each sprint educates fellow employees about what direction the product is heading, what is available after the development work and gets people talking and thinking about what would make it even better
    • Development estimations can be made to a reasonable accuracy after a dozen sprints. At least after a few modifications to focus factors.
    • Improves developer buy-in as they get to own a particular functionality
    • Cost of product changes when using Agile tends to be much smaller than when using a waterfall methodology

    Great for smallish development teams, but require buy-in from the development team.

    失与倦" 2024-07-14 09:29:32

    如果不具体提及旧方法的问题以及新方法将如何解决这些问题,几乎不可能引入新的方法。

    实际上,您可能需要提供一堆选择,然后最后推荐您最喜欢的。 做好准备,充分解释为什么它是您最喜欢的,并充分了解您所选择的方法的弱点。

    并确保你不会混淆你的感受的强度和你的论点的强度,并且你不会试图将个人价值选择和文化依恋冒充为客观的技术评估。 您的同事并不愚蠢 - 他们知道您是否在这样做,并且很快就会对您大加指责。

    如果你想从哲学角度理解这一点,沟通实际上并不取决于口才、修辞或表达方式,而是取决于听到信息时的情感背景。 人们只有在走向你时才能听到你的声音,而不是在你的话语追赶他们时才能听到。

    It's almost impossible to introduce a new methodology without specifically referring to problems with the old methodology and how the new methodology is going to fix those problems.

    In reality, you probably need to offer a bunch of choices, and then end with recommending your favourite. Come prepared with a good explanation of why it is your favourite, and with a really good knowledge of the weaknesses of your chosen methodology.

    And make sure that you're not confusing the strength of your feeling for the strength of your argument, and that you're not trying to pass off personal value choices and cultural attachments as objective technical evaluations. Your colleagues aren't stupid - they will know if you're doing this, and they'll quickly flip the bozo bit on you.

    If you want to get philosophical about this, communication doesn't actually depend on eloquence, rhetoric, or articulation, but on the emotional context in which the message is being heard. People can only hear you when they are moving towards you, not when your words are pursuing them.

    七色彩虹 2024-07-14 09:29:32

    根据我的经验,燃尽图是让非技术管理层立即接受 Scrum 的一件事。 有一个纸质图表——可供所有人查看并易于理解——显示每天的进展,这一想法立即成为赢家。 它很早就清楚地表明项目是否按计划进行。

    由于积压工作、冲刺、每日 Scrum 等都是使燃尽图发挥作用所必需的,因此首先推销燃尽图的想法,然后解释 Scrum 其余部分的需要,最后指出执行燃尽图是可行的。该流程试用三周,对进度的影响最小。

    In my experience, the one thing that instantly sells Scrum to non-technical management is the burndown chart. The idea that there is a paper chart - available for all to see and readily understand - that shows daily progress is an instant winner. It clearly shows very early on whether a project is on schedule.

    Since the backlog, sprints, daily scrum etc are all required to make the burndown chart work, sell the idea of the burndown chart first, then explain there is a need for the rest of Scrum and finally point out that it is viable to perform a three week trial of the process with minimum impact to the schedule.

    预谋 2024-07-14 09:29:32

    我认为企业的第一大卖点是他们决定你要做什么,所以他们会设定优先级。

    I think the number one selling point to the business is that they decide what you are going to work on, so they will be setting the priorities.

    相思碎 2024-07-14 09:29:32

    我的嘘声,一个非技术人员,通常更喜欢列出新的方法将如何提高团队的生产力。 因此,我们引入 SCRUM 作为一种管理方法,重点关注进度可见性更好的沟通方面的收益以及更快的反馈

    事实上,所有其他收益对于像我老板这样的人来说都是无形的。

    My boos, a non-technical person, usually prefer to listem about how a new methodology will improve productivity of the team. So, our aproach to introduce SCRUM, as a management methodology, focused on gains at progress visibility, better communication and sooner feedbacks.

    All the other gains, as a fact of matters, seens intangible for people like my boss.

    我纯我任性 2024-07-14 09:29:32

    从我读到和听到的来看,“敏捷”这个词似乎名声不好,而且让人害怕。 从商业角度来看,我认为归根结底是如何以更具响应性的方式提供商业价值。 敏捷是一种支持快速交付业务价值概念的方法。

    我建议您的朋友不要用技术术语来讨论它,而是用业务术语来讨论它,并声明他有一些想法可以帮助更快地向最终客户交付业务价值。

    我不建议他讨论 XP 或敏捷作为方法,而是引入简短的、以可交付成果为重点的会议(即 SCRUM),然后尝试从那里发展它。 我觉得,如果你告诉企业,你可以更快、更可预测地得到他们想要的东西,并且你兑现了这一声明,那么你就会获得对实现这一目标的做法的认可。

    From what I have read and heard the term Agile seems to get a bad rap and scares people. From a business perspective I think what it boils down to is how can I provide business value in a more responsive way. Agile is a method of supporting the concept of delivering business value quickly.

    Instead of discussing it in technical terms I would suggest your friend discuss it in business terms and state that he has some ideas that could help deliver business value to his end customers more quickly.

    I would not reccomend he discuss XP or agile as the methods but instead introduce short, deliverable focused meetings (ie SCRUM) and then attempt to grow it from there. I feel if you tell the business that you can get them what they want faster and in a more predictible fashion and you deliver on that statement you will get buy-in to the practices that get you there.

    ~没有更多了~
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文