“产品发布时切勿选择周五”:开发者经过 64 次更新后的悔言!AI 工具惊人爆红,却死于意外
来源:搜狐
时间:2024-01-15 23:37:15 499浏览 收藏
哈喽!今天心血来潮给大家带来了《“产品发布时切勿选择周五”:开发者经过 64 次更新后的悔言!AI 工具惊人爆红,却死于意外》,想必大家应该对科技周边都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习科技周边,千万别错过这篇文章~希望能帮助到你!
整理的内容如下:郑丽媛
重新书写的内容为:出品 | CSDN(ID:CSDNnews)
从事互联网产品开发的程序员对于项目上线并不陌生,毕竟产品需要不断迭代更新。因此,上线这件事显得相对重要:研发人员必须在场,测试团队也必不可少,运维团队更是重要,还有产品经理、设计人员等也需要对上线内容进行验收……
考虑到整个操作过程及后续工作的复杂性,每家公司对产品上线必然有相应的制度规范,一般来说也有固定的上线日期,可能是每周三,也可能是每周五——那么提问:作为一名产品开发的程序员,你参与的项目一般是周几上线?
近日,Octomind的首席工程师发出了一个倡议,针对这个问题:“绝对不要在周五发布更新!”这个观点很快引起了广泛的关注和讨论
Octomind 这款备受欢迎的应用已经进行了 64 次更新,其中有 9 次是在周五进行的
在正式开始之前,我们先简单了解一下Octomind。这是一个基于浏览器的端到端测试工具,可以自动维护和生成测试。它可以集成到Github Actions、Azure DevOps等平台。从Octomind官网上可以看到,它的主要目标是解放工程师的测试时间:“工程师们最希望节省时间的第一件事是什么?测试。不要浪费时间在错误的测试上,直接进行开发构建。”
根据官方网站介绍,用户只需要提供一个URL给Octomind,它就能利用人工智能发现、执行并维护端到端(E2E)测试。所谓端到端测试,是指模拟真实用户的操作流程,从用户界面开始,经过各个系统组件的各个层级,直到最终输出,以验证整个系统在各个环节的功能和性能是否合格,确保产品的质量和稳定性
正如Octomind所指出的,E2E测试存在一个重要的信任问题,即代码Bug并不是导致测试失败的唯一原因:第三方依赖、时间问题、随机性、竞争条件等等,都有可能导致测试结果的不稳定和不可靠
基于此,Octomind 应运而生。它的目标是帮助开发者节省那些因为调试完全正常的代码而浪费的宝贵时间。Octomind 是即插即用的,适用于 CI/CD 管道,可以及时将测试结果反馈给用户,并提供详细信息供用户检查、复盘和调试
Octomind 凭借这些特点赢得了业界人士的赞誉:
- Aimino 联合创始人兼首席技术官 Duc Tam Nguyen 表示:“有了 Octomind 后,就像我的团队中多了两个人在提供高质量的测试用例,它比我们尝试过的任何其他工具都要好用”;
- Best Parents 联合创始人兼首席技术官 Aditya Advani 也对 Octomind 称赞道:“作为一个早期阶段的消费市场,我们需要保持高质量和高速度。幸运的是,Octomind 出现了。此刻,一位快乐的工程领导竖起了大拇指。”
根据统计数据显示,备受欢迎的Octomind在今年11月已经进行了64次更新迭代,其中有9次更新都发生在周五。然而,最近Octomind的首席工程师Daniel Draper撰写了一篇博客,标题为“绝对不要在周五发布更新”
拒绝在周五上线,是否意味着代码质量不够好?
丹尼尔·德雷伯在他的博客中指出,软件开发行业中有许多程序员都认为不应该在周五发布软件。这是因为周五的最后期限常常会迫使他们匆忙完成任务,可能会在没有充分检查的情况下强行发布,从而引发一些问题
- 质量受损:倾向于省略一些看似不重要的测试或忽略测试失败的结果,导致发布的版本不稳定。
- 周末加班:如果出了问题,开发人员不得不放弃周末时间来修复问题,从而导致倦怠和不满。
- 遗忘细节:开发人员的工作重心转移后,可能无法回忆起上线时的所有细节,故障排除变得更加困难。
然而,知名计算机作家Allen Holub有不同的观点:“如果你每天发布几次,以保持延迟时间很短,发布时不允许出现已知错误,进行充分的测试(其中大部分是自动化测试),并在编写代码时由多人审核,那么在周五发布的风险基本上为零。”
甚至,此前Allen Holub曾明确表示:如果你拒绝在周五发布代码,那么你的代码质量肯定不够好——对于这个说法,Daniel Draper有不同看法:“我不同意Allen关于‘不在周五发行’就意味着质量不高的说法。”
实际上,在博客的开头,Daniel Draper解释说,他们的团队并不是完全拒绝在周五发布更新,只是相对来说更注重开发人员的休息时间
根据上文所述,他们的团队在过去的9次周五发布产品更新时,总是出现了意外的Bug,而不论是否是工作日。因此,他提议“不要在周五上线”,这仅仅是出于珍惜自己和其他工程师的周末时间的考虑:“从根本上讲,选择哪天上线只是对团队设定期望的问题。如果有机会减少周末加班回滚或修复Bug的可能性,无论这个机会有多小,我都会抓住。”
在产品上线之前,当然应该发现并修复 Bug,但没有人能百分之百保证没有 Bug。因此,如果没有紧急业务需要在周五发布,我认为将更大的版本推迟到周一上线也没有什么问题
引起广泛关注,Octomind 一度陷入瘫痪状态
丹尼尔·德雷珀的这篇博客在 Reddit 上引起了许多开发者的关注,并引发了许多人的共鸣:
- “说得没错,Bug 在任何时候都可能发生,但如果大概率发生在周五,对团队来说无疑是雪上加霜。我就是这样,我一般都会避免在下班前上线产品,因为万一出了什么问题,处理起来会很头疼。”
- “正因如此,我们团队一般不在周五或工作日下午 3 点后发布产品。因为我们的经验是,发布后通常只会出现两种问题:一是立即崩溃,然后回滚;二是几个小时甚至一天内都很正常,但之后会发现性能下降了或部分数据损坏了。因此,最好不要在下班前或周五上线。”
- “所以说,整个游戏行业在周二发布/更新是有原因的。周一要确保上周制作的所有内容都井然有序,随时可以推送。然后周二发布,之后到周五都可以进行 Bug 修复,几乎无需在周末操心。”
有些人认为,周五上线对于某些产品来说是比较合适的,比如SaaS和游戏
- “很多专注于大型业务的 SaaS 供应商会在周五发布软件,因为要迎合朝九晚五的人群,而这些人通常不会在周末工作。我宁愿在交易量少的时候处理影响交易的 Bug,也不想在交易量大的时候处理。”
- “我是认真的,唯一应该考虑在周五发布任何更新的软件行业是游戏行业,因为他们的客户周末休息。一般来说,他们最开心的时候是整个周末都能玩到新游戏。”
另外还有开发者的建议,产品上线的最佳时间是周三。他们认为,虽然周一大家都在办公室,但是心思可能还没有完全从周末的放松状态转变过来,这种状态可能会延续到周二。因此,在他们看来,周三是推出产品的最佳日期,因为工程师们已经进入工作状态,并且还有周四和周五可以修复可能出现的问题
最终,Daniel Draper 这篇博客的意外疯传,引起了很多人对AI测试工具Octomind的关注,并尝试注册使用。然而,由于注册人数过多,导致Octomind在云端服务器上承受了巨大的负载,最终导致系统崩溃
当然,Octomind已经在此问题上进行了修复,并从中吸取了教训:“我们会尽量避免在周五发布,或许我们也不应该发布那篇博客。”
关于你所在团队的产品上线时间,一般是在周几进行的?你对产品上线时间有什么看法?
重写内容时无需改变原始意思,需要改写成中文。不需要出现原始句子
我们的应用程序出现故障,却意外迅速走红。详细内容请点击链接:https://www.octomind.dev/blog/we-went-viral-with-a-broken-app
https://www.reddit.com/r/programming/comments/18dprj9/never_ship_on_fridays/
我出生在越南,"开源改变了我的人生!"
上云一年烧320万美元,成功“下云”六个月后Ruby on Rails之父现身回了14个问题! 重新表达:一年来,上云服务花费了320万美元。成功“下云”六个月后,Ruby on Rails的创始人回答了14个问题!
2023 年,字节跳动的销售额将超过腾讯;OpenAI 推出了聊天内容存档的功能;Stability AI 宣布推出订阅服务
理论要掌握,实操不能落!以上关于《“产品发布时切勿选择周五”:开发者经过 64 次更新后的悔言!AI 工具惊人爆红,却死于意外》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
177 收藏
-
367 收藏
-
325 收藏
-
151 收藏
-
205 收藏
-
268 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习