1.3 如何解决这些问题

    要解决团队开发所面临的问题,仅仅靠努力是行不通的。全世界的工程师们为了解决类似的问题而开发了各类工具和方法论,除了对其加以有效利用之外别无他法。

    在多个人之间共享问题,将所发生的事情以简明易懂的方式公开,以及为了防止退化发生,执行自动化测试,这些都是非常重要的。除此以外,一旦发生错误,能够立即回滚到之前的状态也极其关键。另一方面,如果不能迅速地开发新功能并发布,就会在激烈的市场竞争中败下阵来,所以还必须并行地开发多个功能。当然这些都是以保证质量为前提的。

    综上可见,团队开发绝非易事。为了团队开发能够顺利地推进,以下几点是必不可少的。

    • “谁”“到何时为止”做了“什么事情”、“怎样”才算“完成”等,必须对这样的信息进行管理和共享

    • 代码等各类工作成果,必须在团队内部共享

    • 管理工作成果的变更,既要防止成果被破坏,又要保证各成员能够利用成果并行地作业

    • 在团队中共享从项目中学到的知识

    • 证明团队开发出的软件在任何时候都是可以正常运行的

    • 构建任何人都可以正确开发、测试、发布的自动化工作流程