阿里研发效能&敏捷实践交流群精华内容整理(持续更新中。。。)

简介: 精华问答: 关于敏捷 @上海-前端-alery :敏捷开发的核心是什么呢@舍卫 :顺畅和高质量地持续交付有用的价值,从而促进业务目标的达成。 @小飞_PHP开发_深圳 :前几天看DevOps,有一句话有我觉得可以分享一下,敏捷开发是一套方法和实践,但 又不是固定的套路,能得到或者实现目标的都可以来用。

精华问答:

关于敏捷

@金涛:多个项目并行,并且有交付时间点压力是不是不适合敏捷看板方式?
@何勉: 有点困难,我们需要的是更多的关注产品。 阿里云的对外交付项目面临同样的压力,我们现在的做法是更多的关注产品,从不同的项目中抽象出场景,用老大的话是:“勤于规划,勤于抽象场景”。用产品的规划来满足多个项目

@上海-前端-alery :敏捷开发的核心是什么呢
@舍卫 :顺畅和高质量地持续交付有用的价值,从而促进业务目标的达成。

@小飞PHP开发深圳 :前几天看DevOps,有一句话有我觉得可以分享一下,敏捷开发是一套方法和实践,但 又不是固定的套路,能得到或者实现目标的都可以来用。大意如此。

@姚高林-浅涵 :想问问 关于敏捷开发 对团队成员,包括 UED、PD、后端、前端、测试 会有哪些不一样的能力要求?开发流程、工作内容、职责范围、沟通协作有什么不一样?该如何提升相关的能力?
@小飞PHP开发深圳 :没什么不同吧…… 尽量更细的拆分需求,更频繁的跟进进度,有问题及时反馈,让每一个环节 更细小、轻快,方便调整 调度 安排。 敏捷开发都是为结果负责的,根本目的还是要更快更好的交付软件。不用想的高大上。降低沟通成本、提高软件开发质量,降低软件交付周期,都是为了提高软件价值。

@姚明伟 :请教个问题,面向B端市场的硬件设备开发,实际开发过程中,会发现硬件迭代一版的周期都会很长,如何在这种情况下使用scrum?换句话说,scrum是否适用于硬件产品的开发?
@刘昶:这个看硬件开发的功能是否能分解细化,如果可以应该是可以适用敏捷的。也就是说迭代版本太长是不是功能独立性不够或者功能太大太多
@姚明伟 :用户故事不够细?不够小?或者是说功能模块的拆分不够独立?大多情况都是,前几个sprint完成卡片数都是0,硬件开发出来的那一个sprint,可验证的故事一下子好几个
@云层:看拆分吧,sprint可长可短

关于站会

@小臣:每天的站会,怎么来验收效果
@小飞—PHP开发—深圳:可以谈谈站会的作用吗
@黎昊 :问下各位 如果遇到 测试工作还没开展 此时他们是不是不用参加站会?除了将要到测试工作的前两天才让其参与?
@上海-前端-alery :我觉得测试还是要参加的,测试要根据产品需求提前写测试用例和文档,每天也要汇报自己的工作进度
@GBASE 黄军雷 天津 :站会两个目的:建立团队共识,信息及时反馈

前往站会课程

关于DevOps

@杨波:持续集成和自动化测试框架用啥好呢

@Youngee :持续集成一般都是 Jenkins。自动化测试一般需要按分层来,不同层技术不太一样:单元测试 junit + easymock 等 mock框架,UI 层可以用大阿里的 macaca (https://macacajs.github.io/zh/introduction)。
_

(小编说:当然也可以使用云效——一站式DevOps工具平台喔)

@李文辉 :如何在传统企业中比较传统的研发模式下,逐步推进DevOps,实现持续集成和交付?
@云层:首先是文化,梳理价值,持续集成和交付可以先行,devops还比较后面。
@李文辉 :持续集成、交付比较依赖自动化水平,目前传统企业的研发模式下,自动化水平都比较偏低。
@云层:持续集成在开发端是比较好做的
@Youngee :自顶向下,还是自下而上,然后再讨论。
@云层:先把打包发布的自动化做起来,再做上线自动化,接着在这个流水线上逐步引入质量监控和分支管理
@李文辉:打包、发布相对好做。
@Youngee :有时候一个高层可以给你省掉很多事
@李文辉:上线自动化,质量监控,需要推动从研发、测试整体流程的改进。持续集成,肯定是要自顶向下去推进。
@云层:规范了构建脚本和环境,很多事情就可以慢慢对接了
@李文辉:在推进研发往持续集成方向过程中,遇到的最大问题是什么?自动化测试工作量?质量和效率的平衡?请问刚提到的文化、价值,如何理解?
@云层:做敏捷,devops一定是所有人都意识到配合才行。推荐先拿历史项目做维护拆分练敏捷

关于代码分支管理

@慕白:敏捷中并行开发是常态,在小团队里(开发测试共25人),代码分支合并有什么好的建议吗?

@怀虎:因人而异,人员能力比较强的,就直接主干开发。用持续集成和自动化测试保证代码质量,再加上功能开关,将部署和功能发布解耦。

@慕白:请教一下 关于代码分支和主干的问题,只有一个开发主干dev分支,每次测试都在dev上,当验收通过后,拉取一个分支,打上tag,作为代码的release版本,发布到准生产环境。这样有个问题,就是在验收之前,总有不守规矩的开发,提交代码到dev上,怎么能避免或者降低这种情况呢?

@金戟 :主干开发也是需要配合Code Review的实践的,可以是使用Merge request和小的代码提交分支的方式来Review,也可以是先提交主干,每天固定时间所有开发一起过一遍当天所有的提交,然后及时发现问题。第二种方式对开发团队的成熟度要求会更高,适合整体能力比较好的团队。前一种更带有一定管控性,总之单主干并不是说随便什么代码可以都直接往主干上提交,也是需要规矩的。业务发展初期的时候,多快好省还行,到业务积累了一定用户以后,必要的质量管控一定要跟上了哈。稳定和速度的平衡

@大连-Rookie-web前端 :一个团队不仅要有持续交付能力还得有好的代码习惯和规范啊!最近在重构整理一个项目代码,以前迭代的冗余太多啦,代码规范更差,前期交付能力很快,到了后期,服务越来越复杂,问题显现出来了。整个服务扩展性变差,往往一个bug修复,会引起新的问题。但是重构和整理,比他妈的写个新服务都恶心

关于单元测试

@张路:请教下单元测试作为集成的一环,除了mockito,dbunit还有没有更加智能或者高效的组件推荐一下

@陈小伟:单元测试组件 我以为可以分为 4类: 测试框架,模拟框架,覆盖率报告,自动化用例生成。覆盖率报告 显得比较智能的可以关注一下 mutation test,比如 pitest。Java生态里 自动化用例生成 好用的基本上都 收费,.net 的话 vs2017自带,生成的用例规模巨大,要用好成本也不低。

@张路:java里面自动化用例生成有推荐的吗?之前知道有个EvoSuite,但没看到好用的idea插件

@陈小伟:AgitarOne EvoSuite。我也只是试用了一下。
觉得对于我们产品,集成在开发过程中成本并不低,效率提升帮助不大,就没有推了。单元测试,其实 写好的用例,比用高级的框架更重要。
推荐Roy Osherove 的《单元测试的艺术》

关于云效:

1、阿里云效哪里下载:

答:云效官网:https://www.aliyun.com/product/yunxiao
子产品如下:

项目协作: https://www.aliyun.com/product/yunxiao-project

代码托管: https://promotion.aliyun.com/ntms/act/code.html

Maven公共仓库: https://m.aliyun.com/markets/aliyun/ali-repo

持续交付: https://www.aliyun.com/product/yunxiao-cd

测试平台: https://www.aliyun.com/product/yunxiao-testing

2、云效支持私有云部署吗?怎么收费的?

答:支持。收费请参考:https://help.aliyun.com/document_detail/92574.html?spm=a2c4g.11174283.6.673.22013c6awXqH1N

3、云效看板有示例文档吗?

答:帮助文档将会上线,敬请期待

阿里研发效能&敏捷实践交流群

良好的群分享氛围需要大家共同打造,有疑问或希望听到哪些分享内容,欢迎大家在群内抛出来。
_

相关实践学习
流水线运行出错排查难?AI帮您智能排查
本实验将带您体验云效流水线Flow的智能排查能力,只需短短1-2分钟,即可体验AI智能排查建议。
ALPD云架构师系列 - 云原生DevOps36计
如何把握和运用云原生技术,撬动新技术红利,实现持续、安全、高效和高质量的应用交付,并提升业务的连续性和稳定性,这是云原生时代持续交付共同面对的机会和挑战。本课程由阿里云开发者学堂和阿里云云效共同出品,是ALPD方法学云架构师系列的核心课程之一,适合架构师、企业工程效能负责人、对DevOps感兴趣的研发、测试、运维。 课程目标 前沿技术:了解云原生下DevOps的正确姿势,享受云原生带来的技术红利 系统知识:全局视角看软件研发生命周期,系统学习DevOps实践技能 课程大纲: 云原生开发和交付:云研发时代软件交付的挑战与云原生工程实践 云原生开发、运行基础设施:无差别的开发、运行环境 自动部署:构建可靠高效的应用发布体系 持续交付:建立团队协同交付的流程和流水线 质量守护:构建和维护测试和质量守护体系 安全保障:打造可信交付的安全保障体系 建立持续反馈和持续改进闭环
目录
相关文章
|
Kubernetes 开发者 Docker
集群部署:使用Rancher部署Kubernetes集群。
以上就是使用 Rancher 部署 Kubernetes 集群的流程。使用 Rancher 和 Kubernetes,开发者可以受益于灵活性和可扩展性,允许他们在多种环境中运行多种应用,同时利用自动化工具使工作负载更加高效。
733 19
|
Java 数据安全/隐私保护 流计算
10分钟了解Flink Watermark水印
在上一篇中,介绍了Flink里时间的概念和窗口计算,在实际生产过程中,由于网络等原因,许多数据会延迟到达窗口,这种情况Flink如何处理?Watermark登场,本文从这几点进行介绍:水印的概念、水印如何计算、允许延迟和侧道输出、水印生成策略、案例及代码。
10分钟了解Flink Watermark水印
|
存储 缓存 小程序
微信小程序数据缓存与本地存储:优化用户体验
本文深入探讨微信小程序的数据缓存与本地存储,介绍其意义、机制及应用场景。通过合理使用内存和本地缓存,可减少网络请求、提升加载速度和用户体验。文中详细讲解了常用缓存API的使用方法,并通过一个新闻列表案例展示了缓存的实际应用。最后提醒开发者注意缓存大小限制、时效性和清理,以确保最佳性能。
|
JavaScript Java CDN
vue3完整教程从入门到精通(新人必学1,vue3快速上手)
本文提供了Vue 3从入门到精通的完整教程,涵盖了创建Vue应用、通过CDN使用Vue、定义网站以及使用ES模块构建版本的步骤和示例代码。
11011 1
vue3完整教程从入门到精通(新人必学1,vue3快速上手)
|
存储 JSON 数据库
使用Flask构建简单的Web应用
使用Flask构建简单的Web应用
337 4
|
IDE 开发工具 Windows
手把手教你调整电脑磁盘的分区大小
手把手教你调整电脑磁盘的分区大小
1696 0
手把手教你调整电脑磁盘的分区大小
|
编解码 API 开发工具
Android平台轻量级RTSP服务模块二次封装版调用说明
本文介绍了Android平台上轻量级RTSP服务模块的二次封装实践,旨在简化开发流程,让开发者能更专注于业务逻辑。通过`LibPublisherWrapper`类提供的API,可在应用中轻松初始化RTSP服务、配置视频参数(如分辨率、编码类型)、启动与停止RTSP服务及流发布,并获取RTSP会话数量。此外,还展示了如何处理音频和视频数据的采集与推送。最后,文章提供了从启动服务到销毁资源的完整示例,帮助开发者快速集成实时流媒体功能。
212 0
|
存储 缓存 NoSQL
redis中的分布式锁(setIfAbsent)(expire)
redis中的分布式锁(setIfAbsent)(expire)
|
Kubernetes 架构师 测试技术
软件测试|测试专家(前阿里P8)聊测试职业发展常见瓶颈
软件测试|测试专家(前阿里P8)聊测试职业发展常见瓶颈
|
SQL 存储 分布式计算
SpringBoot集成Jpa极简教程
基本概念 Jpa(Java Persistence API)即 java 持久化api规范,并不是一个ORM框架,而是一种访问数据的接口定义,通过与数据访问框架或者ORM框架配合,可以简单方便的处理与数据库的交互。这种概念有点类似 slf4j 和 logback 的关系。 SpringDataJpa是对JPA规范的封装,旨在提高开发效率,同时不失灵活性,它提供了一种简单、一致的方式来访问不同种类的数据源,包括关系数据库、非关系数据库、MapReduce 框架等。Spring Data JPA 还提供了一些高级特性,如动态查询、多表查询、嵌套查询、存储过程和函数调用等。
780 0
SpringBoot集成Jpa极简教程