模块化、内聚力和关注点分离增强了我们收集反馈的能力,从而促进了实验。
现代软件工程模型包含优化学习和管理复杂性的十个概念,然后是一些工具,如可测试性、可部署性、速度、控制变量和持续交付。
工程学是对经验主义的、科学方法的应用,目的是为实际问题找到高效的、经济的解决方案。
工程是人类过程,我们工作的组织和团队也是系统。
在数字化组织中,以工程为主导,软件开发不是成本中心,不是支持功能,它是业务。
数字化组织就是把OBAP模型颠覆为BAPO模型。
《加速》既提供了对结果的有效度量,也提供了实现路径机制。结果度量是稳定性和吞吐量。过程机制是产品管理、项目管理、架构管理、持续交付和文化五大能力。
通过关注优化学习和管理复杂性的基本原则,我们增加了成功的机会,无论我们选择使用什么技术。
如果你总是优化你的工作和你开展工作的方式,以最大限度地提高你的学习效率,你会做得更好。
如果你总是努力管理你眼前工作的复杂性,在各种规模上的工作都是如此,你将能够永远有能力把工作做好。
这些对于软件开发来说都是真正的工程学科的标志。当我们应用这些准则时,可以极大地增加我们更快地构建更好的软件的机会。
附:软工相关书籍
#现代软件工程 :提供了优化学习和管理复杂性两大领域的思想。
#软件工程 :讲述软件生命周期、可依赖性、复用、项目管理质量管理配置管理
#混沌工程 :混沌工程的原则、实战、人、商业及扩展
#演进式架构 :以适应度函数引导增量变更和适当的耦合
#微服务 :微服务的设计、集成、测试、部署
持续集成:持续集成简介与落地阶段
#Google软件工程