软件项目交付与回顾:从部署到持续改进
1. 软件项目交付
1.1 降低部署风险
在软件项目部署过程中,降低风险至关重要。一些团队会先将应用部署到灾难恢复(DR)环境进行测试,如 Acme Media 在部署 Auctionator 时就有机会测试部署计划。然而,很多团队没有 DR 环境,此时可以采用试点部署或软启动的方式来开启迭代部署流程。
试点部署是将应用部署到生产环境,但限制访问的用户群体。这些小范围的用户会提供反馈,并且他们了解试点可能带来的风险,如有限的支持和数据丢失的可能性。试点部署常用于将质量作为首要任务的项目。
1.2 协作式部署
对于较小的项目或架构适合快速部署的项目,部署过程相对较快。而 Auctionator 的部署需要几个小时,因此团队采用协作的方式进行。团队成员平时在办公桌前工作,但在部署时会聚集到会议室,面对面交流。这样的安排能让团队成员在完成部署步骤时及时告知他人,遇到问题时也能加速故障排查。就像电影《阿波罗 13 号》中,机组人员遇到问题后,地面控制中心的各小组从不同角度分析问题。在软件部署中,若网页显示不正常,用户体验设计师会验证样式表是否正确安装,网络工程师会检查 Web 服务器是否运行,实施工程师会验证数据库脚本是否正确运行。
当部署完成后,相关人员会向公司发出通知,以便大家为支持新应用做好准备。
1.3 庆祝项目交付
完成像 Auctionator 这样的项目后,庆祝是很有必要的。尽管很多人认为这只是工作,但每个项目都凝聚了大家的个人努力,我们应该为克服的困难和交付的成果感到自豪。庆祝不仅是对团队成就和解决问题的认可,也是管理层向员