我正在寻找的信息,文章,网站,或者有什么好处意见和双方的弱点:结对编程和独奏开发商
- 结对编程
- 独奏节目(单个开发者)
为什么我们使用极限编程等敏捷方法?
对我来说最重要的问题:
什么是使用传统软件开发的难度?
我正在寻找的信息,文章,网站,或者有什么好处意见和双方的弱点:结对编程和独奏开发商
为什么我们使用极限编程等敏捷方法?
对我来说最重要的问题:
什么是使用传统软件开发的难度?
这是一个非常直白的话题,所以你可以通过谷歌搜索找到成千上万的资源。但是我发布了维基百科链接,其中包含足够的信息+大量链接到其他文章。
我的看法: 如你所知,这一切都取决于。我已经完成了很多工作,可以说当编程团队需要用复杂的业务逻辑来解决问题时,编程编程是最有效的。
结对编程
1.1你是不是浪费时间坐在Hacker News上或任何东西。这是不可能的。
1.2你在分享你学到的东西。
1.3当两个人写作时,代码变得更好。因为你坐在潜在的评论家旁边,所以更简洁易读。
1.4不需要代码审查。
1.5你从与别人坐在一起明智地和团队合作地学到很多知识。
单独编程
2.1您决定如何去做。
2.2还有更多的尝试/失败的方法可能是教育。
2.3如果我们谈论一个简单的任务,单独工作可以更有效率。
2.4你有一种拥有代码的感觉,所有与此相关的好坏。
至于网站: 它有大量的那里。我建议在parleys.com上阅读或阅读Kent Becks博客。
如果我能为1.1,我会给+10。我和同伴在最近两天的表现非常好。他今天休假了(今天加上今天是星期五),我在这里徘徊。 – Amarghosh 2010-08-06 08:32:52
配对编程名义上减半你的生产力(你有两个人做1的工作),但支持者声称,好处(更好的质量,即时的反馈)超过这个。
一个单个开发者谁是非常称职的可以是非常,非常有成效的,因为没有沟通和协调开销或废物,但仍,项目单一的开发者可以切实解决的范围是非常有限的。如果开发人员的能力不足,那么缺乏寻求帮助的人(或者仅仅是反馈和想法)也可能成为一个问题。
为什么我们使用敏捷方法如 极限编程?
因为它们在处理不明确或不断变化的需求时比顺序处理好得多。
使用传统软件开发有什么困难?
他们遭受太长的反馈周期,尤其是在需求方面。在最糟糕的情况下,当您首次向客户展示您的软件时,您的软件已经完整并经过测试,发现几个基本假设是错误的,并且您误解了核心需求,基本上可以从头开始,浪费您的全部工作。另外,一些传统的“重量级”流程要求您花费大量时间在非生产性的东西上,比如即将废弃的设计文档和流程文档。
好点,但我不确定配对编程是否真的让您的资源减半。我倾向于认为与另一个人工作时间较短,所以它可能看起来更像是60-70%的生产力。 – UpTheCreek 2010-08-05 08:43:26
只有50%的生产力是无稽之谈。人们编程的案例研究表明,他们在80%的时间内仍然不动(即只是在思考)。当你有两个脑袋并行思考时,这不是100%的开销。有一些开销,但据我记忆,这更多的是15%的火花。 – hlovdal 2011-06-13 03:04:46
在威廉姆斯/凯斯勒配对程序员引用的研究中,大约有一半的时间以独奏程序员的身份完成,错误数量显着减少。 如果不是单独编程(脑锁,容忍延迟,分心,中断,盲目小巷,难以发现的小错误,过度建筑等)的问题,50%的东西就是对的。 IME,它付出更多的时间往往不是。即使你在给定的时间内可能没有更快/更好/更酷,它仍然是长时间(天/星期)的净胜。你赢得的赌注比你输的多得多,损失更少。 – 2012-12-12 23:07:10
对于使绝对泛型语句支持任何开发方法,我有点困难。我已经看到了很多不同的方法,它们的价值通常取决于它们是否适合需求以及是否达到预期结果。
例如,您可以说敏捷方法的一个原则是所有参与者之间的沟通水平提高。另一方面,你可以找到具有非常传统方法的团队,揭露实质性的沟通。那么这是支持敏捷还是传统?
我从未见过一个团队正在使用直接从教科书中获得的开发方法“普通香草”。所有成功的团队(您选择的“成功”)都在一定程度上适应了他们选择的开发方法。
底线:我不认为其中一种或另一种方法“更好”。这取决于你在做什么。或者用简单的话来说:你可以拥有世界上最好的锤子,但为了将螺丝钉拧到一块木头上,螺丝刀可能是更好的工具。
此问题是无题,因为它不在本网站适合的问题范围内,如[我可以在这里询问什么主题?](http://stackoverflow.com/help/on-topic )另请参阅:[我应避免询问哪些类型的问题?](http://stackoverflow.com/help/dont-ask)您可能能够在[另一个Stack Exchange站点](http:// stackexchange.com/sites#name),例如[pm.se]或[softwareengineering.se]。 – Makyen 2017-08-18 23:32:12