我已经在软件行业工作了几年了。我看到了瀑布在实践中,我看到了几个项目尝试敏捷的不同程度的成功.这让我开始思考。
敏捷创业成功的最低要求是什么?我考虑的是工具、实践、团队角色(例如,源代码管理、自动化测试、BA角色)。
我希望能够起草一份工具/实践/等等的清单,这些工具/实践对想要实现敏捷的初创企业的长期持续成功是绝对必要的。
我之所以这么问,是因为我想最终创办自己的软件公司。我大部分的经验都是在SCRUM上,所以我很自然地倾向于SCRUM,并且我已经对SCRUM团队的最低工作要求提出了自己的看法。但是,作为一个人,作为一个样本,如果我的观点有缺陷或不完整,我不会感到惊讶。
我将感激任何和所有的洞察力和经验。
谢谢
发布于 2013-07-06 16:08:43
你肯定需要源代码控制。最好是包括一个网络接口,这样你每天都可以从看人们最近签入的内容开始。
您将需要一个团队空间,您的开发人员、QA和产品所有者可以一起工作来交付产品。
您将需要一个持续的集成服务器,这样您就可以不断地针对您的软件运行测试。
您将需要某种类型的自动化框架,使您可以轻松地编写自动验收测试。它不必花哨,可以构建在各种*单元框架之上,但您需要一些东西。
你需要一个团队维基。许多源代码管理系统都附带了一个。您需要一种快速简便的方法来创建内部文档。
你需要一个问题追踪器。许多源代码管理系统也提供了其中的一个。你需要一个追踪缺陷的方法。你可以在白板上使用便签,如果你擅长将你的bug计数降到最低。考虑选择一个集成的wiki、问题跟踪器和源代码控制系统。
你需要白板和便条。在这方面有很多种观点,但在我的经验中,没有什么比实物板和故事卡更有效了。当然,你可以使用一个电子故事板,最终它可以归结为什么对你的团队最有效。
你应该从遵循所有的scrum仪式开始。这并不是说他们是最好的,但在你能跑之前,你需要走路。从两周的短跑开始,每天做你的停顿,每两周做一次回顾和演示。对此要持虔诚的态度,直到你能决定什么对你的团队有效,什么对你不起作用。
您必须从第一天开始构建您的软件,以便在一个步骤中构建,并且能够自动部署。您不希望您的开发团队在任何时候都要花费时间手工构建或安装软件。这些特性几乎不可能在事实之后添加,它需要从第一天起就成为文化的一部分。
你需要一个产品负责人。这个人跨越客户和开发团队之间的界限。他们应该具备足够的技术能力,能够与开发团队进行有意义的对话,但他们也需要了解产品空间,并能够与客户进行明智的交谈。
你需要开发人员。理想情况下,这些产品将100%用于产品的创建。开发人员也不应该是产品所有者、scrum大师或经理。
您需要QA开发人员。这些人是顾客的代言人。他们负责指导团队开发高质量的软件。他们不仅仅是测试人员,他们还与团队一起工作,以了解正在开发什么,并帮助团队构建可测试的软件。理想情况下,这些人是热衷于测试的软件开发人员,因为大部分角色应该包括编写自动化测试和维护测试框架。
或者,最好有一个专门的scrum大师。他们的工作是专注于团队的生产力,而不是正在构建的产品。有一个人在这个角色,将有助于团队走到一起,并在他们的巅峰工作。
最重要的是,您需要建立一种文化,以了解软件开发完全取决于客户。没有人会购买你的软件,因为他们想使用你的软件,除非你正在创建一个游戏。相反,他们使用您的软件来完成其他任务。您的工作是交付软件,使完成这些任务更容易。
你需要培养一种沟通文化,在这种文化中,软件质量是第一位的。这意味着在进入下一个故事之前,每个故事都要经过充分的测试。你要在最后一次冲刺中测试一些东西的想法,对于团队中的每一个人来说都是不可接受的。
最后,你需要一种重视每周工作40小时的文化。尽管一种能干的态度很重要,而且人们必须愿意卷起袖子,偶尔加班,但这些额外的时间必须是例外,而不是常规。软件开发在很大程度上是一项创造性的任务,当您过度工作时,您就不能具有创造性。快乐的团队成员是富有成效的团队成员。
发布于 2013-07-06 22:17:19
虽然我不会反对@BryanOakley已经提出的任何建议,但我想指出的是,最终这些工具并不重要。重要的是你在这个项目上工作的人。
团队的每一位成员首先都需要成为一名优秀的沟通者。他们需要能够与客户交谈--以及彼此之间--为了理解该做什么,让其他人理解正在做的事情。如果有沟通,你就有80%的方式是敏捷的。
另一个20%是,每个队员需要能够捡起任何球落在他们面前,并与它一起跑。如果有人有“停机时间”,他们应该自动寻找如何帮助其他成员。
Alistair将敏捷软件开发称为“合作游戏”是有原因的--它是关于人们为了实现伟大的目标而合作。“过程和工具上的个人和交互”是敏捷开发的首要价值。
发布于 2013-07-06 16:20:17
我认为没有明确的答案,但以下是一些想法:
https://softwareengineering.stackexchange.com/questions/203930
复制相似问题