[知乎]哪些你熟知的重要知识或方法,外人却常常因不了解而陷入困境?
1. TDD
曾经想要写一篇文章,叫做《从测试驱动开发到检查驱动管理》,大意是,软件开发领域的测试驱动开发,是一种非常行之有效的开发手段,一段代码,在写功能代码之前,首先写出测试的代码,从测试的角度,来思考功能应该如何实现。
这样的手段,有助于开发出更加稳定、可靠、安全、少漏洞的应用系统。
在管理领域,我们可以推论为:在任务分配之前,首先考虑这项任务是否能够被检查与衡量成败,一项工作如果无法被检查,就是无法被管理的。从这个角度来说,实施“检查驱动的管理”,也许是一种行之有效的方案。
2. OO
先 抄一段稻盛和夫的“阿米巴经营哲学”。京瓷公司就是由3000多个”阿米巴小组”的单位构成。稻盛和夫还组织了一套以”阿米巴小组”为单位的独立核算体 制。”阿米巴”指的是工厂、车间中形成的最小基层组织,也就是最小的工作单位,一个部门、一条生产线、一个班组甚至到每个员工。每人都从属于自己的阿米巴 小组,每个阿米巴小组平均由十多人组成。每个阿米巴都是一个独立的利润中心,就像一个中小企业那样活动,虽然需要经过上司的同意,但是经营计划、实绩管 理、劳务管理等所有经营上的事情都由他们自行运作。每个阿米巴都集生产、会计、经营于一体,再加上各个阿米巴小组之间能够随意分拆与组合,这样就能让公司 对市场的变化做出迅捷反应。
这样的理念,感觉与面向对象中,每个对象都有独立的内部状态与外部行为,非常相似。
3. 性能调优
在大型复杂系统的性能调优时,我们通常会做以下几个步骤:
a. 记录日志,也就是观察系统。寻找系统的瓶颈所在。
b. 优化瓶颈,也就是对整个系统中,最为影响效率的点,进行优化。
c. 流程优化,在解决明显的瓶颈之后,可以考虑优化业务流程,减少操作步骤。
d. 队列、缓存、冗余,有一系列的成熟手段,可以考虑适时采用,进一步优化系统的架构。
这些手段,看起来都是针对软件、计算机的,但是用于组织机构和管理流程改进的方面,也是同样适用的。