软件永远不会“完成”
软件永远不会“完成”,软件是一个迭代的过程,在其生命周期中包含许多修订和更新。我们的工作是创造一个能认识到这一点的环境。
同样,我们从来没有期望市场营销和客户获取是“完成的”,它们也是迭代过程。在每个迭代中,随着我们不断地为业务交付价值,我们也不断地学习和成长。即使已经做了一些成功的发布,我们从来没有打算“停止”做这些事情。
如果软件可以在一个版本中完成就好了,但这不是现实。需求文档充满了模糊性,软件的个版本充满了“哦,那是我写的,但不是我的意思”的场景。的软件能激发新的想法和功能需求,看到新的销售管理系统更加高效,就会激发出更高的效率。世界在变化,竞争对手提供了新的功能,人们就有了新的想法。另外,总是有一些bug需要修复:可能是在代码中,也可能是在构建代码的底层软件框架和系统中。某些软件可能是完美的,但可以确信的是,随着时间的推移,人们会发现它所构建的平台存在各种漏洞。
我们的工作就是让一个组织能够认识到这一点。
认识到这一点的方法是建立一个有信心定期发布新版本的组织。当完全自动化测试和其他工程规范就位时,我们就建立了信心。这种信心创造了一种能力,可以避免过长的发布周期,而是每季度、每月甚至每周发布高质量的软件。特定的频率并不重要,但是信心很重要,自信能够带来更快的创新。