HackerURLs

一次又一次被重新发现的经典。

同一个链接,相隔一年以上,一次又一次被人重新发现、再次冲上 Hacker News 首页。能经受住这种时间检验的,大多是值得一读再读的文章。每篇附中文标题,讨论最热的那些再加上中文导读和高赞评论翻译。

从名人堂开始
  • 4,700+篇经过时间检验的经典

Hall of fame

名人堂

在经典库里看全部精选

上首页次数最多、而且有中文导读的 30 篇。时间轴上每个黑点是一次上首页,空心点是一次没冲上去的投稿。

  1. 正在载入经典…

Archive

经典库

按第一次上首页的年份分布,点柱子筛选。

排序

    About

    这些经典是怎么挑出来的

    1. 01

      合并同一个链接

      读取 Hacker News 自 2006 年以来的全部链接投稿,把 http/https、www、跟踪参数等写法不同的同一篇文章合并成一条。

    2. 02

      只留经得起时间的

      同一链接至少两次拿到 50 分以上(约等于上首页),而且两次相隔一年以上;再由 AI 剔除状态页、产品首页和新闻事件。

    3. 03

      写导读、译评论

      上首页次数最多的 2,000 篇配上中文导读、"为什么经久不衰",并精选翻译 HN 高赞评论。导读由 AI 生成,可能有误。

    职业与工作方法media.defense.gov

    DIB 指南:识别敏捷废话(2018)

    DIB Guide: Detecting Agile BS (2018) [pdf]

    3次上首页
    5年跨度
    701累计得分
    235条评论

    2019 — 2024,它一次次回到首页

    黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。

    导读

    这是美国国防部国防创新委员会(DIB)2018年发布的一份指南,教人识别打着“敏捷”旗号实为形式主义的伪敏捷项目,列出了诸多警示信号,例如开发团队从不与真实用户接触等。文档因出自国防部而颇具分量,多年来反复被 Hacker News 社区引用。

    为什么经久不衰:它把“敏捷已沦为管理表演”这一普遍痛点用官方文件的口吻一针见血地写出来,无论行业如何变化,伪敏捷问题始终存在,因此常年被重新翻出。

    关键词 敏捷开发伪敏捷软件工程管理国防部

    HN 评论精选

    敏捷转型往往把开发当成流水线管理,估算不准时责任全推给开发者

    现代软件开发中“敏捷”流程令人沮丧之处在于,真正的敏捷是有价值且可实现的。但过去20年里我经历了至少十几次敏捷“转型”,结局都一样:管理层请来缺乏实际开发经验的“敏捷顾问”,把软件开发当成流水线来优化。在这种模式下,开发者只是组装零件的工人,管理层开出工单让他们“组装”。既然只是“组装电脑玩意儿”,每个任务都应可预测:有经验的流水线工人看一眼工单就该能精确估算工时,超过一天的工单必须拆小。如果做不到,模型就崩了——而既然不能让模型崩,那错一定在流水线工人身上……

    commandlinefan查看英文原文

    What makes the state of “agile” processes in modern software development so depressing is that actual agility is worthwhile and – if anybody were actually to adhere to actual agile project management principles – achievable. However, I’ve been through at least a dozen agile “transformations” over the past 20 years or so since XP kicked off this whole trend and they all end up going like this: management hires some “agile consultants” who don’t have much (or sometimes any) actual software development experience, so they see software development as sort of an assembly line process to optimize, Taylor style. Under that model, software developers are skilled (or semi-skilled) widget assemblers, and management creates tickets for the software developers to “assemble”. The agile consultant’s role, then, is to make that happen as fast as possible. Since it’s just a matter of assembling some “computer stuff”, every task is predictable: an experienced assembly line worker with one or two years of experience ought to be able to look at a widget/ticket and estimate +/- 5% exactly how many hours it should take to complete. Any widget/ticket that’s estimated > 1 day can be broken into multiple smaller tickets of < 1 day each. If this isn’t the case for any of the tickets, the whole model breaks down and, since we don’t want the model to break down, this must a priori be true: if one of the assembly line workers takes too long on a task, the fault must lie with the assembly line worker, because, the assumptions have already been established to be accurate.

    团队不接触真实用户,根源在于走出舒适区需要付出真正的努力

    这份文档很棒,尤其有国防部的名头加持。文中指出项目并非真正敏捷的关键信号之一:开发团队没人与真实用户交谈、观察他们实际使用软件。我认为这主要是“舒适区”问题:招募用户很难,管理层不放心让开发者直接接触客户,开发者得离开舒适的办公室,远程团队更难安排,在办公室里凭空想象并设计功能又很满足自我。我见过很多地方连产品负责人都从不接触用户,整天只管着待办列表。

    harryf查看英文原文

    This is a great document, especially with the DoD name on it to give it weight. > Key flags that a project is not really agile: Nobody on the software development team is talking with and observing the users of the software in action; we mean the actual users of the actual code. This one is a largely a "comfort zone" problem IMO; - Recruiting users, especially for B2C products is tricky - Management get nervous about "unwashed developers" talking to customers - Developers have to leave cosy offices - In remote teams it's even harder - It's tricky to schedule without disrupting normal work - Imagining the world and designing features for it in a cosy office is a great ego trip - Nobody really knows how best to interact with users - Business people get nervous about developers having opinions ... etc. Many places I've seen even Product "Owners" never talking to users and basically spending all time managing the backlog. All very comfy and getting out of that comfort zone takes significant effort. I once gave a talk about the fundamental flaw of much mobile app development which is summarized in this slide - https://i.imgur.com/v1qmR8m.jpg ... the "older generation" making apps on big screens, fast networks while sat a desk for a younger generation on the move, that barely knows what a mouse is.

    敏捷并非普适,它适合 Web 类项目,不适合安全关键和硬件工程

    我们有没有证据表明敏捷真的有效?适用于什么项目?这是份国防部文件,但战斗机显然不能用两周冲刺来设计,机体没法那样改,所以飞行软件也不该用敏捷开发。安全关键系统更不该代码先行,而应做建模和形式化验证。我认为敏捷很适合做电商网站。XP 确实源自 NASA,但那是具体的东西,不加班很重要;而“现代敏捷”的 MVP 和迭代那套源自网络创业环境,未必该强加到工程领域。

    shubb查看英文原文

    Do we have any evidence that Agile actually helps, and for what kind of projects / companies it helps? It's just I note this is a DOD document, and I don't think we should be desiging jet fighters in 2 week sprints. Airframes probably can't be modified like that. So it follows that, within a waterfall project, the flight software shouldn't be developed agile either. Beyond that, I don't think safety critical systems should be produced code first. We should probably be doing modelling and formal verification and stuff like that. I think agile is a great way of making e commerce websites. Sure, XP came out of NASA, but XP is a specific thing. Not working overtime is important in XP. 'Modern Agile' on the other hand cares about things like producing an MVP and iterating, which originated in and are appropriate in a web startup context. I'm not sure they should be forced in an engineering context.

    文档内容过于直白,在组织内部反而难以传播

    这份文档里说到点子上的地方太多了,但我没法分享给公司里合适的人,因为会被视为攻击和冒犯。不知道该怎么委婉地表达,它实在太扎心了。

    aristophenes查看英文原文

    There are so many spot-on things in this document that I cannot share it with the appropriate people in my organization as it will be seen as an attack and offensive insult. Not sure how I could be gentle about it, it's quite damning.

    历次讨论

    同类还值得读

    1. 用十年时间自学编程(1998)

      Teach Yourself Programming in Ten Years (1998)

      Peter Norvig 1998 年的经典文章,回应“21天/24小时学会编程”一类速成书,主张真正精通编程需要约十年持续、有意识的练习。

      职业与工作方法上首页 11 次 · 2007–2025norvig.com编辑精选
    2. 如何成为一名程序员:简短、全面而个人的总结

      How to be a Programmer: A Short, Comprehensive, and Personal Summary

      一篇广为流传的程序员成长指南,作者以个人经验系统总结了成为优秀程序员所需的各项技能——从调试、测试、沟通到团队协作与身心健康。

      职业与工作方法上首页 6 次 · 2008–2015samizdat.mines.edu编辑精选
    3. 不要自称程序员

      Don't Call Yourself a Programmer

      经典职业建议文章劝软件工程师不要把自己局限在“程序员”这个标签上,而要从公司业务角度说明自己创造的价值;文中讨论了成本中心与利润中心、头衔、求职与职业选择,也顺带批评了学术界的价…

      职业与工作方法上首页 5 次 · 2011–2021kalzumeus.com编辑精选
    4. 创作者的日程与经理的日程

      Maker's Schedule, Manager's Schedule (2009)

      Paul Graham 在这篇文章里把时间表分成两类:管理者的日程以小时为单位,会议可以填满一天;创作者(程序员、写作者等)的日程则以半天为单位,需要长时间不被打断的连续块。

      职业与工作方法上首页 5 次 · 2009–2021paulgraham.com编辑精选
    5. 为什么程序员的薪酬不与生产力成正比

      Why programmers are not paid in proportion to their productivity

      讨论为什么程序员的薪酬往往不随其生产力成比例增长:生产力难以客观量化,薪酬更多受组织预算、岗位定价和个人议价能力影响。

      职业与工作方法上首页 5 次 · 2009–2022johndcook.com

    打赏支持

    打赏二维码

    觉得有用,请作者喝杯咖啡。

    WeChat

    关注向阳乔木

    微信公众号「向阳乔木推荐看」

    微信公众号「向阳乔木推荐看」二维码

    微信扫一扫;在微信里打开本页时,长按二维码识别。