同时从事多个项目
我想知道你们中有谁可以在同一天处理多个项目,而每个项目只投入很短的时间。或者,如果您能够在同一小时内同时处理两个、三个或更多项目。我有很多事情要做,我开始想知道我该怎么做?我考虑过使用多个工作区,然后在它们之间切换等等。您还使用哪些其他方法?
I wonder who of you can work on several projects the same day, dedicating only a short piece of time for each one. Or if you are able to work in the same hour, on two or three or more projects at the same time. I have so many things to do, that I am starting to wonder how could I do this? I thought about using several workspaces, and switching between then, etc. What other approaches do you use?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
去做就对了。
有小任务;做他们,继续前进。按优先级组织。
就这么简单;忘记噱头,忘记杂项工具和其他浪费时间的东西。我发现最简单的方法最有效。
Just do it.
Have small tasks; do them, move on. Organise by priority.
It's that simple; forget gimmicks, forget misc tools and other timewasters. I find the simplest way the most effective.
你把自己的精力分散得太小,试图做太多的事情,但最终却没有真正取得任何进展。这可能会让其他人因你明显缺乏进展而感到沮丧。一次专注于一件事会更有效率,但您仍然希望在多个项目上取得进展。当您切换档位时,有一定的切换时间。处理多个项目的最有效方法是利用一天中现有的休息时间作为转换点。
例如,我们假设您一天有三个休息时间:上午、午餐和下午。这提供了 4 个区块,每个区块大约 2 小时。在每个区块中,将一个项目作为您的主要关注点。
将您的项目划分为尽可能小的任务。这可以帮助您跟踪进度并带来更大的成就感。在任务级别和项目级别做笔记,以帮助自己记住所做的/发现的事情。
You're spreading yourself too thin, trying to do too many things and in the end not really making any progress. This can make others frustrated by your apparent lack of progress. It's more efficient to focus on one thing at a time, but you still want to make progress on multiple projects. When you switch gears, there is a certain amount of changeover time. The most efficient way to work on multiple projects is to use the existing breaks in your day as the changeover points.
For example, we'll pretend that you have three breaks in a day: morning, lunch, and afternoon. This gives 4 blocks of approximately 2 hours each. In each of those blocks, make one project your primary focus.
Divide your projects in tasks that as small as possible. This helps you track progress and also gives a greater sense of accomplishment. Make notes at the task level and the project level to help yourself remember what you did/discovered.
关于任务调度这一主题已经有相当多的研究。
由于这是 Stackoverflow 而不是商业网站,我会将其与操作系统内核进行比较;)
您有多个任务需要执行,目标当然是高效。
效率可以用高吞吐量或低延迟来衡量。
当您在任务之间切换时,会产生代价高昂的代价,称为上下文切换。
也就是说,您必须切换文档、应用程序、登录系统等,并且需要一些时间才能进入该区域。
给定多个不同大小的任务。
如果将它们随机排列为序列(批量),则上下文切换量将最小,因此总体吞吐量较高。
如果您另外按大小(从小到大)对它们进行优先级排序,您也会减少延迟。
由于项目最小的客户将首先交付,因此与上述随机方法相比,您将在某个时间点交付更多的项目。
问题当然是当新的较小项目到来时如何处理大型项目。这可以通过应用某种时间戳来解决。如果某些项目比其他项目更重要,您将必须相应地确定它们的优先级。
如果这仍然不能给你带来满意的延迟,你就必须进行多任务处理。
由于上下文切换成本高昂,这会降低吞吐量,但您可以通过向客户展示您在他们的项目上取得的进展来满足他们的要求。
重要的部分是选择如何分配时隙。每小时、每天、每周?时间段越小,您获得的上下文切换就越多。
任务又可以分为两种不同类型:CPU 密集型任务和 I/O 密集型任务。
I/O 限制可以被视为需要设备/其他人输入的任务,而 CPU 限制只需要您的时间/脑力。
安排好你的一周,以便尽早启动 I/O 密集型任务。当您等待它们返回时,您将专注于 CPU 密集型任务。
总结一下。您将每个项目拆分为较小的交付项目,这些交付项目的大小足以满足客户的进度需求。
周一早上,您计划一周并从需要其他人采取行动的所有任务(批准等)开始。发送这些电子邮件并拨打这些电话。完成后,您将专注于需要集中注意力的部分。
或者,你可以雇佣更多的人:)
There has been quite a lot of research on the subject of task scheduling.
Since this is Stackoverflow and not a business website i'll compare it with operating system kernels ;)
You have multiple tasks to be executed and the goal is of course to be efficient.
Efficiancy can be measured as high throughput or as low latency.
When you switch between tasks there will be a costly penalty called context switching.
That is, you'll have to switch documents, applications, log-in to systems etc. and it will take time to get into the zone.
Given multiple tasks of different size.
If you arrange them randomly as a sequence (batch) you will have the smallest amount of context switching and therefor a high overall throughput.
If you additionaly prioritize them by size, from small to large you will, also reduce latency.
Since the customer with the smallest projects will be delivered first you'll have more projects delived at a point in time than in the random approach above.
The problem is of course what to do with the large projects when new smaller ones arrive. This can be solved by applying some sort of timestamp. If some projects are more important than others you will have to priortize them accordingly.
If this still won't give you satisfactory latency you'll have to multitask.
It will decrease throughput due to costly context switches but you'll be able to satisfy your customers by showing them that you're making progress on their projects.
The important part is to choose how time slots are to be allocated. Per hour, per day, per week? The smaller the time slot the more context switches you'll get.
Tasks can in turn be divided into two different types, CPU and I/O bound tasks.
I/O bound can be seen as tasks that requires input from a device/someone else while CPU bound only requires your time/brainpower.
Arrange your week so that you initiate the I/O bound tasks sooner rather than later. While you wait for them to return, you'll focus on the CPU bound tasks.
To summarize. You split each project into smaller deliveries that are just small enough to satisfy your customers demand for progress.
On monday morning you plan your week and start with all tasks that need action by someone else (approvals etc.). Send those e-mails and make those phone calls. When that's done you'll focus on the parts requiring your concentration.
Or, you could just hire more people :)
挑战在于跟踪您在每个项目中的进度以及您还需要做什么。我使用 Windows 便签来提醒自己当前的任务,并每天记录我正在做的事情、已完成的事情、需要解决的事情、解决的方式等等。这样,我可以向后搜索并快速刷新我在上一个任务中的位置。
The challange is keeping track of where you are in each project, and what you still need to do. I use the Windows sticky notes to remind myself of immediate tasks, and keep a journal each day of what I am doing, what I have finished, what I need to resolve, how it was resolved, and more. That way, I can search back and quickly refresh where I was on the previous task.
在过去的几周里,我一直处于同样的情况:我已经有了自己的三个项目,最近另一位开发人员退出了,我也不得不接受他的一个项目。起初我似乎没有取得任何进展,因为我试图同时做太多事情。
然后我明白我绝对必须优先考虑。我和我的老板讨论了哪个项目是最重要的,并完全专注于它。我什至不允许自己对其他项目进行快速的错误修复(测试人员现在可能讨厌我),因为即使只需要五分钟来修复该错误,你也会失去注意力,并且在大约半个小时内都无法重新集中注意力。小时。
我必须说这真的很有帮助——我上周做的有用工作比之前两周做的有用得多。
哦,如果你碰巧坐在手机旁边,请关掉该死的手机。祝你好运。
I've been in the same situation for the last few weeks: I already had three projects of my own, and recently another developer quit and I had to take one of his projects too. At first it seemed I didn't make any progress because I tried to do too many things at once.
Then I understood that I absolutely have to prioritize. I discussed with my boss which project is the most important and concentrated on it entirely. I don't even allow myself to do a quick bugfix on the other projects (testers probably hate me now), because even though it only takes five minutes to fix that bug, you lose concentration and won't regain it for about half an hour.
I must say this really helps - I've done much more useful work last week than I had done in two weeks before that.
Oh, and switch off the damn phone if you happen to sit near one. Good luck.
给自己时间处理每个项目,不要陷入细节之中。有时编写马虎的代码是可以的。如果它按预期编译并工作,则发布它。您可以稍后再回来重构较小的部分。让您的客户和老板了解情况。
Allow yourself time to work on each project and do not get bogged down in the details. Sometimes it's okay to write sloppy code. If it compiles and works as expected, ship it. You can come back and refactor smaller pieces later. Keep your customers and your boss in the loop.