惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
C
CERT Recently Published Vulnerability Notes
O
OpenAI News
V
Vulnerabilities – Threatpost
C
Cybersecurity and Infrastructure Security Agency CISA
S
Schneier on Security
Latest news
Latest news
F
Full Disclosure
T
Tenable Blog
T
Troy Hunt's Blog
The Last Watchdog
The Last Watchdog
S
Secure Thoughts
L
LangChain Blog
有赞技术团队
有赞技术团队
Project Zero
Project Zero
Cloudbric
Cloudbric
爱范儿
爱范儿
GbyAI
GbyAI
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
The Exploit Database - CXSecurity.com
S
Security @ Cisco Blogs
Hugging Face - Blog
Hugging Face - Blog
Recorded Future
Recorded Future
大猫的无限游戏
大猫的无限游戏
Last Week in AI
Last Week in AI
C
Cisco Blogs
WordPress大学
WordPress大学
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V2EX - 技术
V2EX - 技术
Engineering at Meta
Engineering at Meta
Spread Privacy
Spread Privacy
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Hacker News: Ask HN
Hacker News: Ask HN
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Schneier on Security
Schneier on Security
T
Threat Research - Cisco Blogs
M
MIT News - Artificial intelligence
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
K
Kaspersky official blog
The Hacker News
The Hacker News
V
V2EX
F
Fortinet All Blogs
L
LINUX DO - 最新话题
Cisco Talos Blog
Cisco Talos Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
N
News | PayPal Newsroom
博客园 - 三生石上(FineUI控件)
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org

博客园 - 南郭先生kaka

待处理数据的两种模型 nginx重启无法找到PId的解决办法 Wiki版产品需求---产品需求文档到底是谁的?产品到底是谁的? 为什么说private方法是有罪的 XML2JSON 的【net.sf.json.JSONException: nu.xom.ParsingException must be followed by either attribute specifications, ">" or "/>"】问题解决办法 继承的第一原则 致那些不甘寂寞的人 上传File时,浏览器总是添加<pre>的解决办法 使用XSLT转换XML2XML Java 模拟 Http Post WITH AS SQL语句的用法 【Code Style】多余判断 java.lang.NoClassDefFoundError错误 Spring 中Quartz配置数据库化 FactoryBean在XML中的依赖注入方法 Camel FTP中文目录解决办法 配置CentOS6.3 NFS Bean复制的几种框架性能比较(Apache BeanUtils、PropertyUtils,Spring BeanUtils,Cglib BeanCopier) 重读《目标》---序
重读《目标》---目标
南郭先生kaka · 2012-11-20 · via 博客园 - 南郭先生kaka

          我们进行软件研发的目标是什么?书中关于目标的思考也引发了我很多的思考,是的,我们研发的目标是什么?更快的研发效率?更高的质量?更炫的功能?更多的功能?更好的能力提升?公司养活了这么多的研发人员,目标就这上面的这些吗?那么我们的目标是什么呢?

           我能得到的答案就是赚钱,利润,不管用什么去表达,最终公司的目标都离不开这一点,没有资金的公司最终是无法存活下去的,不管是伟大的苹果还是谷歌,利润考核永远都无法逃脱得掉。《目标》这本书给出了三个衡量指标:有效产出(throughput)、存货(inventory)和营运费用(operational expense)。

          有效产出:整个系统透过销售而获得金钱的速度。存货:是整个系统投资在采购上的金钱,而采购的是我们打算卖出去的东西。营运费用:是系统为了把存货转为有效产出而花的钱。

           有效产出是通过销售而获得金钱的速度,那么换成我们的软件产品而言,也就是产品的畅销程度,交付速度等。对于我们而言就需要快速的研发出市场所需要的产品,并且可以快速交付拿回费用。一切的目标都是要提高有效产出,那么阻碍有效产出的,或者与有效产出无关的,实际上都是需要调整的。如果按照这个定义的话很多都可以定义为无效产出,比如客户不需要的功能、不需要的产品、错过最佳销售期的产品、交付复杂等等,当然制造件和软件还是有些区别,那就是每个制造件都是需要时间和成本,但是软件一旦制造出来,剩下的成本就基本为零了。但是软件需要更新版本,所以每个软件的版本都是可以看成一个制造件,如果这样对比的话,两者还是有很多的共通之处。

           存货是整个系统投资在采购上的金钱,换成软件研发而言,需求过程,研发过程,测试过程,上市等等过程都是存货,存货的成本越高,利润就会越薄,如何减少存货就是一个关键的指标。各种周期的缩短,减少在制品的数量,让产品更快的销售出去都是要考虑的内容。另外减少存货的另一种办法就是不生成存货,也就是不需要的存货要减少,不需要的功能,不需要的产品,逐渐淘汰的产品等等也都是需要考虑的范围。

           营运费用是系统为了把存货转为有效产出而花的钱,转换到我们软件研发上而言实施,营销,售前,广告等等一系列的动作,这些都是成本所在的地方,当然这部分都需要进行思考如何更加有效和合理。

           提到上面三点指标的同时,也提到了另外的一个概念“局部效益”,要放眼于整体架构和组织,而不能只考虑局部的效益,这点我认为也是上面三点所贯穿的点睛之笔,或者上面三点的融会贯通的切入点。如果不处于整体架构的考虑的话,局部效益会导致整体效益的下降。例如研发部门考虑工作效率而言,只注重发版产品数量,而不考虑是否符合市场要求,造成的结果就是大量无法销售的产品。规划部门只考虑规划指标,那么会制造出大量的需求规划,研发因为能力问题而未能实现,被束之高阁。这些都是成本上的浪费,如果把这些成本转化为其他的有效产出将会产生更大的利益。研发人员把空余出的时间去支持项目交付,规划部门的空余时间支持售前都将产生不同的效果。

           从敏捷的角度而言,有效产出减少存货也是敏捷的核心思想,每次只去研发最紧急重要的功能,随时可以交付。另外DevOps也是敏捷倡导的思想,开发(软件工程)、技术运营和质量保障(QA)一体化进行解决,而不是单独部门考量。