返回首页
最新
数字扭蛋是一款半恶搞、半真实的扭蛋游戏,玩家可以进行抽取、拆包和数字对战。为了获得最佳体验,请在桌面设备上游玩!
在过去的十五年里,我走进了许多声称自己在做“CI/CD”(实际上CI和CD是两个不同的实践)和“敏捷”的工程组织,并发现他们通过发布仪式和表演每年发布产品。我厌倦了看到一些黑暗的敏捷模式,因此我构建了一个项目管理工具,以避免这些模式,并作为对那些鼓励这些模式的工具的反制。
故事点的概念是我首先抛弃的东西。甚至连发明它们的Ron Jeffries也对其使用表示遗憾。Mainline将故事大小硬编码为1,并跟踪每个故事是否超出了团队从开始到发布的正常时间分布。经过几周的工作,团队对自己的节奏有了真实的把握,这得益于数据而非计划扑克的表演。不需要估算会议,只需完成工作。
未发布的工作被可视化并作为库存进行跟踪。市场上有一系列托管功能标志平台,出售与原始技术不同的理念。长期存在的面向业务的标志会造成浪费,表现为未管理的库存在其有效性过后仍然悬而未决。最糟糕的情况是,它们成为一个巨大的配置表面,而“技术债务”这个术语并不足以捕捉到这一点。Mainline跟踪按抽象分支、黑暗发布、功能标志和旧故事在三个阶段中的进展:进行中、老化和过时。
待办事项列表被故事地图取代。工作以用户旅程的形式展示,如果不在地图上(或没有关联的用户角色),则视为不存在。这使得某人更难将技术任务或随机工作强加给团队,以“拥有待办事项列表”为目的。
高效团队使用的协作模式是首屈一指的。集体工作、配对和独立工作都是可见和可跟踪的,这使得去孤岛化变得清晰,并促进了共同拥有。
我抵制添加AI功能。这将是一个周末的工作,但也会破坏整个目的。更详细的论述可以在mainline.dev/docs/ai找到。
我开始构建这个应用时使用了事件源和CQRS,因为我希望应用围绕一个不可变的事件日志构建。但这导致了过多的样板代码,使得任何简单的更改都变得困难。因此,我选择了RDBMS和事务来实现不可变的事件日志。
在看到数十个微服务团队完全无法安全发布任何东西后,我采纳了自己的建议,从一个无聊的单体和RDBMS开始。这个技术栈本身是故意无聊的:使用Ruby、Roda和Sequel,Puma配合YJIT,通过Kamal部署到Hetzner。
对于希望在CI方面有所提升的团队,我构建了与GitHub(GitLab即将推出)的集成,读取仓库状态并跟踪分支(如果使用的话)开放的时间。这只是一个红点/绿点,作为仓库的提示。
实时演示可以在mainline.dev/demo找到。无需注册,因其为一个共享团队而为只读模式。
我希望听到关于我如何帮助团队在CI和CD方面变得更好的反馈,以及你们对那些使用其他工具实施泰勒主义方法的非实践者的寄生管理层的任何不满。此外,任何我未考虑到的(或考虑移除的)其他功能也欢迎提出。
我想将我的新帖子添加到您的网站上。
我注意到所有的3D AI生成器都会创建出无法编辑的整体块。因此,我和一个朋友一起开发了这个项目,允许用户生成具有独立、可编辑部分的3D对象。
我希望能得到社区的反馈。这个工具是免费的,但你需要自带钥匙(BYOK)。它使用像Gemini、Claude或chatGPT这样的模型来生成Blender构建脚本。基本上,输出的不仅仅是几何形状,而是构建它的过程以及资产本身。这意味着你可以在之后进入并编辑“零件套件”,而不是重新开始。