代码改变世界

对于getting real开发结合自己的工作的一些思考

2009-06-06 15:33  JustRun  阅读(1535)  评论(3编辑  收藏  举报

1. 什么是gettingreal,

这个是中文翻译的原文

http://gettingreal.37signals.com/GR_chn.php

“Getting Real 是一种更小规模,更快速,更高质量的软件构建方法。”

2. 我的思考

我们是妓女吗?
这个是我们老板有次和我们开会的时候讲的,他的意思是不要盲目的答应客户的要求。我们也是要挑客人的。

现实的确是这样,很多客户是外行,但是往往他们认为他们付钱,就应该是大爷,我们就是妓女。

“为什么不用J2EE,这个比较好”(我们在做桌面开发)
”我们要用Linux服务器,这个比较安全”(我们是做.net的)

是的,不要让客户在你的领域指手画脚,告诉客户:”关注你的业务问题吧,技术实现交给我们”.

什么才是有用的

先看一个笑话:

“联合利华引进了一条香皂包装生产线,结果发现这条生产线有个缺陷:常常会有盒子里没装入香皂。
总不能把空盒子卖给顾客啊,他们只好请了一个学自动化的博士后设计一个方案来分拣空的香皂盒。
博士后拉起了一个十几人的科研攻关小组,综合采用了机械、微电子、自动化、X射线探测等技术,花了几十万,成功解决了问 题。
每当生产线上有空香皂盒通过,两旁的探测器会检测到,并且驱动一只机械手把空皂盒推走。
中国南方有个乡镇企业也买了同样的生产线,老板发现这个问题后大为光火,找了个小工来说你他文明用语给我把这个搞定。
小工果然想出了办法:他在生产线旁边放了台风扇猛吹,空皂盒自然会被吹走。”

我在想我们的程序员包括我们自己,只要是技术出身的,是不是都常常会犯这样的毛病,一件事情总是要找到完美的,传统的,教科书式的解决方法,没有从简单方面去思考问题。

当我们在做一个开发周期不到一个星期的客户的小网站的时候,还在大谈设计模式。
当一个访问量每天不到100的网站的时候,你就开始考虑负载均衡。
到底什么才是有用的?


小企业如何生存

在没有看到这篇文章之前,对于IT领域中小企业如何打败大企业,我一直是很悲观的。

IT领域和传统领域不一样,它是在一个平台上竞争。
我开个小的便利店,我可以存活。因为我有地利,客户不会为了买瓶饮料跑到2条街远的好德去。
而在IT领域,小的公司还大的公司一样,在一个平台上,成都的客户买北京的软件产品还是上海的软件产品,没有区别。对于互联网行业,更是如此,赢者通吃。

getting real给出了一个小企业在大企业中如何生存的方法。
认清自己的渺小,脚踏实地的做好小的事情.


把东西做小

“一个物体的质量越大,改变方向需要的能量越多。物理世界的这个真理同样适用于商业世界。”

“常规的思维方式告诉我们,不管竞争对手做什么你总是要比他们加多一些。如果他们有4个特色功能,你就需要做出5个(或15个,或25个)。如果他们花了x,你就该花xx。如果他们有20,你就得有30。”

大的企业做了很多功能,每个功能都很好用,我们做相同产品,是不是也应该走相同的道路呢?

当我回访我的一个使用公司CRM产品的客户的时候,我竟然发现,我们开发的一整套CRM产品,客户居然只是用到了其中的一小部分----回款功能。
当我问他为什么不用其他的功能的时候, 他的回答是:我们企业还没有要到用其他功能的地步,采用传统的方式,我们的效率更高。

不是吗?你就只是记个电话号码?你用得着打开word吗?还是用记事本吧。

 

快速的拿出你的产品

看了一篇文章,是创业失败写的一些总结

http://www.xucx.com/blog/post/20090505403.html

“当网站的第一个版本发布的时候,如果你看着它不感到难为情,那就说明你用来开发的时间太多了创业者首先要做的,就是尽快拿出产品原型,不管它有多蹩脚,只要能用就行,然后让市场决定未来的开发方向”

gettingreal也是相同看法

“如果你不能够用三个人建造第一个版本,那么你或者需要更改人数或者需要缩减初始的版本。记住,保持你的第一个版本小而紧凑是没有问题的。你会快速的发现你的想法是否快速的进展,如果是,你会拥有一个清洁的简单的基础可以继续建造。”


先关注客户的问题,而不是技术

在和客户交流的时候,关注客户要解决的问题,而不是任何用技术实现,更可怕的是想到如何用更好的技术去实现。

很多好的IT公司的老板都是不懂技术的,apple的乔布斯,阿里巴巴的马云,他们的注意点是客户,解决了客户的问题了,你的产品才有价值,你的企业才有价值,我们这些技术人员才有价值。

我们不要去当空谈家,对于自己的八股文章沾沾自喜。