像这里的许多人一样,我是一个单人开发团队。我负责收集项目需求,设计概念屏幕,规划和开发数据库以及编写所有代码。
作为一个单人团队很好,但有负面影响。我没有能力快速咨询其他开发人员,我很少得到我的代码的第二眼,我相信你们也可以提出许多其他负面因素。
为了充分利用我的时间,并最有效地投入到我的工作中,我可以在日常工作中实施哪些提示或做法,以成为最好的单人团队?
答案 0 :(得分:41)
我将要做的每日清单。
尽可能多地分散注意力以分散任务。关掉 电子邮件,关闭IM等...即使 一段时间然后 在休息期间检查它们。
花时间了解其他编码技巧,工具和编程智慧。我发现这对我的发展至关重要。只需编写代码就可以轻松实现高效工作。如果你只是拥有更多的知识/武器来敲打下一个小部件,那该怎么办?我知道这个听起来很有效,但实际上并非如此。知识/知道我们的真实货币。我们知道的越多,我们就可以更好地决定应该如何完成某些事情并更快地做到。
休息一下,注意你的意思 身体。当我们累了,我们没有 想想也会做得更多 错误,变得更加沮丧 容易等...
了解如何使用80/20规则 优点。我不是说吝啬或是 懒。虽然我们会工作我们的 当它没有时,它会减少20% 必要的。
为自己设定目标(每日, 每周,每两周一次)。确保 目标也与你一致 是编码或你可能找到你 浪费了一些时间。
从技术方面考虑:
答案 1 :(得分:11)
我正在学习比以往更多的时间来计划我的一天。这包括规划项目,编写psuedo代码以进行我需要做的编程。我发现,由于我的日程安排中的所有中断,我很难开始做某事。将所有内容分解为小任务可以使中断后更容易启动。
答案 2 :(得分:3)
根据运营研究,最短的工作是最好的调度程序,可以完成大部分工作。
答案 3 :(得分:2)
我编写并运行集成和系统测试,但没有单元测试,因为我不需要进行早期(预集成)测试:Should one test internal implementation, or only test public behaviour?
Conway定律的一个证据是你需要测试分离/集成开发人员的内部软件接口,而“一人军队”则不需要以这种方式明确地测试他的内部接口。
答案 4 :(得分:2)
许多其他提示都很好,但它们同样适用于在团队中工作的开发人员以及单独的开发人员。
我认为作为一个人团队最困难的事情是与公司其他人进行有效沟通。在任何会议或讨论如何最好地构建软件时,您将始终是一位独立的程序员。
因此,我建议尝试提高谈判技巧,并专注于改进您用非程序员能够理解的术语描述技术概念的方式。阅读Getting to Yes和How to win friends and influence people等书籍是一种很好的开始。
如果有多个人就某个观点达成一致意见,那么该观点会自动获得您想要说服的人的可信度。如果没有这种可能性,你需要更加努力地用充分研究的证据和平衡的观点来准备你的论点。
答案 5 :(得分:1)
答案 6 :(得分:1)
我处于同样的境地。上面已经提出了许多好的建议,但我要添加的一件事就是找到最佳编码时间,并确保在此期间进行编码。我早上有几个小时,我似乎最擅长编码。我尽量保持这段时间不受任何干扰。计划诸如会议,编写文档,测试(至少是繁琐,重复的东西)以及所有其他东西,以减少您的工作效率。当你的编码效率提高2至5倍时,请保留这些编码时间。
答案 7 :(得分:0)
我使用文本文件来收集我每天所做的所有事情。每当我遇到问题或有疑问或找到解决方案时,我都会将其添加到我的文件中。它的技术含量很低,但它提供了大量的信息,比如“我花费大部分时间在哪里?”或者“我之前是如何解决这个问题的?”。此外,还可以在您的结算周期结束时为您的客户提供超时的列表。
我还使用另一个文本文件(每个客户端),其中包含我牌上的所有工作项,按优先顺序排列,并经常更新。它可以帮助我和我的客户专注于我接下来应该做的工作,所以泵总是准备就绪。
最终我会从平面文本文件转移到使用像FogBugz这样的东西,但是现在我无法击败价格,或者搜索的容易程度,或者电子邮件的容易程度。