我是一个软件开发团队的成员,致力于一个小型项目。 我们认为,我们可以在连续工作2或3个月后发布测试版产品。哪种软件开发方法?
由于这是我们的第一次团队合作,我决定问一下,对于少数开发人员(少于10人)的小型项目,您会采用哪种软件开发方法?
我是一个软件开发团队的成员,致力于一个小型项目。 我们认为,我们可以在连续工作2或3个月后发布测试版产品。哪种软件开发方法?
由于这是我们的第一次团队合作,我决定问一下,对于少数开发人员(少于10人)的小型项目,您会采用哪种软件开发方法?
有两种软件开发方法:
两者都有其追随者,并且都以各种名义反复弹出。每一代新一代软件开发人员(即大约每两年一次,这是一个快速变化的行业,软件开发人员拥有may lif一生的寿命)拒绝上一代的方法,重新发现前一代使用的方法,将其重命名为时髦,并宣布它是一个真实的方式。
方法之间的选择应该取决于(a)客户组织的文化和(b)较小程度上的供应商组织文化(即软件开发团队)。
因此,如果您为一种按钮式保守企业方法工作1,如果你向下看,看到你正在穿冲浪短裤,今天早上在你的滑板上来上班,用方法2进行。
而且,如果你已经阅读了这个,最严重的一点就是在最后一个之前,即开始“选择......”的那一个。这是一个文化/组织问题,而不是技术问题。这两种方法已被用于许多许多成功的项目,既没有对不成功的项目进行垄断。
我喜欢这个答案。我可能应该指出,这两种方法可以在不同层面上使用:例如,您可以写下总体目标并使用(2)来达到目标。 – 2010-07-15 14:45:07
这确实取决于您打算构建的内容。如果该项目将成为你想要建立的东西,并且经常有类似Agile/Scrum的内容,那么它将非常适合。
但它确实取决于项目是如何确定的释放迭代之类等
我认为你需要从乔尔测试启动并尝试实现最该列表的: http://en.wikipedia.org/wiki/The_Joel_Test
而且产品的开发利用KISS =保持简单&愚蠢,为首次发布
也很良好的开端是获得真实的书,可以免费从37个信号: http://gettingreal.37signals.com/toc.php
我认为&符应该是一个逗号!没有人想要愚蠢的软件:p – RYFN 2010-07-15 09:14:36
这确实取决于您的客户。
如果客户能接受固定 时间,固定的资源,固定质量 (100%工作的代码),并稍微 变量的作用域,我建议选择 敏捷方法。
如果客户不能接受上述 ,即,使用敏捷方法的前提条件 不 目前,我建议选择任何 方法你喜欢。
重要的是你有一个方法论,学习什么在你走的时候工作,并使用知识来调整方法。
不要做瀑布,这从来没有工作,永远不会工作。思考瀑布是一种工作方法,就像想着把头撞在墙上一样好,因为即使是最坚固的墙也必须在某个时候崩溃。
我会采用合理的敏捷方法,比如Scrum(XP有点苛刻)。此外,介绍像TDD,DDD,DBC的东西,你应该没问题。
-1:瀑布已经工作了很多次。不,我不会为@Turing Complete提供理由而证明这个陈述是正确的。 – 2010-07-15 09:33:39
是的,瀑布在非技术性管理人员(和所谓的“顾问” - 哈哈)的象牙塔的梦想中起作用。然而,它是开发软件的最糟糕的方法,我宁愿做RAD(我讨厌)和牛仔风格的开发比...瀑布。 – 2010-07-15 09:35:12
我见过瀑布工作。如果您能够提前确定您将需要的内容,并且实施过程非常简单,那么它的运行情况相当好。其最大的弱点是它对要求的改变确实不灵活,而且它对实验开发确实非常不利。其糟糕表现的一个原因可能在于,它所不利的情况通常比它所擅长的情况更有趣。 – 2010-07-15 14:43:13
我不认为这是最好的答案,没有更好的背景和环境的想法,但我个人正在成为精益/看板方法的粉丝。总的来说,我发现很多敏捷/混乱的方法可能都是以开发人员为中心的,而且有时甚至是反管理者,这有时是合适的,但并非总是如此。精益方法倾向于解决整个价值流,而不仅仅是发展本身。
您可以阅读更多关于它:http://www.limitedwipsociety.org/
究竟你“的开发方法”这里是什么意思?这有点宽泛,尤其是不知道你打算做什么,你的团队经验如何...... – 2010-07-15 08:56:12
嗯...也许你的意思是方法论?像敏捷,tdd,bdd还是这样? – cRichter 2010-07-15 08:57:36