90-10法则:帮助软件开发减少失败

你要的理论、法则、定律、效应都在这里了 72法则: 72小时法则:当你决定做一件事的时候,你必须在72小时内完成它,否则,你很可能就永远不会再做了。 金融里面还有个”72法则“,如果你投资收益率在12%,你想知道多少年你的钱翻一番呢,那么 72/12=6年。 另外还有个“70法则”,比如 如果通胀率为3.5%,应用“70法则”,货币贬值一般的时间约为70/3.5=20年 鳄鱼法则: 这是经济学交易技术法则之一,也叫“鳄鱼... 阅读详情

作者:Lucas Majerowicz

90-10 法则是指不要把 90% 的时间花在担心剩下的 10% 的时间上。

换句话说,就是不要花费大量精力试图实现 100%。这是为什么呢?有两个原因。

第一个原因是收益递减定律(Law of Diminishing Return),这条定律不仅适用于软件开发,也适用于几乎所有其他事情。以软件开发团队为例。将开发团队的规模从一名开发人员增加到五名开发人员,这可能将生产力提高 500% 。如果继续不断向团队添加开发人员,会发生什么呢?在到达某个点之后,生产力只会略微增加(例如,将 7 名开发人员增加到 8 名开发人员),甚至开始下降(例如,一个有 20 名开发人员的团队)。

第二个原因是,如果过分关注软件开发的某个方面,那么可能最终会忽视其他方面。例如,性能通常是以简单性和/或成本为代价的。编写的测试越多,开发所需的时间就越长。

下面是一些我应用 90-10 法则的例子。

选择正确的技术

例如,假设您公司中的每个人都对某个特定数据库拥有大量实践的经验。现在开始做一个新项目。 你会选择哪种数据库?是每个人都使用过的数据库,还是更新、功能更丰富的数据库?我的第一选择始终是每个人都使用过的数据库,即使还有另一个具有更多更好功能的数据库。

精通数据库、框架、编程语言等需要多年的实际实践经验......这就是为什么前几个项目可能很糟糕而新项目要好得多。许多软件架构师和经理没有意识到这一点,而从已知技术转换到新技术所付出的努力和成本非常高,而且在大多数情况下,带来的额外好处可以忽略不计。

代码

代码是否应该清晰可维护?确实应该。代码是否应该完美无缺并且没有更多的改进空间?大可不必。如果当前的代码难以维护,那么优化代码肯定会在未来得到回报。但是,如果代码已经足够好或足够简单,那么从改进中获得的实际收益的可能非常小,甚至可能使事情变得糟。

性能

遇到瓶颈,需要提高响应时间或吞吐量?通常,最大的改进来自最简单的更改。通过简单的更改,可能会获得 200% 甚至 500% 的改进。之后,更多的改进通常需要进行非常复杂的更改,并且性能增益将是微不足道的。对于大多数应用程序来说,花费数月的开发工作以获得另外 10% 的性能提升可能毫无意义。

测试

测试覆盖率是实际收益递减定律的完美例子。在到达某一点之后,一旦拥有足够多的测试和覆盖率,那么增加额外覆盖率所花费的努力就变得不值得了。

学习与自我提升

在我刚开始工作的时候,非常渴望学习,以至于曾经花几个小时观看讲座、参加课程或阅读有关软件开发的书籍。如果你也这么做过,那么你可能已经注意到,在一段时间后,很再难找到有用的内容,也很难仅通过消化别人的内容来真正学习新事物。

如果目标是学习知识,我认为通过动手获得实际经验学到得最多。一旦拥有一份有趣的工作,从中学到新的技能和技巧,你参加课程、阅读书籍和听讲座的数量应该会减少。

最后的想法

我发现开发人员通常倾向于过度关注代码质量和最佳实践(尤其是在阅读《代码整洁之道》之后),而架构师则对性能过度关注,经理则是对度量和最佳实践得采用(如 TDD、敏捷性、测试覆盖率等...)过度关注。

90-10 法则与安于平庸或鼓励懒惰无关。它是关于进行合乎逻辑的成本效益分析,使人可以专注于真正重要的事情;它不会使你成为最棒的软件开发人员或架构师,但它会帮助你平衡软件开发中不同的、有时是相互矛盾的各个方面。

TRIZ进化法则实战指南:八大趋势驱动产品创新 本文深入解析TRIZ八大进化法则在产品创新中的实战应用,通过完备性法则、能量传递法则等核心方法论,结合智能门锁、电动汽车等案例,揭示技术系统进化的规律与路径。文章提供五步实践指南,帮助工程师系统性地运用TRIZ理论提升产品理想度,实现降本增效的创新突破。 阅读详情

相关推荐

新手画板别踩坑!这10条PCB Layout黄金法则,帮你避开90%的常见错误

本文为PCB设计新手提供了10条黄金法则,帮助避开90%的常见错误。从晶振布局、电源系统到高速信号处理,详细解析了PCB Layout中的关键技巧和实用准则,包括布线规范、地平面分割、元件布局等核心要点,助力工程师提升设计质量和效率。

weixin_26846533的博客 206

90/10原理

您听说过90/10原理吗? url:  http://mp.weixin.qq.com/s?__biz=MzA3OTIxNjkzNA==&mid=200409424&idx=1&sn=e6a250c97fce30bd73d26f8bbf4c6985 2014-07-06 编者: 季平 什么是90/10原理?即在您的一生中,只有10%的事情您无能为力,而90%的事情都在您的把握之中。

jackpk的专栏 1368

晶振PCB布局黄金法则:从基础原理到STM32实战避坑指南

晶振作为数字系统的心脏,通过石英晶体的压电效应产生基准时钟频率。其工作原理决定了电路对寄生参数极其敏感,不当的PCB布局会导致频率偏移、起振失败等严重问题。在硬件工程实践中,遵循最短路径、对称布局和完整地包地等核心法则至关重要。特别是STM32等MCU的HSE晶振布局,需要严格把控负载电容匹配和走线对称性。通过合理的阻抗控制和电磁屏蔽设计,能显著提升系统稳定性并降低EMC风险。本文基于晶振电路基础原理,深入解析PCB布局如何影响时钟质量,并给出可落地的工程实践方案。

weixin_33850890的博客 322

程序的运行时间

我们现在要给出某个函数是另一个函数的“大O”的正式定义。设有函数T (n ) ,这通常是某个程序的运行时间,以输入大小为n的函数来度量。要让函数适用于度量程序的运行时间,我们假设有:(1) 参数n被限定为非负整数;(2) 值T (n ) 对所有的参数n来说都非负。设 f (n ) 是某个定义在非负整数n之上的函数。如果除了对某些较小的n值之外,T ( n) 至多是某个常数乘以 f (n ),我们就可以说“T ( n) 是 O(f(n))”。

qq_47804149的博客 1367

P4: 《技术简历重构:如何用STAR法则和量化结果,让HR 3秒内锁定你》

本文介绍了如何运用STAR法则和量化结果打造高效技术简历。核心要点包括:1)HR平均3秒筛选简历,需要突出项目价值而非简单罗列;2)STAR法则(情境-任务-行动-结果)框架能清晰展示技术贡献;3)通过具体数据量化项目成果(如"响应时间降低80%");4)简历结构优先级和排版技巧。文末提供免费模板工具包,帮助技术人员创建更具竞争力的简历。文章强调技术简历的本质是价值证明书,而非工作清单。

专注Java(全栈)应用开发,求知若渴,虚心若愚,talk is cheap, show me the code. 121

(RegionProposal Network)RPN网络结构及详解

RPN(RegionProposal Network)区域生成网络 Faster-RCNN的核心。在这里整理。 1.anchors。 特征可以看做一个尺度51*39的256通道图像,对于该图像的每一个位置,考虑9个可能的候选窗口:三种面积{128,256,512}×{128,256,512}×三种比例{1:1,1:2,2:1}{1:1,1:2,2:1}。这些候选窗口称为anchors...

凹酱的DEEP LEARNING 19万+

90/10 的定律

作者 : Stephen Covey Discover the 90/10 Principle. 發現了 90/10 的定律。 It will change your life (at least the way yo...

285

【CV论文精读】【协同感知综述】Collaborative Perception for Autonomous Driving :Current Status and Future Trend

感知是自动驾驶系统的关键模块之一,近年来取得了很大进展。然而,单个车辆的有限能力导致感知性能提高的瓶颈。为了突破个体感知的局限,协作感知被提出,它使车辆能够共享信息来感知视线和视野之外的环境。本文综述了有前途的协作感知技术的相关工作,包括介绍了基本概念,概括了协作模式,总结了协作感知的关键要素和应用。最后,我们讨论了这一研究领域面临的挑战和问题,并给出了一些潜在的进一步方向。

weixin_44184852的博客 4690

计算机科学箴言集

计算机科学箴言集      程序员常常需要转换时间单位。比如说,一个程序每秒钟能处理100条记录,那它处理一百万条记录要多少时间?用除法一算,我们就知道要花10000秒,按每小时3600秒计算,差不多3个小时。   然而一年又有多少秒呢?如果我直接告诉你,一共有3.155×107秒,你可能很快就忘了。事实上,要记住这个很简单,在误差不超过0.5%的约束下:   π秒就是一个纳世纪。   ...

图灵教育官方博客 209

修改注册表导致开机时电脑显示“无法登陆到你的账户”的问题解决方案

1.问题描述:开机电脑显示“无法登陆到你的账户:通常可以通过从你的账户注销,然后重新登陆来解决问题,如果不立即注销,你创建的任何文件或进行的任何更改都将会丢失。” 2.问题原因:想要修改cmd中的用户名(红色部分),修改了注册表,重启时出现问题。 3.问题解决: win+R输入cmd,确定进入注册表界面,将下面的地址复制进地址栏(你也可以自己按目录查找),双击ProfileImage...

qq_33835957的博客 7万+

sift、surf、orb 特征提取——三维重建

参考文章:[sift、surf、orb 特征提取及最优特征点匹配] 最近刚刚入门三维重建,在SFM算法的代码中注意到了feature_type( feature extraction method)这个参数,想细致了解一下这几种特征提取算法,在这里做一下笔记。 SIFT 简介 SIFT(Scale-Invariant Feature Transform)——尺度不变特征变换,是一种计算机视觉的特征提取算法,用来侦测与描述图像中的局部特征。 实质上,它是在不同的尺度空间上查找关键点(特征点),并计算出关键点的

bb_sy_w的博客 4362

软件开发中的著名定律

软件开发中的著名定律 https://www.timsommer.be/famous-laws-of-software-development/ 和其他领域一样,在软件开发的世界中也有一些有趣而著名的定律,开发人员、管理人员还是架构师,都经常在会议或闲谈中提到他们,很多时候我们都只是点头附和,免得让人知道自己其实根本没听说过布鲁克斯(Brooks)、摩尔(Moore)或康威(Conway)这些大佬。 在这里,我把这些定律整理出来,分享给大家。 这些法律由规则、原则或来自发展世界中伟大而鼓舞人心的人物的名言组

架构分享 大数据及机器学习分享 2602

C语言实验——各位数字之和排序

C语言实验——各位数字之和排序Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Description给定n个正整数,根据各位数字之和从小到大进行排序。 Input输入数据有多组,每组数据占一行,每行的第一个数正整数n,表示整数个数,后面...

aiLMengi000的博客 1243

人有见识就不轻易发怒;宽恕人的过失便是自己的荣耀。

90/10是个超乎想象的巧妙法则!    The 90-10 principle is incredible.    很少人知道并且应用这项秘诀,结果造成几百万人白白受到压力、考验、问题、心痛等困难折磨,并且他们的生命似乎成了最大的失败,厄运连连,坏事好像一直不断的压力、消极,和破碎的人际关系随处可见,因为担忧消耗了他们的时间,愤怒破坏了友谊,人生似乎愈趋颓丧而无法享受满足与丰盛的生命……。 

飞鹰 5872

全网唯一OpenCyphal/UAVCAN教程(8)libcanard介绍

当Cyphal里,这个结构体代表一条完整的Cyphal消息,之后我们会根据metadata里提供的元信息,其实就是消息ID,调用对应的反序列化函数,将payload还原成具体的Cyphal消息。用于构造一个新的发送队列,原则上一个can物理接口需要分配一个发送队列,如果它们的MTU大小一致,是可以共用一条的。这个库不包含IO层,是平台无关的,意义是没有实现具体的数据收发,仅提供将发送出去的Cyphal消息转成can帧,以及将收到的can帧转成Cyphal消息。返回值是这条消息拆解成的can帧的数目。....

二进制君 2404

基于综合阻抗特征的配电架空线路单相断线故障区段定位研究

本文提出了一种基于综合阻抗特征的配电架空线路单相断线故障区段定位方法。通过分析故障后正序、负序阻抗变化,构造综合阻抗判据实现精准定位。仿真结果表明:该方法能有效识别故障区段,差异度判据显著(故障区段达0.508,非故障区段<0.016);对过渡电阻(1-200Ω)和负荷变化具有强鲁棒性,定位准确率不受影响。相比传统方法,综合阻抗法放大了断线故障特征,解决了弱故障信号检测难题,为配电网安全运行提供了可靠的技术手段。

AI的内部世界的博客 81

一周技术学习笔记(第82期)-你要的理论、法则、定律、效应都在这里了

72法则:72小时法则:当你决定做一件事的时候,你必须在72小时内完成它,否则,你很可能就永远不会再做了。金融里面还有个”72法则“,如果你投资收益率在12%,你想知道多少年你的钱翻一番呢,那么 72/12=6年。另外还有个“70法则”,比如 如果通胀率为3.5%,应用“70法则”,货币贬值一般的时间约为70/3.5=20年鳄鱼法则:这是经济学交易技术法则之一,也叫“鳄鱼效应”,它的意思是:假定一...

新栋BOOK 643

ESP32-S3模组上跑通esp32-camera(32)

ESP32-S3模组上跑通esp32-camera(32)

phmatthaus的专栏 772

模型 吉德林法则

吉德林法则?美国通用汽车公司管理顾问查尔斯·吉德林提出:把难题清清楚楚地写出来,便已经解决了一半。只有先认清问题,才能很好地解决问题。这种观点在管理学上被称为吉德林法则。在现实生活中,动荡的国际政治、经济环境常常使企业的周遭危机四伏,一不留神就会走上下行的坡道。面对挫败,你是自暴自弃,让它成为不可逆转的事实,还是让它变成促使你重新奋发的动力?其实,命运一直藏匿在我们的思想里。一阴一阳谓之道,打击究竟会对你产生怎样的影响,最终决定权是在你手中。

wangdsh的博客 901

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

制造企业MES系统实施失败的原因:这5个坑90%的企业都踩过

避开上述五大陷阱,是MES项目成功的必要条件,但非充分条件。一个经验丰富、值得信赖的专业实施伙伴,能够引导企业少走弯路,将行业最佳实践与企业实际情况相结合。优秀的合作伙伴不仅提供软件,更提供方法论、行业知识和持续服务。他们能帮助企业厘清目标、优化流程、推动变革、夯实数据,并在选型阶段给出中肯的建议。与这样的伙伴同行,制造企业才能将MES从一项昂贵的“IT投资”,转变为驱动业务增长、实现精益生产和智能制造的强大“引擎”,真正收获降本、增效、提质、减存的核心价值。

weixin_43871412的博客 208

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【MongoDB在PHP项目中的黄金法则】:90%开发者忽略的6个关键点

掌握PHP与MongoDB高效整合的黄金法则,解决高并发场景下的数据存储难题。涵盖连接优化、查询性能提升、索引策略等6个关键点,提升项目稳定性与响应速度。适用于实时日志处理、内容管理系统等场景,值得收藏。

LogicGap的博客 1037

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

企业AI落地失败率超80%的六大根源与破局法则

人工智能在企业中的应用已从技术选型阶段迈入规模化落地深水区,但模型准确率、算法先进性等实验室指标并不等同于业务可用性。真正制约AI价值释放的核心,在于组织能力、数据治理、人机协同与治理体系的系统性适配。当模型在真实产线因设备噪声失效、在客服场景因方言差异误判、在风控流程中因样本偏差引发歧视,问题早已超越代码本身——它指向数据语义一致性、跨系统流动性与业务逻辑对齐能力。本文聚焦AI工程化落地中的‘组织免疫排斥’现象,结合金融、制造、医疗等强监管行业实战经验,解析技术幻觉、数据贫血、人才错配、治理真空四大症结,

chuannaoxuan4674的博客 468

从普通到卓越:代码性能提升的10倍效率法则

点击'项目生成'按钮,等待项目生成完整后预览效果 在编程的世界里,性能优化就像给代码做一次深度SPA——从臃肿到精炼,从迟缓到流畅。最近我在优化一个数据处理项目时,深刻体会到几个简单技巧带来的惊人改变。今天就用最接地气的方式,分享那些让我代码效率飙升的实战经验。算法选择决定性能天花板 曾经用冒泡排序处理10万条数据要等咖啡凉透,换成快速排序后眨眼完成。就像用剪刀裁纸和用手撕纸的区别,选对算法直接让时间复杂度从O(n²)降到了O(n logn)。记住:在写循环前先问自己"有没有现成轮子能更高效?"内存

SunstoneLion34的博客 383

《改变你一生的108个心理学法则》

书读完了必须要总结,必须要提炼书中的对自己有用的知识点,必须要把书中所学的在 生活中去实践,这才是读一本书的真正意义与价值所在。为什么我们常说”知道那么多道理还是过不好这一生”,是因为你虽然知道那么多道理,但是你却没有去按 照这些道理去执行,去改变自己的行为习惯,在读这本书之前,书中的很多观点,很多技巧自己其实都是知道的,只是没有总结归纳,没有在生活中加以利用。越来 越觉得王阳明的”知行合一”是那...

weixin_30265171的博客 276

AI工程师面试:项目经验梳理与STAR法则深度应用

在人工智能领域,项目经验是评估工程师能力的重要维度。从技术原理看,优秀的项目展示需要同时体现算法理解深度(如CNN架构设计、损失函数选择)和工程实践能力(如模型部署优化、显存管理)。这些技术能力通过STAR法则(情境-任务-行动-结果)框架结构化呈现,能有效提升沟通效率。在实际应用中,计算机视觉项目常面临小样本学习、模型轻量化等挑战,而NLP项目则需要处理文本增强、领域适应等问题。本文以工业级AI项目为例,详解如何通过量化指标(如准确率提升40%、推理速度优化3倍)和关键技术决策(如LoRA微调、Tenso

weixin_30416871的博客 791

Java程序员如何避免过劳死?:一线技术专家的10年生存法则曝光

Java程序员如何避免过劳死?这份java程序员健康指南揭秘一线技术专家10年亲测的作息管理、压力调节与运动习惯,涵盖加班应对、颈椎保护和心理调适方法,实用高效,值得收藏。

LearnPlex的博客 887
上一篇: 网飞文化-真正价值之沟通篇
下一篇: 什么是燃尽图?
MsKnowLittle
博客等级 码龄10年 4粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值