【华为敏捷/DevOps实践】3. 如何开好站立会议

本文分享了华为在敏捷开发中站立会议的实践,强调其对团队协作的重要性,包括会议目的、过程及常见问题解决方案。

文/华为云DevCloud 恒少

理论总是美好的,现实却又是骨感的,很多华为云DevCloud的客户特别想知道How to,接下来恒少会陆续分享一些非常小的华为敏捷/DevOps的实践,点点滴滴。

开篇小故事:巴别塔,也叫通天塔;是《圣经·旧约·创世记》第11章记载,当时人类联合起来兴建希望能通往天堂的高塔,高塔越来越接近天堂,上帝紧张了,他看到人们这样齐心协力,统一强大,心想:如果人类真的修成宏伟的通天塔,那以后还有什么事干不成呢?一定得想办法阻止他们;

为了阻止人类的计划,上帝让人类说不同的语言,使人类相互之间不能沟通,并让人类分散世界各地,最终巴别塔没有建成。————以上摘自互联网:)

这个小的宗教故事,揭示如果语言相通,目标一致产生的巨大作用,都可以建成一个通天塔:)。

而软件开发的过程却又是一个离不开协作、沟通的过程。一个缺乏良好协作,沟通、理解和目标一致的软件团队,是很难高质高效的交付的。

敏捷的众多实践中,有一个为了提升团队协作的经典实践:站立会议,本篇即介绍一下,融入华为的一些具体实践和“坑”和“雷”:)

站立会议的关键词:每天,例行,简短(15mins内必须结束),全体成员,站立

站立会议的目的:增进互相了解,互相理解,及早暴露风险,促进沟通和协调,建造“通天塔”

站立会议的过程:

全员到场

轮流发言,记住是轮流,轮流,轮流(重要的事情说三遍)

每个同学的发言简短,可以参考下面的提纲

昨天我负责的工作项的进展;

今天我计划开展,或可以完成哪些工作项;

我遇到的困难、风险,是否需要帮助,需要谁的帮助;

我收获的经验,快速分享

发言时,可同步刷新工作项的进展(可以通过任一敏捷管理工具,比如华为云的DevCloud)

会议上识别的新的工作项,Leader应该记录增加到Backlog中。

华为站立会议实践的经验(keng)教训(lei):

Leader叽叽哇哇,成员一片沉默

拘谨,觉得不自在,无话可说,不愿意先说

总有同学打断别人的发言

变成“批斗”会议,你怎么又延期了?你怎么不早说?

变成一言堂和Push任务的会议。那谁谁你今天做这个,那谁谁你今天必须把这个交付了。

变成了汇报会议,议题得提前申报,甚至还要准备PPT

变成进度检查会议,只关注进度有没有完成

变成一个小时的会议,讨论技术,讨论方案,发散不受控

变成了不愿意参加的会议,不仅浪费时间,提出的风险和求助也得不到跟踪和解决,久而久之就失去了参加的主动性

....以上摘自华为这些年常见的一些现象,所以华为其实也不是高高在上的,华为的研发也很很多企业是一样的,都是一把鼻涕一把泪的。

华为站立会议填坑排雷的一些小点滴

1. 站位,不要走101火箭少女的C位,也就是不要如左图这样围着C位,而是推荐围成圈或围着Backlog(如有条件可以使用电子白板),这样可以保证每个成员的发言都是面向整个团队,而不是面向C位

2. 发言棒(Talking Stick)。可以用个简单道具、玩具都可以,接力传棒,拿到发言棒的同学才能说话,其他同学闭嘴,为了活跃气氛,避免机械,可以将道具抛起,落到谁那儿谁发言。总体就是创造轻松,舒服的氛围

3. 团队成员提出的困难、风险、求助,应得到跟踪并解决,下次的站立会议持续更新,让团队成员感受到效果,也更愿意参与这个会议,因为有帮助

4. 尝试Pull,而不是Push,对于一些新的工作项,风险,挑战,鼓励大家Pull任务,而不是由Leader Push任务。

5. 使用工具系统,当场刷新进展,记录新的工作项,而不是后续把卡片再记录到系统,容易遗忘和遗漏

6. 对了,DevCloud在wiki内嵌了站立会议的纪要模板,可以参考,使用wiki简单记录站立的纪要和要点,也是我们常用的,如下:

最后,为什么要站立开会呢?因为站在累,所以时间久了,就开不下去了,哈哈哈。。。

愿大家能够更好的开好站立会议,提升团队成员的协同,建造自己的巴别塔:)

【华为敏捷/DevOps实践】1. 产品经理如何开好迭代计划会议

【华为敏捷/DevOps实践】2. Wiki凭什么持续得到开发人员和团队的喜爱

【华为敏捷/DevOps实践】4. 如何从Excel管理软件的方式中走出来

【华为敏捷/DevOps实践】5. 如何避免DevOps变革的六大“焦油坑”

【华为敏捷/DevOps实践】6:架构师在新兴的DevOps组织应该扮演什么样的角色?

华为云DevCloud作为一站式云端DevOps平台,集成华为近30年研发实践和前沿理念,面向开发者提供研发工具服务,让软件开发简单高效。现支持5人以下额度范围内,可以免费使用,并且可以预约免费的产品演示和技术交流,详情查看华为云官网

<think> 我们使用Jsoup发送POST请求到指定URL。需要构建请求体(通常是JSON格式),并设置合适的请求头(如Content-Type)。由于目标URL是华为的内部接口,我们可能需要传递特定的参数。但用户没有提供具体的请求体内容,所以我们假设需要传递一个JSON对象。 注意:由于该URL是华为内部接口,没有公开的API文档,因此以下示例仅展示如何使用Jsoup发送POST请求。实际参数需要根据接口文档或实际需求进行调整。 步骤: 1. 引入Jsoup依赖(如果是Maven项目,在pom.xml中添加依赖)。 2. 构建请求体数据(JSON字符串)。 3. 设置请求头,特别是Content-Type为application/json。 4. 执行POST请求并获取响应。 示例代码: 假设我们需要发送的JSON数据为: { "category": "example", "pageSize": 10, "pageNum": 1 } 但请注意,由于不清楚具体接口所需参数,上述JSON仅为示例,实际使用需要替换为有效参数。 另外,URL中的查询参数`_=1758613201239`看起来是一个时间戳(用于防止缓存),我们可以动态生成。 代码实现: </think> 以下是使用 Jsoup 发送 POST 请求到指定 URL 的完整指南: ### 1. **基础 POST 请求代码** ```java import org.jsoup.Jsoup; import org.jsoup.Connection; import org.jsoup.Connection.Response; public class JsoupPostExample { public static void main(String[] args) { try { String url = "https://his.huawei.com/msa/atsgateway/com.huawei.ifoundation:cloudreq_service/devops/cloudreq/rest/v3/items/queryByCategory?_=1758613201239"; // 发送 POST 请求 Response response = Jsoup.connect(url) .method(Connection.Method.POST) // 设置 POST 方法 .ignoreContentType(true) // 允许处理JSON等非HTML内容 .execute(); // 获取响应结果 String responseBody = response.body(); System.out.println("响应状态码: " + response.statusCode()); System.out.println("响应内容: " + responseBody); } catch (Exception e) { e.printStackTrace(); } } } ``` ### 2. **关键参数说明** 1. **`.method(Connection.Method.POST)`** 显式声明 POST 请求方法 2. **`.ignoreContentType(true)`** 允许处理非 HTML 响应(如 JSON/XML),华为接口通常返回 JSON ### 3. **添加请求参数** 需要根据华为接口文档添加参数(示例): ```java Response response = Jsoup.connect(url) .data("category", "BUG") // 请求参数1 .data("pageSize", "20") // 请求参数2 .data("timestamp", String.valueOf(System.currentTimeMillis())) // 动态时间戳 .header("Content-Type", "application/x-www-form-urlencoded") // 表单类型 ... ``` ### 4. **设置请求头** 华为接口常需额外请求头: ```java .header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36") .header("Accept", "application/json") .header("Authorization", "Bearer your_token_here") // 如需认证 ``` ### 5. **处理 JSON 响应** 建议使用 JSON 解析库处理响应: ```java import com.google.gson.JsonObject; import com.google.gson.JsonParser; // 解析响应 JsonObject json = JsonParser.parseString(responseBody).getAsJsonObject(); System.out.println("返回数据: " + json.get("data")); ``` ### 注意事项 1. **参数格式** - 表单参数用 `.data(key, value)` - JSON 参数需设置 `header("Content-Type", "application/json")` 并使用 `.requestBody(jsonString)` 2. **时间戳更新** URL 中的 `_=1758613201239` 是防缓存时间戳,建议动态生成: ```java String dynamicUrl = url.replace("1758613201239", String.valueOf(System.currentTimeMillis())); ``` 3. **企业接口限制** - 需要华为账号认证时添加 `Authorization` 头 - 可能需处理 Cookies(使用 `.cookies(response.cookies())` 保持会话) ### 常见问题解决 - **403 错误**:添加合法 User-Agent 头模拟浏览器 - **超时问题**:添加 `.timeout(30000)`(单位:毫秒) - **响应乱码**:添加 `.postDataCharset("UTF-8")` > 提示:实际参数需参考[华为云 API 文档](https://support.huaweicloud.com/api-devcloud/devcloud_api_0001.html),非公开接口可能需要企业权限[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值