Ubuntu的开发过程 至于项目总体目标管理,Canonical使用它自己的Launchpad平台。Zimmerman说:“Launchpad提供了一些基本的项目管理支持,我们还在开发其它工具实施跟踪”。 Zimmerman掌控着项目的全局管理蓝图,Canonical有专门的工具从Launchpad提取数据制成报告,Zimmerman看得最多的报告关键部分是燃烧图,燃烧图是Scrum敏捷软件开发方法的重要元素。 Zimmerman说:“它本质上是一个条线图,显示了在你的迭代中还有剩下多少工作要做,假设项目总共有200个任务,根据你的计划从200到0 画一条趋势直线,在项目开展期间,根据实际进展在图上画出真实的进度趋势,最后通常会画出一条曲线,这意味着项目与你制定的计划存在偏离,我们可以通过燃烧图实时了解项目的进展”。 虽然Zimmerman也使用了Scrum风格的燃烧图跟踪项目进度,但他表示并没有严格遵守一种特定的开发方法。 Zimmerman指出,使用Scrum方法中的某些元素后,他可以根据团队的生产能力做报告。他说:“我们可以准确地知道在一段时间内究竟能完成多少任务,让下一步预测变得更准确”。 Ubuntu与Debian和社区的联系 从测试的角度来看,Ubuntu工程组织有多项任务在并发进行,Zimmerman说硬件认证测试工作在硬件实验室日夜不停地运行,诸如兼容性等测试完全实现了自动化。此外,从旧版本进行升级的测试也是完全自动化的,当然也少不了手工测试,但这项任务通常是由Ubuntu社区完成的。 Ubuntu开发人员并不是在真空中运转,他们也是上游开源生态系统的一部分,大多数上游软件的补丁都是由他们贡献的,有时Ubuntu还会先于上游发布相关漏洞的补丁。 Zimmerman说:“我们先于上游发布补丁主要是为了满足我们的最后期限需要,我们的目标是为了将δ变得更小,每个发布周期,我们都要花大量的工程时间在上游补丁上”。 Ubuntu也严重依赖于它和Debian Linux发行版的关系,Zimmerman指出,大多数Ubuntu补丁提交给Debian都被接受了,至于其它上游项目,Ubuntu实在是没有太多的精力为它们做贡献。 拓展:Debian与Ubuntu 父与子的对比哲学 Zimmerman说:“我们的工作充满挑战,因为牵连的项目太多了,我们不能与开源社区的每一个人都保持密切的私人关系,但我们必须要能够一起协同工作”。 原文名:How Ubuntu is Made 作者:Sean Michael Kerner |