【问题标题】:What factors do you consider when deciding what to work on next? [closed]在决定下一步要做什么时,您会考虑哪些因素? [关闭]
【发布时间】:2009-09-28 13:40:37
【问题描述】:

最近我一直感觉自己被拉向不同的方向。在我的公司里,有很多力量需要我的时间,我很难决定把精力集中在哪个方向。

我可以选择几个不同的编码项目,随着时间的推移,其中一些可能需要更多的工作,并且会带来未知的挑战。

您如何决定总体上下一步要做什么?润滑吱吱作响的车轮?低悬的果实? (翻译:更简单的项目)

您有确定和实现目标的系统吗?

【问题讨论】:

  • 你的目标是什么,看起来不错还是高效?
  • 效率不高吗?
  • @jjclarkson:不幸的是,并非如此。我的意思是,显然它有帮助,但根据我的经验,仅仅成为产品实际上只是你需要做的一部分,以使其看起来更好(这就是为什么我听到的帮助作为程序员发展的最常见的建议之一是学会有效沟通,学会推销自己)。
  • @Edan 学会有效沟通是真正高效的必要条件——因为它可以增加很多价值……我不认为有什么“只是为了好看”。
  • 我投票结束这个问题,因为它与编程无关。

标签: project-management


【解决方案1】:

作为lean 的一部分,我们使用价值图来根据价值与努力来识别项目。

【讨论】:

  • 酷。看起来像斯蒂芬柯维应用于软件。
  • 我可以保证这非常有效,作为精益或任何其他方法的一部分。它无法解释的一件事是政治,但这些事情在你何时做这些事情时往往没有太多选择..
  • 有些东西是不可能转化为直接货币价值的:人的生命、环境、健康、良好的声誉、合法合规,有些东西很难准确地转换成有用的判断。成本效益(或努力-价值)分析可能会产生一种短期的“速赢”方法,而忽略中期或长期战略或任何可能的出现。不幸的是,它似乎是一种最简单实用的决策分析工具,可以用来掌握、解释和用作理由,因此它可能很受欢迎。
  • 关于公司形象和战略的一些关键问题,特别是在新产品开发领域,不能以努力和对客户的价值来证明(一个传奇的例子是谷歌的“我感到很幸运) ”按钮:花费数百万,但没有增加多少直接价值)。此外,如果决策是基于努力价值做出的,则不会创建 SO,相反,Experts-Exchange 会。
【解决方案2】:

我提出的一些问题会影响我的工作:

我的任何任务是否阻碍了其他开发人员或阻止其他人完成他们的工作?如果是这样,它可能会先完成。

我有没有截止日期即将到来的任务?如果是这样,它可能是下一个要工作的候选人,除非我能证明其他事情值得推迟任务。

是否会影响(使过时/变得更容易/变得更困难)我拥有的任何其他任务?如果是这样,它可能会向上移动。

是否很有可能任何任务都会发生变化(要求仍然不具体/可能会影响它的其他任务),现在花在它上面的时间可能会浪费掉吗?如果是这样,它会被向下移动。

有没有什么事情让我很烦恼,我认为我可以在任何人注意到我没有在做老板认为最重要的事情之前完成。 (这是合理的,因为它会分散我思考其他事情的注意力)。

有什么任务是我应该在脑海中浮现的时候完成的吗?

...除此之外,我们会结合我拥有的任何固定期限,我有哪些任务可能会阻碍其他人,老板首先想要什么(我喜欢这个老板,我只有一个给我任务...过去,我会给出不同的回答),哪些看起来更有趣,哪些我可以快速完成以将它们从列表中删除,等等。

有时我有多个经理,我只需将所有内容都列在白板上的列表中,并告诉他们编号(17 项,并且不断增长)。管理层犹豫不决,但我厌倦了一周又一周地在会议上因为没有完成的事情而被淘汰,并且不得不检查我被赋予的每一个“紧急”任务的清单。 (并被告知部门中的任何经理都可以在紧急情况下给我分配任务......大约有 30 人......当我问谁可以决定是否是紧急情况。)

【讨论】:

    【解决方案3】:

    当我有选择的时候:似乎是最大的挑战,附带最有趣的东西。

    对我来说,乐趣 + 挑战 = 快速学习。

    有时这会让我远离技术问题 - 人也是一个有趣的挑战。

    【讨论】:

      【解决方案4】:

      在决定下一步要做什么时,我倾向于根据事情来衡量 4 个项目:

      • 此项目是否是其他项目的要求?
      • 我还可以处理这个项目吗(即,我是否正在等待它)?
      • 我可以多快/轻松地完成此项目?
      • 我觉得这个项目所需的工作有多有趣?

      【讨论】:

      • +1:虽然听起来很糟糕,但我有时也会在决定下一步做什么时考虑我对特定工作的兴趣。
      【解决方案5】:

      我目前的团队(从事各种商业智能软件项目),我们最近开始采用经典“敏捷”项目规划和估算的变体 - 到目前为止,每个人似乎都对此非常满意,包括我们(不同经验水平的开发人员),产品经理(技术含量高的人,通常也有一些开发经验,但主要对业务方面感兴趣),管理人员(在我们报告的水平上相当技术,但也较少- 技术性更强的董事和副总裁)和其他利益相关者(我们软件的用户和潜在用户)。但是,当然,这是早期的,我们会随着时间的推移进行调整。 (在过去的几年里,我在非常不同的应用领域中使用了它的其他变体,例如集群管理软件;但我也经常使用更多的临时、更少结构化的方法。

      大纲如下。在每次迭代中(我们目前处于 2 周的迭代周期),PM 选择一些他们可能希望从我们所在地区的项目中获得的“基本业务价值单元”——一个典型的单元将是一个特性,一个 bug修复,一些优化方面等。在与技术主管和一两个高级工程师的小型会议中,每个单元被分解为工程任务(并确定任务之间的依赖关系)。在更大的全团队会议中,每个任务的相对“成本”(相对于其他任务执行该任务大约需要多少时间)被集体评估(我们使用我们称之为的完全抽象的工作单位“点”,尽管我见过其他团队使用较少抽象的单位,例如“理想工程日”)。评估的成本包括单元测试和技术文档。

      这些任务,每个都有其评估成本,继续进行所谓的团队“积压”任务,以及“内部重组”任务(通常是重构不会带来新的用户可观察到的加分,但将 使进一步的开发和维护更有成效),还包括评估成本和预期收益的总结(必须以 PM 可以理解的方式表达——幸运的是,正如我所说,我们是高技术人员)。根据工程团队的共识,重构也可能被视为某些业务请求任务的先决条件(例如,“在组件 X 上进一步工作没有意义,直到 Y 类太大,被正确拆分,这将需要 N 分”) .

      PM 现在可以根据完成这些任务所组成的单元将交付的业务价值,以他们喜欢的任何方式对积压中的任务进行排序,但要受到依赖关系的限制。根据过去的结果,他们很清楚团队在 2 周的迭代中可以完成多少“点”(我们的“速度”),因此他们试图确保最终可以执行一些具有业务价值的发布迭代(而不是让许多具有商业价值的东西“在飞行中”......但还没有完成并交付给利益相关者!-)。

      然后,团队将大约 80% 的时间和精力用于处理 PM 设计的最优先任务(包括有时结对编程、特别紧急​​的任务或团队成员需要学习的情况)更多关于某些技术或代码库的某些部分的信息,以及另一位在这些方面的专家的团队成员可以与他们配对一段时间)。优先级顺序是一个重要的指标,但它并不完全严格(例如,如果首要任务需要 Java 中的大量工作,而第二个任务需要 Python 中的大量工作,我可能会选择第二个,因为我的相对生产力会大大提高那样——对于 Java 大师等团队成员来说,反之亦然)。

      “优先级 0”又名“红色代码”问题可能随时出现,如果出现,根据定义,它们将优先于任何其他任务(并且仅在计划中追溯考虑,以确保速度被正确评估)。但是,由于我们在测试、发布工程和其他质量保证实践方面做得很好,幸运的是,这些紧急情况很少发生。

      加上工程师花费时间的其他“强制性”方式(培训课程、全体会议、季度绩效自我评估和同行评审等),应该占工程师时间的 80% 左右-- 剩下的 20% 是每个工程师应该致力于“完全不同的事情”(“蓝天”探索项目、“工程社区”工作、开源贡献等),与手。没有人真正精确地测量时间,但这仍然是一个有用的指导方针(我一直在想办法让测量变得容易和无痛,我可以在 20% 的时间里实施,以帮助我更精确地分配时间和精力,但我没有实际上还没有得到任何轮训;-)。

      【讨论】:

        【解决方案6】:

        简单。我问我的老板。

        【讨论】:

        • 投了反对票...这是一个公平的问题,这个答案没有提供任何信息。
        • 我的老板比我更了解“大局”,他的工作是帮助协调我的部门,以最大限度地提高我们的效率。当我问老板“接下来我应该做什么?”时,我们通常会讨论我当前工作的状态,他通常能够让我了解什么是真正重要的,什么不是。我认为我的回答至少对 OP 有帮助,如果人们不继续否决我的合法答案,我将不胜感激。
        【解决方案7】:

        高价值+低风险。

        如果您已经在公司/信誉方面拥有良好的业绩记录,请仅从事高价值 + 风险较高的事情。

        【讨论】:

          【解决方案8】:

          简单:什么是我的时间最高和最好的利用。

          如果我参与了一个项目,而这不是该问题的答案,我会问自己为什么要做这个项目以及我能在多长时间内完成它。

          【讨论】:

            【解决方案9】:

            :) 在工作中,我把这个决定留给了我的项目负责人和团队负责人,因为他们更清楚 "什么是项目优先级"

            在家里,我会做我认为有趣、学习和挑战的地方

            【讨论】:

              【解决方案10】:

              当我可以选择接下来要开始的工作时,我会尝试在两件事之间找到平衡:快速、简单且高度可见的修复(例如修复用户一直抱怨的非关键错误)和采取在一个项目中,我可以使用我一直在学习的东西。我发现如果我在这些类型的工作之间交替,我可以让自己和我的同事开心。

              【讨论】:

                【解决方案11】:

                对于即将到来的项目的初步优先级,我会从管理层的角度来看看什么具有最高优先级。如果它们都是优先级 1 的项目,那么还有一些其他因素可能会帮助我做出决定:

                1. 我是否了解该项目对组织的价值?这真的有助于我们获得竞争优势吗?

                2. 似乎有特定规模的项目堆积?例如,是否有很多小项目被少数真正的大项目忽略了?如果是这样,我可能会选择一些可能被视为快速获胜的小项目,这可能有助于我的团队看起来更好。

                3. 这些项目中的任何一个都发挥了我的优势吗?这可能有点难以确定,但它对激励有很大帮助,至少使用 Marcus Buckingham 对力量的解释。

                4. 其他项目有哪些团队和结构?我不认为我想加入一个看起来像即将发生的大规模火车失事的项目。是否有足够的结构让我不会去做我自己可能会损害项目成功机会的事情?我相信我可以使用方法 Y 和技术 Z 处理 X 的工作吗?

                这些是我做出决定时的一些看法,以及与我的经理交谈,这是他的工作的一部分,对吧?

                【讨论】:

                  【解决方案12】:

                  你应该问自己一个问题。您是否正在追求一般的 IT 职业道路,其中可能包括也可能不包括您当前的公司,或者您是否打算在您当前的雇主中拥有长期的职业生涯?

                  如果您打算在不同的雇主之间获得成功的 IT 职业,那么遗憾的是,最成功的策略是“收集流行语”。确定当前/下一件大事,并尝试将其写入您的简历。例如找到一个可能永远不会投入生产的带有 SOA 后端的琐碎 AJAX 项目,这将提高您对未来雇主的价值,即使该项目对您当前的雇主没有什么价值。

                  如果您计划在当前雇主的长期职业生涯中,最成功的策略是使您的目标与业务保持一致。例如,对企业来说最关键的项目可能是升级旧的不受欢迎的 VB/Oracle 库存控制包,以包括与新供应商的古老 EDIFACT 接口。如果您被视为此类项目成功的关键参与者,您将在您的雇主中获得非常高的评价(这是正确的),您的意见和建议将被认真对待。

                  【讨论】:

                    【解决方案13】:

                    由于您没有具体说明是从开发人员还是经理的角度进行讨论,因此我将尝试同时涵盖两者。

                    为工作的优先顺序提供框架是管理层的直接工作。直接的日常优先级可能会留在管理层或移交给开发人员。

                    在普通公司中,谁应该在什么时间做什么工作的决定可能被两个群体视为权力、控制和声望的问题,而那些做出最优先级决定的人显然是更重要的参与者。

                    然而,在精明的公司中,众所周知,决策具有几个有趣的属性:

                    • 每一个都需要时间和精力来制作,这会分散实际工作的注意力。

                    • 每一个决定都是一种权衡

                    • 为了做出良好的权衡,做出决定的人需要掌握所有正确的信息

                    随后,管理层并没有掌握所有信息来做出每一个决定,他们也不太可能拥有正确的信息来在每种情况下做出良好的权衡,但开发人员不能每天花时间做数百个优先级决策,而不是生产软件,也没有所有必要的协调。

                    因此,解决方案是让管理层创建一个简单的任务评估和优先级框架,并将其交给开发人员,他们将根据具体情况快速应用,填补空白。在管理术语中,这样的框架称为战略;它通过消除重复的冗余决策来节省时间,为工作提供重点和一致性,并提供方向。它应该足够详细,以消除每次重新评估情况的负担,但又足够松散,以允许开发人员在重要时做出正确的选择。

                    框架本身可以为决策提供非常简单的规则,或者提供一些分析方法,例如帕累托、SWOT、成本效益、预期回报分析或波特五力等。但是,保持规则简单是值得的,尽可能明确和直截了当。

                    Joel Spolsky 向全世界提供了几份非常好的内部软件战略文档,这些文档都是用简单的英语编写的。并非所有文档都直接与开发软件有关(表明为公司生活的各个方面制定不同的不相关决策框架实际上是可行的)。此外,由于文档相隔数年,因此实际上可以看到这些框架如何不断变化以适应情况:

                    1. Fog Creek Compensation
                    2. Our .NET Strategy
                    3. Set Your Priorities
                    4. Fruity treats, customization, and supersonics: FogBugz 7 is here

                    如果您有兴趣从个人角度选择要做什么,我认为最好的建议之一是 Paul Graham 在他的文章“What You'll Wish You'd Known”中给出的建议。

                    【讨论】:

                      【解决方案14】:

                      从根本上说,作为软件开发人员,我们是业务推动者。您的优先事项应与业务优先事项一致,并在快速获胜和更大的战略计划之间保持务实。努力和优先级构成了一个很好的矩阵,在该矩阵中,首先对付出最少努力/最高优先级的项目进行评分。

                      从您提问的语气看来,业务优先事项要么不清楚,要么利益相关者之间的方向相互冲突。这是开始的地方,一旦解决,它将使您的决定变得更加容易。

                      【讨论】:

                        【解决方案15】:

                        您确实需要与业务部门讨论这个问题,因为只有他们才能告诉您什么对他们来说最有价值。在那之后,我会寻找风险最大的项目,因为如果有什么事情会导致计划延误,最好早点知道,而不是晚点。

                        如果您在业务优先事项方面遇到问题(通常是由于与不同的利益相关者一起参与多个项目,他们都认为他们的项目是最重要的),您可以尝试让两个利益相关者在一个房间里讨论哪个项目是最重要的更高的优先级。或者您可以将谈判委托给您的经理,因为这实际上是他的工作。

                        【讨论】:

                          【解决方案16】:

                          我倾向于同时做多个项目,所以我会做一个更难的项目,取得一些进展,当我陷入困境,需要考虑下一部分如何做时,我会去一些低谷- 挂果,这样我就可以继续取得进展,因为我给我的潜意识时间来解决更难的问题。

                          但是,这实际上取决于您的优先级。我从来都不擅长仅仅试图打动别人,所以我只是默默地努力完成工作。

                          【讨论】:

                            【解决方案17】:

                            如果我们是在工作环境中交谈,我会检查并确定优先级 - 什么是关键任务,什么是紧急的,然后其他任何事情都会被放入列表中,并按照出现的顺序完成.

                            至于选择下一个工作中的大项目,我喜欢做最具挑战性的事情。我作为一名开发人员已经工作了一年,我有机会为一家非常大的公司做一些工作,与一些安全专家一起工作,做一些我从未做过的事情。所以我选择了它,它在我的简历上看起来很棒。

                            在个人发展工作(不是自助)方面,我将再次提供一些挑战我的东西。这一定是我以前没有做过的事情。别人是否做过也没关系——我没有,我可以从中学习。

                            归根结底,这一切都取决于它对您的价值,以及它对客户的价值。幸运的是,我也有几年的销售经验,所以我可以轻松地向客户销售我需要的产品。

                            【讨论】:

                              【解决方案18】:

                              如果您的问题是拖延症,那么也许您需要专注于摆脱那些您最害怕处理的工作 - 或者至少在这些工作上取得一些进展,以减轻考虑自己落后多远的压力。

                              This Mark Forster 的书提供了一些很好的提示。

                              如果做不到这一点,您可能需要制定一个迭代计划。让每个人都为工作投票 - 任何获得最多的事情都会立即安排。这样,包括您自己在内的每个利益相关者都可以在调度中获得一些输入。

                              【讨论】:

                                【解决方案19】:

                                我会问老板,如果他们不做决定,那么我会选择我认为对公司最有利的项目,无论是利润还是团队道德。

                                如果我在太多项目之间犹豫不决,我会选择一个听起来我可以更多地发展我的技能并且最感兴趣的项目。

                                如果一个项目听起来令人兴奋,我也会变得更有动力和决心:)

                                【讨论】:

                                  【解决方案20】:

                                  鉴于您的问题的性质,我假设这是有人认为您应该做的所有工作,但显然没有足够的时间来完成所有工作。因此,您只是在充分了解某些项目可能无法完成的情况下寻找优先级。

                                  1. 如果项目没有完成,影响/风险。
                                  2. 可见性 - 其他人是否真正关心此任务
                                  3. 与部门目标保持一致 - 剔除那些真正不属于你的工作
                                  4. 与公司目标保持一致 - 剔除对公司业务不重要的事情。
                                  5. 享受因素
                                  6. 与职业目标保持一致 - 许多人会将此项目的排名显着提高。取决于你的职业与你今天所做的事情有多重要。我认为今天的享受比长期的职业目标要高一些。有些项目可能很糟糕,但它们可以在你的职业生涯中发展。

                                  【讨论】:

                                    【解决方案21】:

                                    我想这取决于清单上有多少。如果有很多低悬的水果已经在列表中列出了一段时间,那么花一些时间将其中的一些清理掉可能是值得的。这样一来,对可用时间的需求就会减少,并且可能会有更多的时间或激励来从事大型项目。

                                    另外,能够将一堆东西从清单上划掉是一种宣泄。

                                    【讨论】:

                                      【解决方案22】:

                                      我通常会先开始做一个更大的项目。然后,当我觉得我需要暂时离开它时,通常是为了以后可以清晰地处理它,我会尝试踢出一些快速的一次性任务或简单的项目。

                                      我知道这不是很具描述性,但在处理大型项目列表时,将偶尔听到的声音称为分心似乎对我很有效。

                                      【讨论】:

                                        【解决方案23】:

                                        我倾向于从学习者的角度看待项目。我倾向于选择一个能帮助我学习新东西的项目,我也会寻找“酷”和有趣的东西。

                                        另一方面,您可以根据下一个项目的引导方向来选择它。问问自己,你是否有一个项目 X 可以帮助你实现的职业目标。也许一个高调的项目比有趣的更好——至少在短时间内。

                                        定义的一种方法是定义几个对您很重要的关键品脱(即新技术、有趣等),并尝试对每个机会进行评分,看看哪个得分更高。

                                        【讨论】:

                                          猜你喜欢
                                          • 1970-01-01
                                          • 2012-12-31
                                          • 2010-09-21
                                          • 1970-01-01
                                          • 1970-01-01
                                          • 1970-01-01
                                          • 1970-01-01
                                          • 1970-01-01
                                          • 1970-01-01
                                          相关资源
                                          最近更新 更多