.NET 云原生架构师训练营(模块二 基础巩固 敏捷开发)--学习笔记

简介: 敏捷开发

2.7.1 敏捷开发

敏捷介绍

  • 敏捷的起源
  • 敏捷软件开发宣言
  • 敏捷开发十二原则
  • 生命周期对比
  • 敏捷开发的特点
  • 敏捷的发展
  • 敏捷的核心

敏捷的起源

2001年,17个老头子在一起一边滑雪,一边讨论工作,制定了《敏捷软件开发宣言》

从60年代中期开始到20世纪末,软件行业得到了非常迅猛的发展,软件系统的规模和复杂度也越来越高,行业普遍面临不满足需求,永远无法交付等一系列严重的问题,史称“软件危机”

从长期积累的经验看,早期阶段的时间投入会影响到后期的经济支出,就是需求变化发生的越晚,对软件交付的影响越大,这是瀑布模式存在产生的核心观点,所以瀑布模式主张非常完整的设计,拒绝需求变化

拒绝变化带来双向的负面效应,软件需求方得不到自己满意的产品,另一方面,由于过度强调计划,忽视领导者和管理者在团队中起的作用

针对以上两个负面效应,敏捷软件开发宣言中“拥抱变化”和“尊重个体”成为两个核心的观点

敏捷软件开发宣言

敏捷软件开发宣言:https://www.scrumcn.com/agile/scrum-knowledge-library/agilevalues.html

  • 个体和互动 高于 流程和工具
  • 工作的软件 高于 详尽的文档
  • 客户合作 高于 合同谈判
  • 响应变化 高于 遵循计划

敏捷开发十二原则

  • 我们最重要的目标,是通过及早和持续不断地交付有价值的软件使客户满意。
  • 欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。
  • 经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。
  • 业务人员和开发人员必须相互合作,项目中的每一天都不例外。
  • 激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目标。
  • 不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈
  • 可工作的软件是进度的首要度量标准。
  • 敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。
  • 坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。
  • 简洁为本,它是极力减少不必要工作量的艺术。
  • 最好的架构、需求和设计出自自组织团队
  • 团队定期地反思如何能提高成效,并依此调整自身的行为表现。

生命周期对比

生命周期 需求 活动 交付 流程
瀑布 固定的,需求明确 整个项目进行一次 一次交付 强调文档,用里程碑的方式,严格定义各阶段的输入和输出。不走回头路,如果出现返工,付出的代价巨大
敏捷 动态的,贴近客户需求 重复,直到正确为止 频繁小的交付 核心是小版本迭代。短、频、快的沟通与反馈机制,减少客户价值创造过程中的损耗

敏捷开发的特点

  • 小步快跑
  • 有项目计划,但也要“拥抱变化
  • 版本迭代周期内尽量不加任务
  • 团队配置也要敏捷
  • 敏捷也需要反思

敏捷的发展

敏捷发展的3个阶段:

  • 在软件行业被定义
  • 在商业活动中发扬光大
  • 软件商业活动汇合

后面两个阶段的开启受到了以下两个概念的启发:

  • 精益创业
  • 持续交付2.0

精益创业

2021年美国作家埃里克·莱斯出版了《精益创业》一书中的精简式反馈,以小见大等概念与敏捷软件开发迭代模型有很多相似之处

在 SCRUM 中要求每个迭代都能交付给有用价值的功能(可以工作的软件)

埃里克在束中提到的最小可行性产品 MVP 强调用最快,最简明的方式建立一个可用的产品原型,通过这个最简单的产品原型来测试产品是否符合市场预期,并通过不断的快速迭代来修正产品,最终适应市场需求

001.jpg

定义 MVP 的关键在于,需要抓住用户的核心完整需求,在之后的迭代中不断地将核心完整需求变的好用。要求是那些必不可少的且最后是完整可用的

软件开发终究是为商业活动服务的,只有在商业活动也是敏捷的情况下,敏捷软件开发才能发挥最大的威力。可惜的是精益创业的思想产生比软件敏捷开发思维晚了整整11年

持续交付2.0

国内 DevOps 专家乔梁在2019年出版了《持续交付2.0:业务引领的DevOps精要》中提出双环模型强调“只有业务方能够以“精益”方式思考,持续交付才能更显威力”,由此软件开发活动与商业活动有了完整统一的方法论模型

002.jpg

  • 提问:用户需要什么
  • 锚定:背后的真正需求
  • 共创:业务,销售,开发人员一起思考解决方案
  • 精炼,决策
  • 构建
  • 运行
  • 监测:埋点

监测环节为精益创业中产品的验证提供数据支持,通过数据来反馈产品是否符合用户预期

敏捷的核心

变化来自于哪里?

从2001年的敏捷宣言核心观点来看“拥抱变化”,多数的变化可以认为是需求

需求的变化有两种:

  • 一种是需求没有变,是没有理解透(很多复杂的细分行业B端产品)
  • 另外一种是提出需求的人自己没有想清楚(很多创新型产品,互联网行业居多)
目录
相关文章
|
2月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
58 0
|
3月前
|
人工智能 缓存 Kubernetes
.NET 9 首个预览版发布:瞄准云原生和智能应用开发
.NET 9 首个预览版发布:瞄准云原生和智能应用开发
|
18天前
|
存储 开发框架 前端开发
前端框架EXT.NET Dotnet 3.5开发的实验室信息管理系统(LIMS)成品源码 B/S架构
发展历史:实验室信息管理系统(LIMS),就是指通过计算机网络技术对实验的各种信息进行管理的计算机软、硬件系统。也就是将计算机网络技术与现代的管理思想有机结合,利用数据处理技术、海量数据存储技术、宽带传输网络技术、自动化仪器分析技术,来对实验室的信息管理和质量控制等进行全方位管理的计算机软、硬件系统,以满足实验室管理上的各种目标(计划、控制、执行)。
17 1
|
5月前
|
Java Docker 容器
美团大牛精心整理SpringBoot学习笔记,从Web入门到系统架构
近期慢慢复工,为了准备面试,各路码友们都开始磨拳擦脚,背面试题、知识点。小编最近得一良友赠送了一份关于SpringBoot的学习笔记,简直不要好用,理论解析言简意赅,每一步操作都有图片展示。这么好的东西肯定不能私藏,为了感谢大家在2019年里的支持,我现在将这份笔记赠送给大家,祝大家前程似锦,Offer不断!
|
5月前
|
开发框架 缓存 Cloud Native
微软发布 .NET 云原生开发框架—— .NET Aspire
微软于 2023-11-14日 发布了 .NET 8 的正式版。伴随着这个重要 .NET 版本的发布,微软也发布了一个全新的 .NET云原生开发框架 —— .NET Aspire,它提供了如下 3 个方面的能力,来帮助我们使用 .NET 开发分层、云就绪的可观测、本地与生产环境一致的分布式云原生应用程序。
215 0
|
2月前
|
机器学习/深度学习 算法 安全
隐私计算训练营第三讲-详解隐私计算的架构和技术要点
SecretFlow 是一个隐私保护的统一框架,用于数据分析和机器学习,支持MPC、HE、TEE等隐私计算技术。它提供设备抽象、计算图表示和基于图的ML/DL能力,适应数据水平、垂直和混合分割场景。产品层包括SecretPad(快速体验核心能力)和SecretNote(开发工具)。算法层涉及PSI、PIR、数据分析和联邦学习(水平、垂直、混合)。此外,SecretFlow还有YACL密码库和Kusica任务调度框架,Kusica提供轻量化部署、跨域通信和统一API接口。
69 0
|
2月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
116 0
|
2月前
|
敏捷开发 监控 前端开发
Spring+SpringMVC+Mybatis的分布式敏捷开发系统架构
Spring+SpringMVC+Mybatis的分布式敏捷开发系统架构
100 0
|
2月前
|
数据安全/隐私保护 Windows
.net三层架构开发步骤
.net三层架构开发步骤
14 0
|
2月前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
70 1

热门文章

最新文章