《构建之法》(第一、二、十六章)读书笔记

(一)关于没有银弹(No Silver Bullet)

书中(P10)提到没有银弹理论,我感觉这个理论非常消极。查阅了百度百科,里面对这一理论是这样描述的:

"该论述中强调真正的银弹并不存在,而所谓的没有银弹则是指没有任何一项技术或方法可以能让软件工程的生产力在十年内提高十倍。"

书中提到造成“没有银弹”的原因有复杂性、不可见性、易变形和服从性,后两者都与硬件的匹配有些关系,如果能够生产出高性能的硬件并保持统一的硬件标准,软件开发效率是否就提升了呢?百度百科上还提到“软件工程面临的问题在于我们已经清除了大部分的次要复杂度,而剩余的(主要复杂度)都无法改变。” 我不太明白他所指的主要复杂度是哪些?如果可以运用人工智能建立学习模型,我们是否可以乐观地预测未来的有一天,人工智能可以取代基础程序员的工作,那软件开发效率是否就大大提升了呢?总之,我觉得没有银弹理论似乎消极了。

 

(二)Build To Learn / Build To Show / Build To Serve / Build To Win

作者在书中提到他所参与的4种类型的项目,我想知道这4种类型的项目的重要性有先后之分吗?目的不一样,那么需要侧重的技术和负责人的思路也是不一样的,比如Build To Learn是为科研服务的,他对用户体验这样的需求是否就很低呢。本书似乎侧重讨论Build To Win类型的项目,即以在市场上赢得用户为目标而构建的软件。我觉得,商业化的软件是 软件+市场,但程序员和产品运营是分工的,他们的关注点和思维不一样,一个专注技术一个分析用户,分量相当。那么,开发一个以科研为目标的工程性软件,是否对产品运营人才需求会低呢?

 

(三)关于单元测试的需要

单元测试是为了提高代码的可维护性,但同时,也需要人力和时间的成本。如果我只写了一个hello world 的代码,需要写测试吗?是否需要完整的测试应该要有一个界限吧,界限是什么呢?

 

(四)阿里的商业崛起

书上(P329)有一句话:

“在中国甚至全世界,B2B网站做得最好的是阿里巴巴,它的创始人是学计算机、互联网专业的么?”

作者这么写是为了论证“要成为领域的专家,才能创新”是个伪命题。但我觉得,阿里的成功并不是软件的成功,而是一种商业模式的成功。所以他的创始人不是一名杰出的工程师,而是一名杰出的商人,这是可以解释的。但我觉得,这个理论是要分领域的,比如创新也可以分为技术上的创新和应用上的创新。想要在科研类的领域实现技术性的创新,就要先成为这个领域的专家——这样说是不是就无可非议?

 

(五)提高团队执行力的方法

书中(P343、P344)写道:

“执行力的一个有效衡量标准是一个决定需要多少次会议才能达成”

”执行力的另一个衡量标准是团队能否持续而快速地进行‘ 发布 / 收集数据 / 分析改进 /再发布 ’这一流程”

我后来去知乎搜索了一下提高团队执行力的方法,比如KJ法,用于会议时快速收集、整合团队成员的想法。个人觉得这种方法效率很高,不仅能够采集到大家的好提议,最后还能将大家引入一个共识。相信类似这样的方法还有许多,想知道还有哪些实用的小技能呢?有时候,巧妙的方法能大幅提高工作效率。

 

(六)产品盈利方式

书中(P346)提到,产品盈利的方式有一次性付款购买、通过放广告盈利、战略性免费后续服务收费等各种方式。我想知道,这些不同的盈利方式是否有对应适用的软件类型?哪些产品应该采用什么样的盈利方式才会取得利益最大化?比如我之前玩的两款手游,《王者荣耀》和《恋与制作人》,他们的盈利方式很相似。都是使用免费,但如果你需要更多的服务就要额外收费。但两款游戏用收费来设置的门槛是不同的。前者即使你不充钱,游戏体验也不错;但后者过早的收费门槛使得不充钱的用户游戏体验极差。我想这就是两款游戏的生命周期差距这么大的原因。书中还提到了“产品引爆点”:

“在产品达到引爆点之前,不宜过早考虑变现”我想,用户数量大概是判断产品是否到达引爆点的一个指标吧?当《王者荣耀》成为朋友圈的一个联系时,可玩性就不是他的唯一优势了,他有了社交属性这一更强大的附加优势,而这一优势必须要当用户人数足够多时才能建立。而《恋与制作人》,他的过早变现使用户望而却步。不过,腾讯和叠纸有他们自己对产品的定位和期待,他们有一贯不同的盈利模式。还有什么指标可以来判断产品是否到达引爆点呢?我想,产品是否能成功与有没有制定一个好的盈利方案有很大关系。

 

谢谢您的阅读!

 

posted @ 2018-03-15 22:10  向海之鲸  阅读(189)  评论(2编辑  收藏  举报