假设一个项目被分配给一个团队,最后期限估计为8个月。6个月后,这个项目显然不能按时完成(例如,一个规律的变化或一个隐藏的巨大障碍被发现,领头羊被一辆公共汽车撞到,等等)。但该项目是重要的(例如,在失败时失去一个重要客户或必须支付赔偿)。
我们都同意的一个解决方案是可怕的增加更多的开发人员,特别是对公司来说是新的。他们至少需要一个月的时间才能跟上进度,并在这段时间内占据球队的其他部分。
我们都同意的一个解决办法是预防。但这种情况确实会发生。
在这种情况下,对于团队经理来说,什么是合理的解决方案,前提是他们对更多的人员、资金、客户谈判等都有足够的影响力?
发布于 2020-09-11 20:45:02
虽然我同意其他人关于需要与客户合作之类的事情,但是如果你出于某种原因认为你需要雇佣新的人--不要雇佣开发人员。
你需要做的是和开发人员交谈,找出你可以从他们的盘子里拿下来的其他任务和负担,这样他们才能更有效率:
我们的目标不是增加更多的人员,而是让现有的开发人员在截止日期之前的关键时刻尽可能提高效率。
但是,不要只为他们而不问,因为你需要向开发人员解释,你重视他们和他们的工作。如果一个人的午餐或通勤的慢时间是他们反思自己的问题并想出创造性的解决方案,那甚至可能适得其反.所以,如果他们不觉得自己在工作,你也必须给他们灵活性,让他们取消一些事情。
如果您确实引入了新的开发人员,就没有时间让他们加快项目进度,所以最好将他们与程序员结合起来。很可能没有足够的时间让新的员工快速完成真正的“对编程”项目,但它们可以提供很多功能--比如执行助理、筛选来电和/或访客、给人买零食或跑腿、给“泰迪熊”(Teddy but )调试加上一点额外的反馈、作为一名有经验的程序员指导的打字员,甚至是正在编写代码的其他人。
你可以雇佣非程序员来做这项工作,但是如果他们不懂编程语言,即使是IDE,打字技巧也不会有多大帮助。同样重要的是,要找到适合自己的个性--你不希望有人拖慢主要程序员的脚步,问“你为什么这么做(X)”,把他们逼疯。您可能需要有一个潜在的仆从池,以便程序员可以旋转,直到他们找到一个他们很好的工作。
如果程序员不想要影子/仆从/一对/实习生/助手--不管你怎么称呼它--不要强迫他们.但是,如果他们认为这对他们团队中的其他人很有效,他们可能会改变主意。
发布于 2020-09-11 11:05:22
问题就在其他地方。问题是,你有一个八个月的项目的最后期限。
相反,项目应该是您和您的客户之间的协作。这意味着,与其在固定的需求集合上工作,而且在八个月后尝试交付一些东西,您还将处理一组动态的需求,这些需求可能而且将定期发生变化,而客户则通过定期部署来发现该产品在现实中的表现。有多正规?可能是每两三周一次,也可能是每天几次。
这也意味着你的第一次交货应该很快完成。也许不是头两周,但在项目开始后的一个月内,你应该能够向你的客户展示一些东西。它不会有太多的功能,但它应该有一些功能。对于一些基础设施可能很复杂的项目来说,展示一个简单的Hello已经是一个很大的进步。
一旦你做了你的第一次交付,下一个关键时刻是最低可行的产品,或MVP。这是指您交付的东西并不包含客户所期望的所有功能,但是如果发生了完全的错误,客户仍然可以使用它(团队不能继续在这个项目上工作,或者客户没有钱)。
例如,对于电子商务网站,MVP应该包括浏览并实际订购产品的可能性,但它可能不包括创建喜爱产品的自定义列表、共享产品、给予评论或通过网络界面要求退款的能力。
用这种方法,当你终于到了第六个月的时候,一些不好的事情发生了,这仍然是一个问题,但不是一个非常重要的问题。毕竟,MVP已经在几个月前交付了;几个月来,您定期添加了客户优先考虑的新特性(即最重要的功能)。那么,您所需要的就是告诉客户这个问题,如果需要的话,让他优先考虑这些特性。
一个规律改变或一个隐藏的巨大障碍被发现。
如果立法的改变意味着需求的改变,那么它就属于客户,告知您现在的要求是不同的,并支付额外的费用。这种情况经常发生在金融部门、医疗保健或会计部门。
在遇到障碍的情况下,您需要重做项目的很大一部分,需要与客户讨论才能找到协议。有时,讨论会涉及律师在场,但这超出了本网站的范围。
发布于 2020-09-11 20:49:13
让更多的开发人员试图理解项目并编写代码显然需要新开发人员的大量学习开销,并且需要从当前的开发人员那里花时间来帮助新开发人员充分提高生产力。
但是,目前的开发人员正在做哪些其他人可以做的事情呢?
如果“其他人”不被要求保持生产效率,而只是当它能够帮助当前的开发人员时,那该怎么办呢?
例如,
当前的开发人员是否必须:
https://softwareengineering.stackexchange.com/questions/415775
复制相似问题