我可以使用敏捷开发方法单独开发我的应用程序吗?

发布于 2024-11-02 07:31:57 字数 1431 浏览 2 评论 0原文

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

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

发布评论

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

评论(5

开始看清了 2024-11-09 07:31:57

虽然前面所有的答案都是正确的,因为你当然可以在一个人的团队中使用敏捷技术(在合理范围内,正如 Oded 指出的那样,自己进行站立或回顾没有什么价值),但我会质疑每种方法的价值实践你所采用的。

  • 构建有没有意义,也许,持续集成怎么样——浪费时间,你还有更大的鱼要煎。
  • 经常发布可能是一个好主意。
  • 您是否需要积压工作,这完全取决于谁定义了您的需求以及您正在构建的软件有多大。
  • 你需要迭代吗——甚至敏捷社区的人也开始质疑它们的价值。

这个软件是一直由你维护,还是交给你?如果你要交给它一个好的测试套件是有礼貌的事情,但如果它永远是你,那就不要费心做任何大规模的事情,只测试你不确定的部分。我当然不会为 TDD 烦恼,周围没有人会对你的测试第一印象深刻,除非你是专家,否则它会减慢你的速度。

总而言之,当谈到自己开发软件时,我认为您需要密切关注奖励,即在合理的时间内交付一个可运行的系统。只要您牢记这一点,无论您最终使用什么流程都没有关系,除了您自己之外,没有人会被奇怪的做法绊倒。

While all the previous answers are correct in that you certainly can use agile techniques while being a one-man team (within reason, as Oded pointed out there is little value in having standups or retrospectives by yourself), I would question the value of each practice that you adopt.

  • Is there a point in having a build, perhaps, what about continuous integration - a waste of time, you have bigger fish to fry.
  • Releasing often is probably a good idea.
  • Do you need a backlog, it all depends on who defines your requirements and how big the piece of software you're building is in the first place.
  • Do you need iterations - even people in the agile community have started to question their value.

Is this piece of software always going to be maintained by you, or will you hand it over? If you're gonna hand it over a good test suite is the courteous thing to do, but if it will always be you, don't bother with anything massive only test the bits you're unsure about. I certainly wouldn't bother with TDD, there is no-one around to be impressed with how test-first you are and unless you're an expert it will slow you down.

End of the day, when it comes to developing software by yourself, I think you need to keep an eye firmly on the prize, which is to deliver a working system in a reasonable amount of time. As long as you keep that in mind it doesn't matter what process you end up using, there is no-one there to be tripped up by weird practices except yourself.

风情万种。 2024-11-09 07:31:57

是的,你可以。

制定任务,分解它们,评估它们,确定它们的优先级,并在短时间内完成它们。

如果您愿意,您也可以与自己进行站立会议;)

Yes, you can.

Have tasks, break them down, estimate them and prioritize them and work on them in short iterations.

You can also have a stand ups with yourself if you choose to ;)

陪你搞怪i 2024-11-09 07:31:57

是的,你可以!

  • 经常发布
  • 保持受管理的待办事项
  • TDD
  • 每次迭代都展示新的东西
  • 有一个持续集成循环

Yes you can!

  • Release often
  • Keep a managed backlog
  • TDD
  • Demonstrate something new working every iteration
  • Have a continuous integration loop
深爱成瘾 2024-11-09 07:31:57

大多数敏捷方法都以反馈循环为中心。你越频繁地返回来检查和调整你正在做的事情,你就越敏捷。

  • 经常构建:如果可以的话,每次提交都编写自动化测试以在构建时运行,越早知道某些东西出了问题就越好。
  • 使用短迭代:重点不是在迭代结束时拥有可用的软件(您将尽力不破坏它)。迭代背后的重点是检查和适应。致力于某件事(错误修复、新功能等),实施它,然后回顾你做对的事情,做错的事情,并出于改进的目的而改变一些事情。
  • 保持积压工作新鲜:没有什么比陈旧的积压工作更糟糕的了,如果可以的话,请保持最新的反馈和想法。将各个待办事项项留得很大,直到您准备好在迭代中提交它们,然后将它们分解成块。这些块应该足够小,以便您可以看到迭代中每天取得的进展。
  • 保持简单。与一个人一起实施敏捷确实很简单,但很容易陷入为大型团队设计的解决方案中。估算可能会被视为开销,只需致力于您认为可以在合理时间内完成的事情即可。

Most Agile methodologies center around feedback loops. The more often you loop back in to inspect and adapt what you're doing the more Agile you're being.

  • Build often: Every commit if you can, write automated tests to run upon build too, the sooner you know that something is broke the better.
  • Use short iterations: The point isn't to have working software at the end of the iteration (you'll be trying to not to break it period). The point behind an iteration is to inspect and adapt. Commit yourself to something (bug fix, new feature, etc), implement it and then look back at what you did right, what you did wrong and change something with the intention to improve.
  • Keep the backlog fresh: Nothing is worse than a stale backlog, keep it up to date with new feedback and ideas if you can. Leave the individual backlog items big until you're ready to commit to them in an iteration then break them down into chunks. Those chunks should be small enough for you to see daily progress being made in the iteration.
  • Keep it simple. Being Agile with one person is really simple but it's easy to get caught up in solution that are designed for larger teams. Estimating might be considered overhead, just commit to what you think you can get done in a reasonable amount of time.
情绪 2024-11-09 07:31:57

敏捷意味着出色的响应能力和敏捷性适应变化,在这里我将“变化”视为对通常的软件开发方式的改变——你一个人而不是一个团队。您为什么不使用 G-71 软件方法论来响应它,这样您就可以遵循敏捷软件方法论:)

Agile means excellent responsiveness & adaptation to change, here I see the "change" as a change from the usual way software is developed - you alone instead of a team. Why don't you respond to it by using the G-71 Software Methodology, that way you follow the Agile Software methodology :)

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