【DevOps核心理念基础】3. 敏捷开发最佳实践

2023-10-26

一、敏捷开发最佳实践

1.1 项目管理

1.2 需求管理

1.3 技术架构

1.4 技术开发

1.5 测试

二、敏捷开发最佳实践

2.1 敏捷开发的执行细节

三、全面的DevOps工具链

四、版本控制和协作开发工具

4.1 集中式版本控制工具

4.2 分布式版本控制工具 


一、敏捷开发最佳实践

1.1 项目管理

  • 迭代开发

  • 技术团队的人员素质,人员配备完整

  • 及时有效的沟通方式,比如 每日会议、广告墙、任务板 

  • 公开透明和项目技术和项目文档


1.2 需求管理

  • 需求订单 inbox,类似redmine,jira的订单显示方式

  • 业务流程简图

  • 用例驱动开发

  • 良好的处理通知机制

 

1.3 技术架构

  • 演进可行的基础资源、网络架构,每一步都是可用的

  • 演进可用的人机交互设计

  • 基于组件、插件、扩展的架构设计

 

1.4 技术开发

  • 结对编程(两个或多个员工沟通顺畅或者对某个业务属性分一个队完成任务)(只是建议

  • 测试驱动开发(根据测试用例进行开发)(只是建议,需要看团队风格

  • 代码重构(经常优化代码)

  • 代码安全和规范(后章节有专门工具)

 

1.5 ​​​​​​​测试

  • 单元编程

  • 并行测试边开发边测试,模块或者类测试)

  • 完善的测试报告

 

二、敏捷开发最佳实践

2.1 敏捷开发的执行细节

  • 重要的目标是通过持续地及早交付有价值的软件使客户满意

  • 拥抱需求的变化,乐观面对需求,敏捷掌控软件生命周期

  • 经常地交付可工作的软件,倾向于采取较短的周期

  • 业务人员、开发人员、测试人员必须相互合作,高效沟通

  • 不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈

  • 可工作的软件是进度的首要度量标准

  • 不断地坚持针对软件开发,架构的优化,敏捷能力由此增强

  • 以简洁为本,它是极力减少不必要工作量的有效手段

  • 团队定期总结经验,反思自身,不断提高团队的专业水平

 

三、全面的DevOps工具链

  • 版本控制 & 协作开发 : GitHub、GitLab、SubVersion、 BitBucket

  • 自动化构建 和 测试: Maven 、Selenium、PyUnit、JUnit、PHPUnit

  • 持续集成&交付: Jenkins

  • 容器平台: Docker、Rocket、 Ubuntu ( LXC)、第三方厂商如(AWS/阿里云)

  • 配置管理: Saltstack、Ansible

  • 容器调度平台(常用于微服务): OpenShift、Cloud Foundry、Kubernetes.Mesosphere、 Docker Swarm

  • 日志管理: Logstash、CollectD、StatsD

  • 监控,警告&分析:Nagios、Ganglia、Sensu、zabbix、ICINGA、Graphite、 Kibana

四、版本控制和协作开发工具

4.1 集中式版本控制工具

  • 代表工具 SVN

  • 由一个中央服务器控制所有的文件版本,集中式管理

  • 所有客户端都可以对中央库进行操作,由中央服务器保证版本的统一

  • 特点是安全性不够好,针对中央服务器的通信比较频繁,如果版本库文件过多,服务器压力较

 

4.2 分布式版本控制工具 

  • 代表工具 GIT推荐

  • 本地就是一个中央服务器的完整镜像,直接提交到本地的镜像

  • 不依赖中央服务器的服务,不依赖网络,中央服务器负载压力小特点是 安全性好每个开发者本地就是一个副本,储存也可以得到分布式架构的优化

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【DevOps核心理念基础】3. 敏捷开发最佳实践 的相关文章

  • 进程间通信

    进程间通信 进程间通信介绍 进程间通信目的 数据传输 一个进程需要将它的数据发送给另一个进程 资源共享 多个进程之间共享同样的资源 通知事件 一个进程需要向另一个或一组进程发送消息 通知它 它们 发生了某种事件 如进程终止 时要通知父进程
  • Linux 系统日志及其归档

    主要记录Linux 系统需要关注的日志文件 以及日志归档服务 rsyslogd 系统日志服务 rsyslogd 日志服务 rsyslogd reliable and extended syslogd 可靠 可扩展的系统日志服务 Rsyslo
  • 【镜像压缩】linux 上 SD/TF 卡镜像文件压缩到实际大小的简单方法(树莓派、nvidia jetson)

    文章目录 1 备份 SD TF 卡为镜像文件 2 压缩镜像文件 2 1 多分区镜像文件的压缩 树莓派 普通 linux 系统等 2 2 单分区镜像文件的压缩 Nvidia Jetson Nano 等 3 还原镜像文件到 SD TF 卡
  • 服务器集群是如何提高计算性能的?

    服务器集群是一种将多台服务器连接起来协同工作的技术 通过集群配置 可以提高计算性能 可靠性和可扩展性 以下是服务器集群如何提高计算性能的详细解释 一 并行处理能力 服务器集群的核心优势在于其并行处理能力 通过将多个服务器组成一个集群 可以将
  • 自定义编写zabbix_agent脚本

    vi usr lib systemd system zabbix agent servicce Unit Description Zabbix Agent After syslog target After network target S
  • sonar.analysis.mode 参数的替代方案

    我正在使用 Sonarqube 7 9 和 Gitlab 以及 Maven docker 映像 该映像使用以下命令调用我的 Sonarqubemvn batch mode verify sonar sonar DskipTests true
  • 在 vscode 扩展的集成测试期间打开工作区

    我有一个用例 我需要在主机环境中打开一个工作区以进行 vscode 测试 我想知道一个打开默认工作区的函数和另一个可以与await 一起使用的函数 以便测试函数等待工作区打开 None
  • 如何使用 IBM Bluemix Track & Plan 管理多个组件

    我们有一个由多个不同组件 不同功能 语言 组成的应用程序 在 IBM Bluemix 中是否可以使用单个 Track Plan 功能来管理组件的工作项 但将源代码保留在单独的 git 存储库中 例如 我希望整个应用程序有一个积压工作 然后由
  • 如何解决Mybatis-plus与Mybatis不兼容的问题:An attempt was made to call a method that does not exist. The attempt

    博主猫头虎的技术世界 欢迎来到 猫头虎的博客 探索技术的无限可能 专栏链接 精选专栏 面试题大全 面试准备的宝典 IDEA开发秘籍 提升你的IDEA技能 100天精通Golang Go语言学习之旅 领域矩阵 猫头虎技术领域矩阵 深入探索各技
  • UI自动化测试之Jenkins配置

    背景 团队下半年的目标之一是实现自动化测试 这里要吐槽一下 之前开发的测试平台了 最初的目的是用来做接口自动化测试和性能测试 但由于各种原因 接口自动化测试那部分功能整个废弃掉了 其中和易用性有很大关系 另外 也和我们公司的接口业务也有关
  • 2023下半年软考「单独划线」合格标准公布

    中国计算机技术职业资格网发布了 关于2023年度下半年计算机软件资格考试单独划线地区合格标准的通告 2023下半年软考单独划线地区合格标准各科目均为42分 01 官方通告 关于2023年度下半年计算机软件资格考试单独划线地区合格标准的通告
  • 组名称变量在天蓝色管道中可以是动态的吗?

    我在 azure 上有两个环境 它们之间的区别之一只是来自变量组的环境变量 是否可以为一个管道动态设置组名称 而不是设置两个可以映射自己的组变量的管道 这是我的构建管道的示例 trigger master develop jobs job
  • 循环访问 Azure 管道中的变量

    我有一个文本文件 其中有两个名称client1 and client2 我有一个 Powershell 脚本来读取文本文件 我对它的理解是它已经创建了一个数组 clientvariable Get Content Path FilePath
  • 计划错误:尚未使用 Cloud Resource Manager API

    当我尝试跑步时 steps id Plan Terraform name hashicorp terraform light args plan 在 Cloud Build 中 我收到错误 Error Error reading Proje
  • 我的 docker 容器没有互联网

    我本来可以正常工作 但现在停止了 我尝试了以下命令但没有效果 docker run dns 8 8 8 8 base ping google com docker run base ping google com sysctl w net
  • 在 Premesis 或 Bluemix 等 PaaS 上使用 XPage 进行 DevOps

    使用 XPage 实现 DevOps 的最佳方式是什么 多个开发人员作为一个团队工作 本地服务器 Dev QA Prod 我们可以复制到 Bluemix 吗 源代码控制自动化测试 UI 应用程序 使用测试框架对业务逻辑进行单元测试 自动化部
  • Azure 管道在解析管道 YAML(唯一作业名称)时遇到错误

    在我的 azure devops 项目中 我使用模板创建了一个管道 这是我的构建管道的主要 yaml 文件 name Test Date yyyyMMdd Rev r resources repositories repository ap
  • 在 Chef 中使用属性

    刚刚开始使用chef最近 我发现属性存储在一个名为的大型整体哈希中node可在您的食谱和模板中使用 似乎有多种定义属性的方法 直接在食谱本身中 在属性文件下 例如attributes default rb 在传递给的 JSON 对象中che
  • 无法安装 kubernetes helm Chart 错误:无法重复使用仍在使用的名称

    无法安装 helm 图表 但当我使用 helm 生成的原始文件时 我可以通过 kubectl apply 安装 当我使用时显示以下错误helm install myChart debug Error cannot re use a name
  • 如何配置 Ansible 跳过两个堡垒主机?

    我想编写一个 Ansible 剧本 使用 Ansible 2 7 5 它将在到达目标服务器之前跳过两个主机来执行诸如安装 docker 和 python 等操作 我能够让 Ansible 通过一台主机跳转到server1通过将其添加到我的h

随机推荐

  • Docker之DockerFile相关基础知识

    DockerFile相关基础知识 一 Docker镜像原理 1 操作系统组成部分 1 1 七大子系统 1 2 Linux文件系统 2 Docker镜像原理介绍 2 1 原理图 2 2 Docker镜像本质 2 3 统一文件系统 2 4 复用
  • react配置项目路径别名@

    为什么有的项目引入路径写 可以 自己的不行呢 因为别人的项目是配置过路径别名的 就表示src目录 因此我们也需要配置一遍 以下是react项目示范 vue项目同理 ts对 指向src目录的提示是不支持的 vite默认也不支持 所以需要手动配
  • 如何计算TCP吞吐量

    为什么80 的码农都做不了架构师 gt gt gt FROM how to calculate tcp throughput for long distance links 如何计算广域网链路的 TCP 吞吐量 刚刚点亮数据中心之间的高速网
  • Linux IP出现inet6 addr :fe80::20c:29ff:fe47:fd61/64 scope:l

    经常出现 inet6 addr fe80 20c 29ff fe47 fd61 64 scope link1 这种情况的不要担心了 试试这个方法 这也是我折磨了好多天整理的 不喜勿喷 谢谢 虚拟机设置权限 sudo chown book b
  • Git学习笔记

    配置user信息 配置user name git config global user name your name 配置user email git config global user email your email 查看所有配置信息
  • Jenkins中连接Git仓库时提示:无法连接仓库:Error performing git command: git ls-remote -h

    问题 Jenkins中连接Git仓库时提示 无法连接仓库 Error performing git command git ls remote h 原因 git的账号密码错误 解决方案 重新设置账号密码 操作 控制面板 凭证管理器 wind
  • 有趣的异常

    缘起 最近 在项目中遇到一个有趣的异常 在没附加调试器的情况下会直接崩溃 附加调试器后 会中断到调试器中 但是按 F5 继续运行后 程序还能继续执行 interesting 你能猜出这是个什么异常吗 初遇错误 在测试程序功能的时候 意外的崩
  • 【教程】一款Markdown 编辑器,免费版本 Typora 下载与使用.

    csdn资源老挂 再补一个网盘的 哪个能用用哪个吧 链接 https pan baidu com s 19c MJQRuas9v5lHxF1uB6A pwd f3n5 提取码 f3n5 gt gt 资源 lt
  • EXCEL-数据透视表、日数据整理成月数据

    1 当你面对一个很多年的日数据 想要把它整理成月数据 下图是2015年1月到2022年1月的日数据 2 首先我们把没用的信息挪开 在时间和日数据上加个表头 3 接着选中数据 包括表头 点击 插入 数据透视表 4 跳出来的框框 直接确认 5
  • AppsFlyer 研究(四)OneLink Deep Linking Guide

    一 简介 深度链接是指当用户打开移动应用时向其提供个性化的内容 或将用户带到应用内特定位置的操作 通过这种操作 您可以为用户提供优质的用户体验 从而极大加强用户与应用的互动 两种深度链接类型 由于用户不一定安装了移动应用 所以有两种深度链接
  • 曾经被视为「牛市制造机」们的机构巨鲸,如今都怎么了?

    这是白话区块链的第1790期原创 作者 Terry出品 白话区块链 ID hellobtc 11 月 17 日 萨尔瓦多总统 Nayib Bukele 表示 从明天开始 我们将每天购买一个比特币 直接开始了国家级别的比特币定投之旅 相信不少
  • 【图片二值化处理,以及byte[] 与bitmap互相转化问题】

    1 byte与bitmap相互转换 将byte流转换为bitmap byte signature item ToArray MemoryStream ms1 new MemoryStream signature Bitmap bm Bitm
  • 打开ABAQUS时,显示找不到 MFC140U.DLL 文件,打不开软件,亲测解决

    打开ABAQUS时 显示找不到 MFC140U DLL 文件 打不开软件 如何解决 下载了X64版本的 安装完毕后就可以打开了 Microsoft Visual C 2017 Redistributable 32位链接 link 64位链接
  • 时钟同步-注意客户端和服务端都需要开启123端口 udp协议

    确认时钟源 chronyc sources v chronyc tracking Linux Chronyd时间同步服务器详解 wangjie722703的博客 CSDN博客 local stratum 10 即使自己未能通过网络时间服务器
  • pytorch-lightning如何设置训练epoch

    Trainer初始化时添加max epochs参数 init model autoencoder LitAutoEncoder trainer pl Trainer gpus 8 max epochs 50 trainer fit auto
  • iOS uiscrollView 嵌套 问题 的解决

    苹果官方文档里面提过 最好不要嵌套scrollView 特别提过UITableView和UIWebView 因为在滑动时 无法知道到底是希望superScrollView滑动还是subScrollView滑动 一旦出现这种情况 情况就出乎我
  • 一文了解websocket全双工通信java实现&socket地址404问题解决

    websocket介绍 1 websocket介绍 1 1注解介绍 2 demo 2 1 后端代码 2 2 前端代码 2 3 效果 附录 socket地址404问题解决 1 websocket介绍 WebSocket是一种在单个TCP连接上
  • 背包问题

    一 01背包 题目 有一个容量为T的背包 现有n个物品 每个物品有都有一个体积w i 和自身价值v i 现在要求求出背包能够装的物品的价值最大 每个物品只可以装一次 基本思路 01背包是背包中的最基础的问题 后面很多背包问题都是01背包和完
  • [会议分享]2022年欧洲计算机科学与信息技术会议(ECCSIT 2022)

    2022年欧洲计算机科学与信息技术会议 ECCSIT 2022 重要信息 会议网址 www eccsit org 会议时间 2022年11月25 27日 召开地点 南京 截稿时间 2022年10月20日 录用通知 投稿后2周内 收录检索 E
  • 【DevOps核心理念基础】3. 敏捷开发最佳实践

    一 敏捷开发最佳实践 1 1 项目管理 1 2 需求管理 1 3 技术架构 1 4 技术开发 1 5 测试 二 敏捷开发最佳实践 2 1 敏捷开发的执行细节 三 全面的DevOps工具链 四 版本控制和协作开发工具 4 1 集中式版本控制工