《猎豹行动:硝烟中的敏捷转型之旅》读书笔记DAY03:触礁-项目试点的各种问题
667
2022-05-29
DAY04:《猎豹行动:硝烟中的敏捷转型之旅》--探路-敏捷深化 迈向常态
本次主要讲解了书中反复提到的一个大型项目--“热带雨林”,涉及到如下知识点:
1)实例化需求
2)行为驱动开发
3)微服务架构
4)契约测试
下面谈谈我个人的理解:
☆业务和IT之间的“矛盾”
业务跟IT之间存在着巨大的知识鸿沟,业务非常熟悉业务流程,但他们对技术不了解,也不感兴趣;而IT却很懂技术,但是对于业务的细节并不那么理解;这就导致很多时候大家对于传统的需求描述的理解会非常的不一致。
所以就衍生出了“实例化需求”的概念,实例化需求说明是一组过程模型,不仅剞劂了需求分析和撰写的问题,也给出了需求沟通和澄清的方法。
个人对于“实例化需求”的理解就是通过真实用户的行为来定义我们需要开发出什么样的产品来,相当于把用户的行为通过一个实例化的过程描述出来,然后整理成设计、开发和测试都能看懂的,当然最重要的是用户也能看懂,而且用户看完之后就认可,这就是我想要的,这就是BDD,也就是实例化需求过程。
它既不是传统的需求文档,也不是设计文档,更不是测试用例文档,但适用于从需求、设计、开发和测试的每一个阶段,而且都是从用户的角度为出发点的。
☆传统架构与为服务架构的碰撞
传统的应用架构通常是单体应用。有统一的数据库、UI层、控制层和逻辑层,虽然有分模块,但是在代码层面都是聚集在一起的。若是一个简单应用,这不是什么问题,但是当业务越来越复杂时,应用也变得越来越复杂,逐渐变成一头‘大怪兽’,维护和后续开发变得越来越困难,牵一发则动全身,交付周期越来越长,交付风险越来越高。应用本身也变得越来越难理解,新人对它的学习周期也会非常长。
而微服务架构就是把整个应用按照业务拆分成独立的应用,它有以下的特点:
(1)每个应用可独立开发、部署和扩容,甚至有独立的数据库;
(2)每个应用的职责单一、松耦合,和其他应用通过远程接口调用,没有代码依赖;
(3)基于以上原因,每个应用的开发、查错和变更速度快,它能更快地响应业务需求,提高敏捷性;
(4)由于采取去中心化结构,每个应用可以采取完全不同的技术栈,包括不同的开发语言,在技术选型上自由度大。
敏捷开发
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。