通常来讲, Milestone是用来有针对性的跟踪一个目标或者事件的进度. 虽然项目没有Milestone可能也会成功, 但是有Milestone的项目成功并按时交付的可能性要大得多.
在项目管理中, milestone是项目计划最重要的方面之一, 因为它们是工作进度的可视化指示. 虽然milestone本身会因为行业或者有针对性的目标而有些区别, 但是概念始终都是一个. 没能完成Milestone就非常说明项目没有按照计划来进行, 是时候来调整您的方法了.
较传统的软件开发中的Milestone
在过去, 软件行业遵循的是瀑布式的开发流程, 将项目分解成符合逻辑的, 接续式的几个阶段. 要将全部的发现工作都完成了之后才能进展到需求, 然后设计, 执行, 测试,最后交付. 这看上去好像是个好方法, 但是在理论上, 对于像软件开发这种高迭代的工作, 这不是最好的办法.
瀑布模型中的 Milestone 的一个主要问题是它们忽略了持续的演变。 一旦应用程序处于测试阶段,就很难回去更改在发现阶段未考虑周全的内容,这使得该模型不适合项目更改风险很高的现代应用开发.
这种传统方法论的另一个缺点是, 在中间阶段很难衡量项目的进度. 通常都是在每一个阶段的工作结束时审查项目的进度 – 比如, 当全部的需求都完成了之后,要审查万之后才能进展到设计. 除了不允许持续的迭代之外, 这也使得很难用易经完成的哦你工作来预测剩下的东西需要花费多长时间. 在这种情况下, 可以计划出milestone,但是并不是很现实, 也没有益处.
敏捷中的Milestone的样子
对于很多团队来说, 瀑布式开发流程不能达成期待的结果, 因此想寻求一个不同的方法. 进入: 敏捷.
敏捷开发强调灵活性, 交互, 以及高度的透明. 敏捷中的项目欢迎持续的演变和改变, 依靠频繁发布可用代码以及持续测试. 虽然敏捷开发方法在任何规模的软件项目中越来越普遍, 在进行敏捷时使用milestone似乎有一些违反常理.
许多开发人员都强调敏捷对截止日期和僵化死板的拒绝,但这并不一定意味着项目中绝对不能有目标或标记点. 无论您使用哪种项目管理方法,如果没有路线图或其他可用来标记进度的东西,您更有可能失败。
知道了这一点之后, 我们来看了解一下敏捷和Milestone是怎么互相成就的. 如果做到正确管理, Milestone对于一个项目的成功是至关重要的, 为软件开发的生命周期和团队如何朝目标努力方面提供了大量的见解。
用Milstone谱写成功
有很多方式能将一个项目分解成Milestones, 其中最常用的一个就是创建一个整个项目范围的路线图.
路线图完成后, 可以分解成Sprint. 在Scrum中, Sprint是固定的时间长度(通常为两到四个星期),在此期间,完成商定好的工作,达到可交付的标准. 这些工作量要按照优先级来排序, 并按照功能或者发布来分组. Sprint或者\”迭代\”可以用Milestone在GitHub中体现出来: 若干组的Issue对应一个项目, 功能, 或者时间段. 只要设置一个开始和结束日期, 然后就添加代表用户故事的Issue, 开始Sprint.
每个迭代能给您机会进行测试并交付稳定的发布, 任何没有做完的工作都可以转移到下一个Milestone中.
当完成Milestone时, 就说明这些Milestone:
- 达到了技术和设计的需求
- 有验证过的代码
- 最终能得到一个可交付的/可部署的产品
开始Milestone
对于每一个Milestone, 第一步都是要创建一个有针对性的要在sprint结束时完成的目标. 要注意这个目标要是一个集体的,并且每个人都要参与协作的工作量.
当尝试决定要往Milestone中放入多少工作量的时候, 尤其是您才刚刚开始进行Sprint时, 真的没有完美的答案. 最好的计划方式是估算Sprint的时间安排中能完成多少个Issue. 首先估算出每个Issue的复杂度会简化这个问题.
事实上, 在您还在早期阶段的时候, 由于不清楚您的平均Sprint速度, 因此很容易过度承诺. 虽然您可能会估算在两周的一个Sprint中, 每个团队成员能完成70个故事点, 但其实假设每个人能完成45或50个更现实一些. 因此, 对于一个5人团队, 您可以在开始的时候分配大概230个故事点给每一个Milestone, 然后随着您对团队的冲刺速度越来越熟悉而进行调整. 有了一些完成的Sprint和正确的报告工具,您将开始更好地估计每次迭代中可以完成的工作量.
请谨记, Sprint的主要目的是要在结束之前确保分配出去的每一个Issue都能完全交付.
当您完成了Sprint时, 只要关闭Milestone就可以. 将Milestone的状态设置成Closed,然后在Milestone的描述部分保留有关Sprint的所有说明. 这些说明可能包括诸如下一个Sprint必须发布的Issues数量,出现的问题以及成功完成的事情。
结论
Milestone 对于任何一个项目的成功都是一个重要的部分, 尤其是对于使用敏捷的人. 虽然敏捷是基于灵活性和不断变化的基础, 但是这并不是说采用了Milestone会给项目带来僵化并制定严格的截止日期. 恰恰相反, Milestone通过确保团队按照其目标前进,从而提高了成功和项目完成的机会,极大地补充了敏捷。
想开始使用Milestone了吗? ZenHub是唯一的一个自然整合在GitHub中的项目管理工具, 使用了Issue和Milestone. 当GitHub与ZenHub的高级功能结合使用时,您的整个团队都可以提高可视性并优化协作.
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。