软件工程里的时间,成本和质量,三者最多能做到两个,有时候是一个,更多时候一个都做不到。
“又要马儿跑得快,又要马儿不吃草”这样的好事在世上是不存在的。
在业务的不同阶段,我们会有对应取舍。
初创期,快速试错
业务快速扩张期
业务快速扩张,量大了后,保障质量、稳定变得重要了
这里的质量问题,包括下面:
- 服务稳定性问题:容量、链路容错、变更故障、机房及地域故障...
- 研发质量:功能性质量...
- 人的问题:惰性、缺乏意识...
稳定期
经过快速扩张,业务进入稳定期,业务量已经很大了, 这时候成本问题突出了。
成本包括:
- 人员成本:沟通成本(两批萨团队)、人员工资...
- 运维成本:网站运维成本、历史包袱带来的变更成本...
总结
在技术没有出现革命性的创新时,需要按照业务所处的阶段痛点做中庸和取舍。