Answers:
作为经理,是的,我让团队制定时间表。这是为什么以及如何实现它们以最大程度地减少中断的一些注意事项:
作为一项业务,我们的许多工作都是在时间和材料上进行的。没有时间表,显然是行不通的。我们有10个客户以及一系列不同的项目和产品,但是我们还不足以专职于客户或项目,这意味着我们必须有某种方法来计算花费了多长时间。即使管理团队并非如此,您仍然需要了解需要花费时间和时间的事情。认为邮寄室人员使用的旧应用程序花费的时间多于价值吗?当有人问新网站上功能X的销售量翻了一番时,该怎么办?或者,当您的开发人员说您应该招募其他人时,您被要求分解他们为证明合理性所做的工作?
对于所有合理的“非工作”都存在类别,包括指导,一般技术讨论,支持,会议等。
错误修正-我们记录整个项目的时间,而不是逐个错误记录。这往往使事情变得容易得多-花一天的时间修复错误,7.5小时的错误修复与项目背道而驰,您完成了工作。无需尝试找出如何解决您所修复的13个错误。
当我们实施它们时,我保证不会对他们的时间表进行任何处罚或给予奖励,只要它是准确的即可。因此,没有基于收益率或利用率或其他任何内容的评论输入。这意味着没有动机去扭曲。
准确地说,我的意思是大致。人们真的不必花太多时间去担心在喝咖啡或上厕所时会发生什么。基本上,如果您在一天中所做的每件事上都做一个记录,那么到一天结束时,便会在整个工作时间中大致将其分解,仅此而已。如果最多不超过5分钟。
如果我不喜欢自己看到的内容(例如某人在任务X上花费的时间太长),那么我们将调查如何使X更快,而不是与时间表有关。
知道您花了多长时间做某件事是一种改进估算的好方法。
许多程序员对时间表的反感似乎来自两点:(1)时间表执行不当,需要花费很长时间才能完成,需要的信息多于实际需要的信息,并鼓励撒谎和歪曲,因此这些信息一文不值,以及(2 )的感觉,即应消除对开发人员造成轻微不便的每件事。
第一个是公平的,但是您应该归咎于某人已附加的实施和规则,而不是整个时间表的想法,这些想法可以用没有这些问题的方式来完成。第二个是不现实的-公司内部和外部都有很多参与项目的参与者,每个参与者都有很多需求。是的,我们想尽一切努力使程序员变得高效,但必须与其他各方的需求保持平衡。
我根本不了解时间表。时间表是导致您获得报酬的原因。没有时间表,没有钱。我喜欢薪水,因此我喜欢时间表。我从未有过每天花费超过五分钟填写的时间表。老实说,我每天要做的事情比五分钟的时间表要多得多。
我们不让程序员填写时间表。我们确实有一个人们似乎不介意使用的任务管理系统,该系统为我们提供了会计核算所需的几乎所有数据。不难弄清什么时候超过了预期的时间,而有些人只是忘记将某项标记为完成。
如果某人不生产,这也变得很明显。
错误跟踪器中的一些查询还有助于显示可能在何处发生阻塞。
我们宁愿让程序员远离管理任务,也要相信人们在做他们的工作。
我唯一发现保持合理时间的时间是,是否按小时向客户收费。但是,这样做的最终原因变得显而易见,并且更加舒适,必须准确地跟踪时间,因为那是客户要支付的费用。这与为管理而感到微管理有些不同。
我全都像成年人一样对待成年人。
除非您按小时向客户收费,或者除非您是按小时收费的承包商,否则我不希望填写时间表。根据我的经验,它们会适得其反-是的,您通常需要跟踪进入项目的资源量,但是可以每月近似估算(“在X项目上为10天,在Y项目上为9天,等等”)。记录细节的成本通常无法抵消任何更细化的好处,如果可以将它们用作击败员工的工具,则员工只会记录可接受的内容而不是准确的内容。
对于企业而言,另一个意外的缺点是,如果您开始监视员工,您可能会发现您开始记录员工的工作量!如果您有40个小时的报酬并且被跟踪40个小时,那么到40个小时就会有令人难以置信的动力回家。员工通常会停止做一些额外的事情,而这往往会有所作为。
我的公司尝试过,但是我还是忽略了它,或者写下了几周的废话,而仍然完成了工作,他们却忘记了。
在上一份工作中,我不得不考虑每15分钟的时间。这是一家网络开发公司,我们每个人都承担了任务。每个任务都有特定的小时数分配。我们将向客户收取的总价格除以每小时$ 100,以获得该项目可用的总小时数。
如果给我10个小时来完成任务,而我却花了15个小时,那么我欠公司5个小时的加班费。我使用了Franklin Covey的每日计划者来记录时间。
我必须填写多个时间表。
首先是人力资源的时间表。该时间表仅显示工作/不工作,并用于跟踪PTO和病假。因此,它总是以8的倍数填写(整天或整天工作)。
然后是制定业务时间表。我在一家大公司从事软件开发工作;我们的大多数项目(99%)是针对内部用户的。这些项目按小时向用户收费;因此,例如法律部门的项目将由法律部门的预算支付。这份时间表是最政治化的;IT管理人员面临着向您收取尽可能多的时间用于项目的压力,而项目所有者则面临着向IT收取尽可能多的时间的压力(例如,员工会议,非正式培训等)。此外,在对任何项目进行任何工作之前,都要对其进行“估计”并分配一定的“预算”工时。因此,为了延长时间,各方都有压力让时间表更具创意;在同一天的同一天中标记8个小时会引发一个危险信号,该信号会触发3个以上的经理来敲您的立方体。永远不会标出加班费,因为它毫无用处(我的薪水是相同的,并且会更快地减少可用小时数)。此时间表的准确性可能对您的职业有害。
最后是项目时间表。这是交给项目所有者的;它不是按日期细分,而是按小时细分。因此,该表显示“本周我在您的项目上花费了9个小时;任务A和B已完成,并且错误X和Y已得到纠正”。该时间表是一部完整的小说。鉴于它是从上一个时间表获取其小时数的,因此任务/时间比率是完全不准确的。但是,此时间表实际上仅用于确定是否在给定的小时使用量Y之前达到了里程碑X,因此它比其他任何事情都更笼统地衡量进度。
两份工作之前,我填写了时间表。这样做是为了记录工资(我们是加班费),并向客户付款(很多工作是T&M),并检查固定价格项目的假设与实际情况。我还发现它们对于记录我自己的一些信息很有用,而不是保留个人日志和时间表日志。效果很好。
一个工作之前,我试图以相同的方式使用时间表(条件非常相似),但是在那种情况下,公司会质疑时间表上的每一个小问题。我会在电话交谈中争论我在时间表中放置的内容所花的时间比所讨论的时间长。我停止了准确的时间,因为那是荒谬的。当受到质疑时,其他人似乎也躺在他们的时间表上。
在这项工作中,我的时间不直接向客户收费,大部分时间只是内部项目,但我仍然要进行时间表。它们很容易做到,并且不仅对我本人,而且对公司会计等有用,也很有帮助。从来没有问过我在这里放置时间表的问题,因此我保持它们的准确性。
我会说它们很棒,直到它们开始因您穿上它们而对您进行惩罚。
不幸的是。
但不仅是一个时间表。我们必须:
我为时间表浪费了多少时间,而组织却从中浪费了很少的时间感到惊讶。
对于这里的大多数小组,经理发送该时间段内预算的小时数;每个项目,每个员工以匹配项目计划。然后,所有程序员都会为他们从事的每个项目输入时间。无论他们实际在每个项目上花费多少时间。或这项工作有多有用。
对于他们来说,时间表是完全没有用的。
另一方面,我从Hudson获得了构建记录,并从VCS获得了提交日志。由此,我对团队的实际工作有了很好的了解,而不必要求他们提交更多表格。
它更准确,因为它可以跟踪开发人员所做的事情,而不是人们所说的花费时间做的事情。
我讨厌把它们填满,讨厌工作……这可以解释为什么我现在落后三个月。我的电子邮件,日历,任务跟踪软件中的任务,要放入“较大”项目跟踪软件中的项目。但是,他们仍然坚持填写时间表,以引用其他程序中的项目/任务。都是一团糟。
然后将其用于确定效率,速度等,这些将在计算奖金时使用。从技术上讲,您实际上在40个小时内要进行60个小时的工作,这一点并没有真正注意到,但是值得注意的是,一切都已经很晚了……尽管事实是我遵守了每个工作的估计时间,并且我花了8个小时来工作,但有些事情本来可以按时完成的,但是逐渐地,直到最后还没开始就开始。
但是,自由职业者,填写他们没有问题。我用一个简单的“日期,评论,小时”保存了一个excel文件。它很简单,很快,而且效果更好。
我不是在尝试按经理设定的截止日期,而且很随意,以至于好像没有掷骰子,因为没有咨询我。任务A,我有2个小时的分配时间...但是我知道需要一天的时间。任务B我将获得20个小时的分配时间...但是我知道我可以在15分钟内完成任务。
时间表的概念还不错。对于个人而言,一旦他们能够跟踪执行任务所需的时间,他们就可以
此外,可以跟踪项目的成本。
但是,总是总是很快出现一个问题。这是事件序列的模板:
因此,曾经被认为可以帮助程序员的系统成为瓶颈。
不,我会拒绝工作/合同规定的工作,这会使我填写时间表。我永远不会理解那些认为臭名昭著的时间表是使程序员保持纪律和衡量绩效的好工具的管理者的无知。
对于他/她所知道的所有信息,我可能只是从一个博客中复制/粘贴了一部分代码,即可在前十分钟内解决一个难题,并用剩余的时间阅读有关P.SE的有趣讨论。
我们不是棉花种植工人,因此不应被视为棉花种植工人。
我曾经不得不填写以前所有公司的时间表,但现在并没有。
多数情况下,这似乎是没有意义的练习,只是在一种情况下:我在一家公司工作的公司直接为开发者的时间向客户收费。这是可以理解的。
典型软件工作中的时间表问题在于,工作过于动态,无法放入漂亮的小包装中。例如,在我当前的工作中:在一个典型的小时中,我可能会花17分钟来回复市场营销部门的电子邮件,花11分钟来回答服务台有关某些客户问题的问题,花12分钟来帮助新手同事解决某件事,并花20分钟来实际工作可以明确时间表的官方CR问题。随机混合这些时间间隔,然后您便有一个典型的高级开发人员时间。
当然,并非每天的每个小时都是这样,但是这样经常足以使时间表在这里毫无意义。除非您试图衡量花费在特定可计费任务上的时间是多少(这在这里从来没有发生过),否则它们基本上是在浪费时间(开发人员时间和薪资时间)。
几份工作之前,在与我现在居住的国家不同的国家,我们没有做时间表。我们得到了薪水。如果工作完成了,那就结束了。
当我移居澳大利亚时,时间表无处不在。支付了所谓的“薪水”,但有时间表和已记录的小时数。我的英联邦国家对薪水职位与加薪职位的理解并不完全。
如有必要,我会填写时间表(例如,我们有客户需要了解的可计费时间),但总的来说,出于以下几个原因,我不喜欢整个想法:
我们的时间表应用程序还用于跟踪假期和费用报告。
输入时间的精确度为1/2小时。这样做是为了向高级经理报告。一些开发人员拒绝这样做,因此最终不得不每季度被要求停止工作并及时更新时间。我尝试提醒大家,如果他们每天花费12个小时,而他们写了8个小时,那么白痴顶上就会想到我们根本不需要任何新开发人员-我们可以处理工作。去年冬天,我们进行了一次死亡游行,涉及7周工作周,持续了许多个月。一半的开发人员每周在报告应用程序中写40小时,而我们中的一些人报告了实际数字。根据联邦法律,程序员是“免税的”(这意味着在没有工会合同的情况下免于加班),因此,报告加班费不会使我们获得加班费,但数字仍会显示在报告中。
在Team Foundation Server中跟踪(或类似)花费在bug和新代码上的时间,并且我们仅以1天的粒度进行跟踪。我们正在尝试执行此操作,以便更好地估计执行操作所需的时间,因为我们的估计过程减少了-25%至+ 1000%。目前,在整个房间的日历上扔飞镖与我们的估算过程一样准确。
以前的地方使用时间表来向客户收费,因此,如果您花了45分钟来处理客户的错误,那么客户会花45分钟收费。
我已经完成了近十年的时间表,无论是作为全职员工还是承包商,都从事4种不同的工作,因此在使用时几乎没有摩擦,但是我不相信自己会被赶上任务细节。我将要去的最细的颗粒是1/4小时,这是罕见的。
但是最近,我一直在使用Grindstone跟踪自己的工作(很幸运,我目前的职位允许我提交自己的时间表,而不是被迫填写基于本地Intranet的系统)。
我会向发现自己的时间表维护时间过长或令人讨厌的任何人推荐
我从来不需要填写时间表,也不认为我会加入需要我的公司。在我工作过的所有公司中,我总是根据我做的事情而不是花费多长时间来做出判断。结果和性能比获得结果要花费多长时间更为重要。实际上,前者包括后者:如果我一年内完成的工作量与另一个位置相似的开发人员一个月内完成的工作量相同,那么我的评估可能就不会很好。相反,这种方法也行不通:知道一个人本周花了60个小时在工作,而另一个人花了40个小时不足以做出有意义的判断。一些最有效率的开发人员花最少的时间在工作上正是因为他们有效率。
而且,我在每项工作中都是受薪员工,所以我或多或少地花了很多时间,所以没有得到多少薪水。因此,时间表上的信息永远不会对我有利。最后,您花费我的时间完成项目的事情与您有什么关系?如果我生产公司中最好的软件,但是您发现我每天4小时上网,您会开除我吗?您怎么知道网上冲浪对我的心理过程不是必不可少的?此外,即使我做了网上冲浪4小时一天,我可能不会把它放在我的时间表,这意味着信息是相当无用呢。我想我很想用BS填写该报告,并在本周末将其提交给我的TPS报告...