Answers:
哦,这很容易:
StackOverflow,programmers.stackexchange.com等:)
政治
例如:当一个人拥有多个需求(或更糟的是,两个不同的既得利益者)拥有,并且他们在开发过程中对需求进行竞争和冲突的更改时。
许多答案都涉及到上下文切换和离开该区域的问题,而噪音,尤其是谈话,是导致我感到沮丧的事情之一。
在我的魔方世界中,我到处都是喧闹和谈话。排成一排的大型机团队在多维数据集行中举行不间断的计划会议。有时,他们会在隔离墙的办公室与顾问会面,这往往会引起喧闹,嘶哑和大笑,我不得不走过去,要求他们关门。
另一方面,Web团队会议桌在我的西方墙的另一侧,所以无论是否喜欢,我都是每次会议的一部分。在南立面墙的另一侧还有一台打印机,这对于那些闲逛等待打印输出的人总是很有趣。
当您想要的是安静时,“ 您不能只买降噪耳机” 这个直接而明显的答案无济于事。
有时,为了进行代码审查,我将一叠文件带到午餐室(当然是在非午餐时间),但是那里通常有一台电视机。如果没人在看,我将其关闭。否则,我将在建筑物另一部分的另一个部门中找到一个空立方体。
如果您希望程序员完成他们需要做的工作(主要是思考,思考和考虑),那么他们需要一个可以做到的环境。
在没有适当测试的情况下编写了太多行代码。
修复别人的损坏的版本
如果您事先知道任何变更请求,本来会更容易实现。
好吧,最近最大的减速是因为我们正在同时开发一些应按特定顺序完成的事情。因此,我一直等到(为了保护无辜者而改名)John完成了我的SSIS程序包所需的组件,而Harry放慢了等待我导入记录的速度,因为他需要一些数据来测试出口(请尝试在任何表中都没有数据的情况下编写复杂的导出报告?),并且由于设计还没有完成,并且尚未完成需要执行任务的数据库表,甚至还没有结束,每个人都被放慢了速度就像他们所说的那样,等等。
即使您要求不要列出干扰因素,它们也可能是一个很大的因素。查看他们的工作环境,检查他们是否经常被打扰或被要求做其他与项目无关的事情。
有时,开发人员可能会因为他们正在做以前从未做过的事情,并且不知道在哪里寻求帮助而陷入困境。如果是小型团队或个人,则可能会更加困难。当我们不知道如何做事情时,我们往往会感到骄傲和不愿意承认。此外,我们不喜欢向他人寻求帮助。要让开发人员承认这一点,没有简单的方法,除非询问他们是否可以在截止日期之前完成,或者要求他们在截止日期之前完成什么,然后希望他们会诚实。您可能需要主动提出其他帮助,或者找到可以帮助他们的人。
缺乏明确定义的需求,这导致他们不得不弄清楚事情或做出决定。
我可以继续,但是今天是星期五,我想忘记工作。
这是一个非常个人化的观点,也许是有争议的观点,但是始终要对计划进行过多的计划和思考,或者始终编写“质量”代码。有人说“数周的编码可以节省您数小时的计划”,在某些情况下可能是正确的。
但是,我经常看到程序员在开始编码之前试图勾勒出一个好的设计。我发现自己“上手”会更容易,因为在编写程序时,您将学习有关问题和解决方案的更多信息,这将使您能够快速将解决方案重构为一个好的设计。出现的大多数问题在编码开始时几乎是不为所知的(据我所知),因此浪费大量时间进行前期设计只是浪费时间。
这也是为什么我不喜欢TDD的原因,您浪费了太多时间编写测试,这使您不太可能进行重构,或者花费大量时间来重写测试。单元测试在某些情况下和项目的某些阶段都非常有用,但是一个项目的开始并不是其中之一:恕我直言:)
快速获取并改进它。