• 2012-11-19

    读《精益创业》

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://www.blogbus.com/dreamhead-logs/225006904.html

     

     

     

     

     

    新近读了《精益创业》,加之品味Kent Beck关于创业公司的增强版敏捷宣言。在我看来,这是持续交付之后,软件开发又要迈出的下一步。

    精益创业的核心观点其实很简单,如下图所示:

    它就是要缩短从想法到验证的时间,成败与否早知道。既然创业是件极度不确定的事,那就通过小步快跑,早点验证这些想法,知道自己的斤两,把艺术变科学。

    不过,这是创业的做法,那与软件开发有何相关的呢?首先,Eric Ries就是从做软件起家的。实际上,更重要的是,做软件本身就是为了实现某种价值。

    以我了解到的软件开发来看,人们对于软件开发的理解也是逐步增进的。最原始的状态是混沌软件开发,后来有了瀑布式,解决了原本眉毛胡子一把抓的状态,再往后的迭代开发,则让反馈周期越来越短。也是在这个阶段,人们开始意识到持续集成的重要性,不过,这里的所谓持续集成只是关注在开发本身是否能构建出一个可运行的版本来,再往后,就是持续交付了,不仅仅能够运行,更要能够上线。而如今,结合精益创业,软件开发应该再迈一步,我们不仅仅要把软件构建出来,更要关注这个软件是否实现了某种价值,这里我们希望可以做的是:持续验证。

    从过往的经验来看,

    • 站在持续集成的角度看问题,自动化测试变得很重要
    • 站在持续交付的角度看问题,自动化部署变得很重要
    • 如果站在持续验证的角度看问题,什么会变得重要呢?

    从新一期的ThoughtWorks技术雷达上,我们不难发现一些有趣的东西。在技术部分,有一个logs as data。从前,我们都是把日志当做一种诊断手段,而在如今这个技术发展趋势下,存储越来越低廉,再加上一些辅助性的工具,比如Splunk,我们完全可以让运维更加智能化。

    如今大数据这个词也越来越火爆,不过,现在谈起大数据,我们指的都是对用户数据的挖掘。既然我们要把运维日志也看成是一种数据,我们也可以把大数据的一些技术运用在运维环节,对系统的状况进行挖掘。可是我们要挖掘什么呢?这个问题完全可以由精益创业的观点来回答,简而言之,关注于真正有用的东西,而不是虚荣指标。

    当然,这只是一个简单的技术分析,随之而来的改变还有许多,Kent Beck的增强版敏捷宣言就给软件开发描绘出一副新的蓝图。

    不管你愿不愿意,软件开发又不停歇地向前发展了。

    分享到:
    引用地址: