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

2023-09-12 20:13:54

一、敏捷开发最佳实践

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推荐

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

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

 

更多推荐

ElasticSearch查询工具类分享

文章目录1.sql转ES工具2.KibanaVSPostman/ApiPost3.esjson转java4.ElasticSearch查询工具类esHelper5.在IDE控制台看到效果如图前言最近需要对ES数据进行分析和查询,之前因为在入门ES时没有好好做笔记和整理。1.sql转ES工具https://printlo

【MySQL从删库到跑路 | 基础第二篇】——谈谈SQL中的DML语句

个人主页:兜里有颗棉花糖欢迎点赞👍收藏✨留言✉加关注💓本文由兜里有颗棉花糖原创收录于专栏【MySQL学习专栏】🎈本专栏旨在分享学习MySQL的一点学习心得,欢迎大家在评论区讨论💌前言前面我们已经讲解了SQL语句中的DDL语句。今天我们继续来学习SQL的DML语句。DML是数据操作语言,用于对库中表的数据操作进行

网络协议 — syslog 协议与 rsyslog 日志服务

目录文章目录目录syslog协议FacilitySeverityActionrsyslog软件架构rsyslogd服务rsyslog.confMODULESGLOBALDIRECTIVESRULS属性替代模板渲染过滤规则Filter模块队列远端日志文件服务器部署示例客户端服务器验证将日志存储至MySQL部署示例服务器验

ASO优化之如何给应用选择竞争对手

在选择竞争对手过程中,最常见的错误之一是没有考虑到自己的应用与同一行业的其他应用相比的范围。例如如果我们刚刚发布了一个应用程序,那么最好的办法就是专注于研究和自己同一级别的应用。1、研究主要关键词。首先选择5到10个可以定义产品类型的主要关键词,找到它们后,需要在GooglePlay、AppStore或其他应用商店内,

关于埋点上报

一、埋点上报结构包含哪些?埋点上报结构一般包含以下信息:事件名称:标识上报的是哪个事件,例如“注册成功”或“点击按钮”等。事件发生时间:记录事件发生的时间戳。用户ID:标识事件所属的用户。设备信息:记录设备类型、操作系统版本、应用版本等。地理位置:记录事件发生时的地理位置信息,可以是经纬度、城市名称等。其他自定义参数:

Vivado中增加源文件界面中各选项的解释

文章目录官方解释结论总结验证增加单个.v文件增加文件夹Copysourcesintoproject参考文献本文对Vivado中增加源文件界面AddorCreateDesignSources和AddorCreateSmulatonsources中的选项ScanandaddRTLincludefilesintoprojec

yolov5自动训练/预测-小白教程

文章目录引言一、配置参数设置1、数据参数配置2、模型训练参数配置3、模型预测参数配置二、一键训练/预测的sh介绍1、训练sh文件(train.sh)介绍2、预测sh文件(detect.sh)介绍三、本文训练main代码解读1、训练main函数解读2、数据加工与参数替换四、本文预测main代码解读1、训练main函数解读

安卓系列机型 框架LSP 安装步骤 支持多机型 LSP框架通用安装步骤【二】

​​​​​​安卓玩机教程---全机型安卓4----安卓12框架xpedxlsp安装方法【一】低版本可以参考上个博文了解相关安装方法。LSP框架优点简单来说装lsp框架的优点在于可以安装各种模块。包括但不限于系统优化加速游戏开挂等等的模块。大致相当于电脑的扩展油猴Lsposed框架是在Edposed框架的基础上进行改良的

【云原生 | 57】Docker三剑客之Docker Swarm֯使用其他服务发现后端

🍁博主简介:🏅云计算领域优质创作者🏅2022年CSDN新星计划python赛道第一名🏅2022年CSDN原力计划优质作者🏅阿里云ACE认证高级工程师🏅阿里云开发者社区专家博主💊交流社区:CSDN云计算交流社区欢迎您的加入!目录1.使用文件2.其他发现服务后端3.地址和端口的范围匹配👑👑👑结束语👑�

云原生之使用Docker部署SSCMS内容管理系统

云原生之使用Docker部署SSCMS内容管理系统一、SSCMS介绍二、本地环境介绍2.1本地环境规划2.2本次实践介绍三、本地环境检查3.1检查Docker服务状态3.2检查Docker版本3.3检查dockercompose版本四、下载SSCMS镜像五、部署SSCMS内容管理系统5.1创建SSCMS容器5.2检查S

制作学生查询小程序

学生个人成绩查询小程序,一款助力教师实时了解学生学习情况的便捷工具。本文将为您揭秘它的制作过程,并提供实用的建议。然而,简便易用的方法莫过于选择现有的工具。许多教师都偏爱使用易查分来快速创建查分网站。与传统的独立开发方式不同,易查分免去了高昂的定制费用和计算机技术要求。只需简单操作电脑,教师们就能通过上传成绩表格轻松制

热文推荐