极限编程(XP)与Peopleware中表达的思想不兼容吗?


16

我刚刚读完Peopleware(DeMarco,Lister),并在不久之前对极限编程(XP)进行了研究。正如我现在所看到的,这两种方法几乎是互斥的。

Peopleware建议使程序员免受任何干扰,并为不间断的工作设置优先级,以帮助程序员实现流程。另一方面,XP建议确保尽可能多的通信,甚至建议程序员“坐在一起”,成对编码并通常在同一房间内工作(产生大量噪音)。

是这两种相互竞争的思想流派,也许其中之一被证明是对/错,还是有有效的折衷办法?我可以看到双方提出的要点,但是看不到任何合理的妥协。

我对研究软件开发管理非常陌生,因此可能我只是误解了一些东西。欢迎所有评论。

PS作为一个附加的小问题,作为一名程序员,您会发现哪个更有生产力?


4
它们不是唯一的。结对开发者应该不间断地工作。
卢卡斯·马顿

@lukas:即使考虑到这一点,“坐在一起”呢?
Aleksandrs Ulme,2011年

Answers:


12

您错过了Peopleware的意义。该书无处建议隔离各个办公室中的程序员,而将每个办公室中的2-4人分组。

主要原因是要将程序员与与编程无关的噪音隔离开来,例如,对电话大喊大叫的销售人员,经理与秘书之间的闲聊,人员移动,电话响动,门扇拍打等产生的噪音。

极限编程与2至4个办公室完全兼容。要进行配对编程,最大为2或3。


是的,回顾一下我注意到的一句话,即程序员应该“与噪声大相径庭”,即与非程序员隔离。谢谢!
Aleksandrs Ulme,2011年

我曾在3个人的办公室里工作了大约5年,这很奢侈。如果人们一起工作,它真的很好。
quick_now 2011年

@quickly_now:您现在在露天场所工作吗?

1
我现在在一个人的办公室里工作。我曾经在3人办公室工作,在此之前是开放式办公室。(在那之前……更开放的计划……在那之前,我可以关门的办公室)。毕竟,我更喜欢一个人担任办公室。如果您无法获得那种奢侈,那么2-3个人就是好选择。不仅仅是一个巨大的猪圈。
quick_now 2011年

11

我认为这两种方法都描述了一般的工作策略,但不一定描述一天中的每个工作分钟。必须存在余额。

保持足够的距离以进行快速沟通,但是当讨论完成并且必须进行实际工作时,撤退到某个僻静的区域。

我个人觉得“坐在一起”和“产生很多噪音”一直都没有用。有时间进行讨论以讨论问题,决定下一步,等等,然后有时间进行编码,并且人们必须在安静的地方进行操作。


4

关键是短语“使程序员不受任何干扰,并为不间断的工作设定优先级”。在XP中,当每次迭代都选择“故事”是最有价值的时,优先事项就很清楚了。客户必须努力建立一套“稳定的”故事,而在迭代过程中不要过多地改变主意(这可能会发生,但这应该是特殊情况,而不是规范)。

“隔离程序员”部分最棘手。这意味着程序员应该做自己最擅长的事情:程序。为了使XP能够正常工作,程序员必须被置于仅专注于完成故事的环境中,而没有诸如会议,电话,小礼物之类的任何外部开销。这可以通过将每对程序员放在自己的办公室中来完成,也可以通过将所有程序员都放在一个作战室中来进行,除非绝对需要,否则没有其他人可以进入。


1

就个人而言,即使我正在向某人学习,也无法与某人结伴工作。也许只是某些人(即我)以更“经典”的方式(进入区域,保持沉默等)工作得更好。

也许事实是,XP大多是在Web开发商店中实施的,在这些商店中,人们戴着很多帽子,而不是在一个域中解决难题(例如优化一段代码),而是花时间寻找问题的现有解决方案,而不是理智上很努力(例如将购物车集成到页面上等)。

对于这样的事情,成对工作,大量交流等可能是有效进行的唯一方法(您不会花X个小时来发现电子邮件发送模块Joomla!/ Droopal错误,是吗? ?)


-2

是的,XP与Peopleware及其内部的良好软件开发实践完全不兼容。也许您需要在继续之前对本节进行重新整理?

http://code.scottshipp.com/2017/03/22/open-office-plans-excerpt-from-peopleware/

最下面的表8-1清楚地说明了这一点,最后一个条目是最终鱼雷。

  1. 人们经常不必要地打扰您吗?38%是76%是

在多人办公室中,实际上没有办法避免这种情况。有人的配偶单位给他们打电话,即使对方接听后走了出来,您仍然会被接听打断。有人试图礼貌,去喝咖啡,然后大声喊叫,看是否有人想要什么。

别忘了戴上耳机并调高音量的编码器,这样您仍然可以在6英尺或更远的地方听到它的声音,感到不得不用钢笔/铅笔来敲鼓并伴有一段“大调”。哦,如果您很不幸,不能让一位体育迷在IT领域工作,那么他们全都被吸引了。

“哦!你看到昨晚的比赛了吗?!!!那个电话!!!他们是瞎子吗?!!!”

好吧,你知道了。

XP的早期定义是2位程序员和1个键盘。这种方法真的只适合深入研究难以发现的错误修复程序,而不适合大规模软件开发。开放式计划和团队室概念都违反了Peopleware中的研究。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.