关注技术更新,基于怎样的应用策略

470 阅读6分钟
一、变化才是本质

熵,是混乱和无序的度量,无序的变化远远高于有序。熵的关键在于熵值会随着时间推移而增加。也就是说,一切事物会从有序趋向无序。

生命、思想以及人类奋斗的最终目的:创造能量和信息克服熵的浪潮并开辟有利秩序的庇护所

​ ---------------- 史蒂文·平克,心理学家、认知科学家

技术总是进行着这样一种循环,为解决老问题去采用新技术,新技术又引发新问题,新问题的解决又要诉诸更新的技术。

​ ---------------- 摘录 《技术的本质》

软件技术当然也逃不出这个循环,随着新的思想、新的方法出现,技术在不断升级更新。如果从业人员仅仅满足于黑盒式使用,对技术的换代更新目不暇接,心累身累学不过来,也就避免不了被时间淘汰。

再摘录一段关于基因和环境选择的文字如下:

基因有遗传和突变,突变有线性突变也有离散突变,环境对突变进行优胜劣汰的选择。

​ ---------------- 摘录《适者降临》

生物进化和自然淘汰是个复杂的过程,基因有显性和隐性的区别,在影响可观察的表征性状上也比较复杂,涉及到多组碱基对的相互作用。但在无穷多的的组合中为何出现了“特定”的突变至今是个难解之谜(这个“特定”是相对现在的人类而言)。

既然变化是万物宿命,那咱就谈谈应对的方法和策略。面对变化一般有两种并不相互排斥的策略(说到变化,那就无可避免的要谈《易经》,这里只列个条目),

一种是,天行健,自强不息;有能力在清晰的自我认知上,不断创造出适合自己需求的解决方案。这是技术驱动的最佳引领表现。

另一种是,地势坤,厚德载物;努力认清自己的需求,客观看待所处阶段,因势利导,在选型和微创新方面,组合出自己的解决方案。在量变到质变的技术积累过程中前行。

二、软件认知范围内的考量

从技术架构实现与防腐的角度,创造和重构的区别是有无基础,随软件产品发布后使用时间的推移,不可避免有功能的增、删、改,这符合产品的生命周期。架构本身就是基于当时需求认知上(这个需求是会变化的),利弊权衡的结果,自然也就有了适应性表现上的利弊。新技术的应用推动产品进化,客观需求也在选择新技术的应用(通过选择产品和产品的功能)。软件开发和重构有一套方法论,在这里不做深入讨论。

从系统的角度,有具体问题,就有系统问题的。从人类目前所认知的解决方式来说【注:整体是各部分的组合,这个叫还原论;现在普遍接受的是,整体大于部分之和。这是线性系统和非线性系统表现出来的特征。】,软件架构演进也经历了从线性到非线性的进化【注:各局部之间的信息处理及相互适应产生的复杂性】,复杂(局部组合而成的规模表现) = 系统(分解后的组合)+ 具体部分(分解后的局部),当中也就涉及到架构问题。架构和系统是形式和内容的关系,没有架构设计也可以形成系统(自上而下是设计,自下而上是进化),只是规模的大小、进化时间的长短有区别而已,架构的形式也就带来了系统问题。新的方式和技术使用,可以改善架构本身的问题。

从工程的角度,开发的效率和质量,一直都是软件工程中要不断改善的部分,基于质量的效率是我们追去的目标。比如:提高自动化比重、抽象整合公用类库、规范形式和过程、知识分享和总结等都能提高人效的方法。新的方式和技术使用,能够起到如虎添翼的作用。

从团队组织和管理的角度,减少沟通成本和缩短反馈和改善的循环;这个要用比较的方式,才能看出其中的价值。按SDLC(Software Development Life Cycle 软件开发生命周期)的说法,软件开发划分为六个阶段:问题定义和规划、需求分析、软件设计、程序编码、软件测试、运行维护。从瀑布式开发到敏捷开发,我们都是在一个目标的指引下串联这几个过程。这个目标可以理解为交付产品,也可以是交付功能。产品分解为功能,功能按优先级排序,然后按过程进行开发。这个过程中反馈和改善的循环是可以在组织和管理的方式上给予优化的,比如:基于功能来组织人员,让各阶段中参与的人员都尽量早的参与到整个过程中,减少沟通和流程的成本。至于如何按自身情况去组织和管理,这是方法论的问题,这里不多做讨论。

三、总结

“变化”总是在软件开发中被不断抱怨,“变化”又是从业人员存在的基础。如何与“变化”友好相处就成为我们终身要学习的内容。从细节的繁琐中抽身,来看看全局,就能理解局部约束存在的意义(人生何处不相似?哈哈)。所以技术架构本身的定义可以是“结构+愿景”。在开发过程中,运用系统化的思维,一定会大有裨益的。

这里提几个开放性的问题,欢迎大家留言发表看法:

1、技术更新的速度,是否能在创业领域的局部帮助快速形成有竞争力的技术优势?人力成本、时间成本都处在劣势,知识密集型的领先优势是否能靠短期工时延长的努力能追平吗(参考互联网企业倒金字塔价值模型)? 那产品和与技术在创业之初的驱动力应该会有侧重吗?

2、先发优势在大数据及AI业务上,随数据的的积累和逐步补全(数据交易、交换),是否会抬高任何细化领域的入门门槛?细分领域的孤岛数据是否会丧失价值(或必须依赖于其他数据才能产生价值)?


原创文章,转载请注明出处