用科学思维做产品
最近一年,悦库团队忙于实现新的产品安全访问能力,这是一个包含集团化组织、角色、人员访问权限、文件访问规则等功能庞大的改造工程,随着工作深入展开,感觉这实际上更像一场重构运动。在悦库产品发展史中,这是我们第一次用科学方法,从安全访问理论研究、编写实现方案论文、工程实施,到最终产品功能完成,整个过程团队成员输出了10篇相关论文,经历5次开发迭代,才完成第一版功能的发布状态。我们没有参考任何其他产品的类似功能,这是通过科学研究成果和过去的产品经验积累实现的原创功能。
科学方法的使用,让我们对最终成果的可靠性充满信心,因为这些成果有成熟的安全访问理论支撑,并不是我们一拍脑袋想出的“令人惊奇的灵感”,我认为“灵感”,更适用于文学、艺术领域,企业软件产品并不需要“令人惊奇的灵感”,因为不经过论证的所谓“灵感”,通常是漏洞百出的。企业软件应该是一种生产工具,核心意义是提高生产效率,关于如何研发更好的提高效率的系统性软件功能,需要用科学思维大胆假设小心求证,用成熟的工程学方法论实施。这看起来有些“死板”和“老套”,但科学本来就不是一种时尚。
显然,并不是所有企业软件功能的实现都要使用科学思维,需 要强调的是高复杂度的系统性功能更适合使用科学思维实现,以悦库企业网盘为例,安全访问、文件存储、文件管理、系统架构这样的核心功能是需要严谨对待的,但更多的边缘业务功能逻辑简浅,交互简单,有经验的产品人员和工程师就可以直接设计实施,工作方法应该是灵活的,相互学习的,过度使用某种方法论,本身就是一种偏执。
科学方法
科学方法论最早由法国数学家笛卡尔提出,我们多数人即熟悉又陌生的数学集合概念笛卡儿积得名于笛卡尔。他总结出了完整的科学研究方法,即科学研究是通过正确的论据(和前提条件),进行正确的推理,得到正确的结论的过程。
牛顿说他自己是站在巨人的肩膀上,这个巨人就是笛卡尔。
基于科学方法论,为了解决复杂产品问题,应该先尽量分解为多个简单的小问题研究,然后按优先级逐步解决。在研究问题时,需要调研可能可以解决该问题的现有成熟理论依据,这就是论据,然后进行正确的推理,以证明问题可以被很好的解决,然后再安排工程实施,任何未经充分论证的解决方案的盲目实施都可能会造成最终产品功能的失败,损失大量人力物力。研究和实施的过程应该将新知识和经验总结记录,以备后人参考学习再研究,如此建立一种持续正向的科学的产品发展节奏。
以史为鉴,我们都知道瓦特发明了蒸汽机,莱特兄弟发明了飞机,其实无论是瓦特还是莱特兄弟准确来说都不是发明,而是改进了蒸汽机和飞机,因为在他们之前,蒸汽机和飞机都已有雏形和基本理论支撑,他们只是站在了巨人的的肩膀上,以现有理论为基础,进行""再发明""的成果。瓦特能改进蒸汽机,因为他系统的学习了力学、数学和物理学的课程,通过理论进行推理、计算和不断实验改进,最终将蒸汽机的效率提高到原有蒸汽机的5倍,为人类第一次工业革命提供了动力来源。
瓦特设计的蒸汽机原理图
再说莱特兄弟发明飞机之前,滑翔机、内燃机、基础理论都已具备,他们自学了空气动力学,甚至专门打造了一个风洞,在里面进行了大量的试验和计算,以改进机翼,最终成功试飞"飞行者一号",从此,人类进入了飞机时代。
莱特兄弟的工作笔记
总之,要改进蒸汽机、飞机这样的复杂"产品"