题
想象一下,您没有功能蔓延的问题,您有一个积极主动且稳定的团队,需要解决明确定义的问题,并且您了解与您的项目相关的领域/语言/工具。
你怎么 遵守时间表 并实现 1.0 里程碑?
你的方法是什么 迭代运输?
我想要专门针对小团队的建议,因为那里很少或几乎没有沟通问题。
解决方案
- 专注于功能而非实施任务。
- 在迭代中工作(如每周或每两周一次)。
- 按优先顺序将工作功能发布到您的登台环境。
- 随时对您的代码进行单元测试,因此您不会因为接近发布日期时几何级别增加的bug列表而放慢速度。
- 准备从不太重要的功能中切除范围。东西总是比你想象的要长。
- 确保提前勾画出UI(如果有用户界面),并将其展示给潜在用户。
- 测试,测试和测试更多。这似乎违反直觉,但它比节省时间更多。 醇>
其他提示
这可能是一个乌托邦式的场景;-)。但无论如何,如果没有功能蔓延,非常好的团队和明确定义的要求,绝对没有沟通问题那么可能是按时交付产品的最佳方式
- 每周与团队会面以评估当前状态(PM与团队,如果有PM)
- 团队负责人可以与团队成员进行一次小型日常会议,以评估他们在委派给他们的问题/要求方面的状态。如果有问题,那么他/她应该采取必要的步骤来解决问题。
- 项目计划跟踪和工作委派(团队负责人需要了解每个团队成员的个人优势,以便适当地委派工作)。
- 测试可以在技术允许的范围内自动化。
- 每个团队成员的工作所有权。 醇>
一天结束时,它归结为一个人对工作的热情。
只是我的2个人; - )
这不能解决你的问题,但我认为它确实需要坚持你的日程安排 - 如果你甚至落后一天,你需要以某种方式赶上它。 (不幸的是,“神话人月”的其余部分都是关于大多数项目中没有“以某种方式”......)
另外,请查看 FogBugz 。这将为您提供产品何时可能发货的最新估计 - 事实上,它提供了一系列日期,每个日期的概率。如果您发现可能的发布日期超过截止日期,这将让您知道您需要对此做些什么 - 希望有足够的时间来发挥作用。
以前的海报错过了一个小点。为了满足截止日期,首先要确定实际的时间表。 该项目应该分解为小任务,这取决于项目规模,但在我的世界中,项目需要3-4个月,我们试图将它们分成最长2-3天的任务。这样,时间估计大多是现实的,并且预先计算风险并将其添加到建议的时间表中。
这个帖子里有很多好建议。我唯一需要补充的是采用定期的发布时间表。几年前我的公司转而使用它,起初很痛苦,但确实有很多好处,其中最大的好处是让人们可以轻松推迟功能。
推迟功能是可以的,因为您知道您的功能可以进入下一个版本,并且您知道该版本何时发布。这意味着您可以花费更长的时间在下一个版本的开头使用它,而不是急于在最后一分钟获得半生不熟的功能。
除非销售/营销/管理的时间安排不合理,否则您几乎已经排除了项目未按时交付的所有原因。软件开发方法的历史是解决、减少和/或避免以下影响的方法的集合:
- 范围界定不清
- 特征蠕变
- 缺乏领域知识
- 存在沟通问题的大型团队
- 缺乏动力/无能的开发人员
了解客户端的关键任务功能。保护他们的进步。通常,80%的成功来自20%的工作。
阶段 周期性的 (每月?每周?)使用当前接受的版本进行产品演练,以造福产品团队。尽早开始这些工作。演示每个功能,无论其当前的可用性如何;不要跳过那些落后的。
重点是让利益相关者清楚地了解项目过程中产品的当前状态。这样,决策者就更有可能及时解决进度风险,而不是危及发货日期。
我想说您可以选择功能集或发货日期,但不能同时选择两者。
以下是一些个人想法: - 不要乐观 - 先做好难点 - 不要在不滑倒计划的情况下添加功能 - 以这样的方式编写功能,您可以将其删除以达到计划