软件工程讲义之创新的出路

开发 项目管理
中国软件开发在很多人眼里还处于作坊阶段,缺乏创新。不过就欧洲几个国家的情况来看,小型工作室把一款软件做到极致的好也是一种出路,不见得会有多大的创新。

  我第一次注意到 “作坊”这个词和软件行业联系起来大概是这个 2004 年 11 月的报道:

  日前,信息产业部副部长娄勤俭在出席中国软件产业生态链高层论坛时表示,中国软件产业的规模还比较小,软件企业的实力较弱,很多企业还处于手工式的开发生产阶段,缺乏核心技术,长期处于产业链的低端,发展方向受制于人,出口能力较差,为此今后信产部将从四大方面大力发展我国软件产业。

  后来我看到一本书 <走出软件作坊> , 写了两个书评:

  本来还想写第三篇, 展开来说说怎么搞一个好作坊, 不料有好心人提醒, 说不宜发表太多批评, 影响书销路… 于是第三篇就搁下了。 事实上我想写的东西和那本书没太多关系。 现在时间已经过了两年多, 风头已过, 应该可以说一下作坊的事了.

  作坊英语叫 Workshop, 好多学术论文也发表在各种 Workshop 中, 大家也觉得挺有面子的。 美国好多家里的车库 (Garage), 地下室都兼作主人的小作坊. 在中国的上下文提到 ”作坊”, 大家会想到什么? 我想到:

  自己手工劳动,做出产品

  人不多, 师傅带徒弟, 或家传手艺,

  只做某种行业, 不太改行, 商业技巧不多

  不太做广告, 主要靠口口相传, 容易被技术进步淘汰

  和顾客很熟悉, 可以赊账…

  这些好像都不是缺点吧? 为什么要着急走出去?

  我们一条一条地说:

  1) 自己手工劳动,做出产品

  现在一些旅游城市也有小店铺号称作坊, 但是仔细一看, 他们的东西都不是自己做的, 今天批发来一些左旋的海藻, 明天卖一些右旋的肉碱, 下个月就改卖俄罗斯套娃或者檀香木雕刻… 或者是那些游离于北京地铁站附近的 “正宗臭豆腐”摊位, 这种 “作坊”不在我们讨论范围之内。

  娄勤俭领导批评“很多企业还处于手工式的开发生产阶段”, 我不知道软件除了用手工, 还可以用什么别的来写。 也许有人说, 是不是那些 CASE (Computer Aided Software Engineering)工具, 或者是 code wizard, 用右键一点, 然后继续点 [下一步], [下一步] 就可以产生出很多很多代码? 这些固然好, 但是你可以点一下产生很多代码, 另一个公司也可以点一下产生很多同样的代码. 你的核心技术在哪里呢?

  读者往下看, 本文之后提到的各种编程牛人的有价值的软件, 都是自己动手写代码, 而不是用什么代码生成器, MVC 模板生成器搞出来的。

  2) 人不多, 师傅带徒弟, 或家传手艺

  觉得作坊小? 阵容不够强大? 会被世界先进生产力的代表鄙视? 软件界有各式各样的生产力, 生产方式,我们不妨从规模最小的生产方式讲起:

  a) 一个人单打独斗的作坊 Micro-ISV

  2004 年的时候, SourceGear 的创始人 Eric Sink 发表了一系列的博客, 讲一个人如何开发软件盈利, 并且把这种方式叫 Micro-ISV (微型独立软件开发商)。 Eric 为了实践这一方式, 在工作之余, 自己单打独斗开发并销售一个软件 (改进Windows 自带的翻牌游戏)。

  2004年 11月, 天朝领导讲话说作坊不好。

  2005 年初, 中文MSDN 网站还翻译了Eric 的文章, 分享了许多小作坊如何开始的经验.

  2006 年, Eric Sink 把一系列软件创业和经营的想法都综合在这本书里了: Eric Sink on the Business of Software

  另外, 还有有成千上万的 Shareware (共享软件) 的作者, 他们开的就是小作坊。有很多成功的例子 (中国的周奕就是 例子之一), 当然也有更多失败的例子。 我们想象一下, 这些失败的小作坊主, 如果加入了那些庞大的软件生产线, 或者混迹于各种商业技巧中, 他们会更高兴么?

  b) 两人的作坊

  以前宝岛台湾计划生育的口号是 “一个不少, 两个正好”, 如果觉得一个人太少, 那两个人的作坊最好:

  例如, 最近有很多领导 (普通领导, 文艺领导, 还有那…领导)都提到的乔布斯, 他创新是在一个小作坊 - 他父母的车库里进行的, 主要合作伙伴是另一个年轻人 Steve Woz, 再加上几个帮忙的伙伴。 这么说来, 领导要复制成百上千个乔布斯, 我们还得把未来的乔布斯送进作坊里。

  这不是例外:

  1) Hewlett 和 Packard 创业的车库, 小作坊。

  2) 比尔·盖茨 和 保罗·艾伦 最初创业时, 他们连车库也没有, 比尔同学驻扎在学校的机房写程序。

  3) Google 的创始人开始也是用一些貌似简单的机器和网络, 搭起了一个搜索的小作坊

  。。。

  即使没那么有名的作坊, 例如像 System Internals (Mark Russinovichand Bryce Cogswell), 他们写了一些在Windows NT 操作系统上很好用的小工具 (Process Explorer, ZoomIt), 也很成功。

  两三个专注于某一领域的匠人, 用非大规模制造技术打造出来的东西还有价值么? IT 历史告诉我们, 有很多成功的产品都是从小作坊开始的。

  c) 小就是美 - 杰克 · 马

  看了上面两个例子之后, 如果还觉得自己小, 不好意思出来混的读者可以看看一个大公司 (阿里巴巴)的大老板在大报纸(纽约时报)和其它大场合上上发表意见 “small is beautiful”。

  3) 只做某种行业, 不太改行, 商业技巧比较缺乏

  这不一定都是劣势. 有些商业技巧不要也罢. 好的作坊不会让顾客先交钱成为 VIP,办一个金卡, 然后过了几个月作坊就消失了。 你走进中关村卖电子产品的大楼, 每个卖家都说自己是全国连锁, 质量如何好, 他们的商业技巧非常丰富. 你敢单身进去买他们的东西?

  我大学毕业的时候, 满腔热血地加入了某高科技公司, 它属于某大学科技开发部下, 是校办国营软件企业, 当然不是作坊。 事实上我们的大老板 (大学教授兼职开公司) 想把公司办成特高档, 特专业软件开发, 特有那种, 那种… 那种不是作坊的公司。公司墙上贴了 “高科技, 高… 高… 高… ”的标语。 我们都叫自己是 <四高公司>。 公司开始做 Unix 汉化, 办公自动化, 地理信息系统, 出国跟日本和美国合作 (当时还没有 外包 这一说法), 搞了一阵子, 没有一个方向有显著的发展。地理信息系统倒是常有人来看, 但是每次演示都会死机几次, 顾客也没说要买… 后来大家也不知道要干啥, 一些程序员闲下来就开始搞一点外面的作坊常干的事。

  例如: 一天早上大家都在闲着, 我在看电脑报, 同事小孔接了个长途电话:

  “对… 对… 我们卖大型地理信息系统,Unix 上的 … 绘图仪吗, 什么型号? … 我们也经营的, 上个月还出过几台 ... 我到库里去看看有没有现货… ”

  小孔走过来把我手里的《电脑报》抓了过去, 翻到报价版面, 在绘图仪价目表上来回看了几遍, 然后拿起电话:

  “你好, 我去 [库里] 看了, 有现货, 起价是… 您什么时候来取货?“

  第二天傍晚, 一台绘图仪被搬进了公司, 我们装好了试用了一下, 过了把瘾。

  第三天上午, 绘图仪出手了。

  后来大家都离开了 <四高公司> , 这样的商业技巧还在很多公司流传。。。

  4) 不太做广告, 主要靠口口相传, 容易被技术进步淘汰

  这的确是传统的作坊的一个劣势, 现如今有互联网, app store, SNS, 如果自己的产品真的好, 想让别人不知道也挺不容易的。

  作坊会被技术进步抛下? 以前看到一个电视节目采访一位修钢笔的小作坊, 那位师傅能把铱金笔尖的那一点小 “铱金”给点上去。这个技艺连同那小作坊据说已经快失传了。但是没关系, 有很多大型的企业, 也会被技术进步抛下的。 就像以前一部小说 <神鞭> 讲到的, 如果落后的绝技没有太多用处了, 那就练点新的绝技, 人又不笨, 小作坊掉头快, 好办。

  有一种意见认为作坊只能独立存在, 其实不然, 在庞大的企业内部, 也有一些人构建了一个小作坊, 自己做主, 做自己感兴趣的事, 例如:

  Thompson 和 Ritchie 在搞 Unix:

[[55407]]

对这些 “小作坊”睁一只眼闭一只眼的经理们, 值得表扬。

  这些好的作坊, 都有这些核心特性: 从小事做起, 讲究质量, 信用, 对产品负责, 对工作自豪。

  作坊这么好, 那中国的许多作坊为什么不能兴旺? 一个大家常说的重要原因, 就是 “环境对知识产权的尊重和保护不够”, 其实哪里都有盗版, 哪里都有抄袭, 哪里都有竞争。有能力的作坊, 往往找到合适的渠道, 合适的空间, 实现自己的价值。

  可以看看这个例子:

  那些想开作坊的人, 你们对知识产权又是如何尊重和保护的呢? 你心里 “热爱技术”么? 你是否发现了你作坊的独特价值? 你能放弃貌似免费的看热闹的机会,在网上斗嘴的爽快, 倒卖绘图仪的短期收益, 吹嘘自己要写一个平台的风光, 先练好内功?

  作坊就在那里, 你是装作路过没看见,还是走进去? 在走进去之前, 先看看你喜不喜欢下面的事:

  专注于你真正想做的的事, 也许比较寂寞, 因为它不是网上热捧的 “高科技”

  如果你觉得解决普天下大众的问题很难, 能否从解决自己的问题, 自己周边的问题开始?

  真正做好服务, 不管用户有多少。 保护用户的数据和隐私, 就像你希望别人保护你的隐私一样,不要找别的借口。

  有胸怀去找至少一个伙伴, 一起成长

  能自我管理, 按照自己的节奏来分享体会和成果,

  享受你的工作, 当别人询问你的工作职位时, 能够情绪稳定地说: 我自己干。

  在 <现代软件工程> 这门课中, 同学们组成了一个个作坊, 做一些解决具体问题的小软件, 比那些上不着天, 下不着地,没有实际用户的软件好多了。

  几年前各级有影响力的人士贬损了 “作坊”之后, 他们最近不谈 “作坊”了, 他们在人云亦云地提 “云”和 “创新”的事:

  创新的出路在哪里? 不能在各种峰会上发言的 IT 人士, 不妨走进各自的小作坊。

原文链接:http://www.cnblogs.com/xinz/archive/2011/12/31/2309002.html

【编辑推荐】

  1. 测试用例设计方法1 等价类边界值
  2. 测试用例设计方法2 因果图判定表
  3. 软件测试接口测试的测试用例类型
  4. 关于手机测试用例设计的几件事
  5. 浅谈跟踪测试用例
  6. 测试用例与输入数据的设计方法
责任编辑:彭凡 来源: 博客园
相关推荐

2011-12-01 09:20:41

软件工程

2011-09-07 08:59:23

2011-05-10 09:22:28

软件工程

2011-09-08 10:26:49

2020-06-05 12:01:11

软件工程C++Python

2017-03-20 11:40:28

Google软件工程经验

2022-10-19 15:34:11

架构软件安全

2011-10-10 10:10:14

2022-07-29 09:12:44

软件硬件开发

2022-09-16 08:00:00

软件工程师求职薪酬

2013-09-03 09:30:44

软件工程师软件工程师头衔

2023-06-05 10:07:13

软件工程平台工程师

2022-01-16 07:12:30

软件工程师吵架开发

2010-06-18 14:06:17

UML软件工程

2009-07-24 09:43:09

软件工程软件开发

2010-08-10 13:22:41

2010-06-29 17:59:03

UML建模

2015-06-02 11:29:55

软件工程师程序员

2009-02-12 11:52:23

软件工程师职业规划价值

2021-12-03 09:00:00

企业测试软件
点赞
收藏

51CTO技术栈公众号