Apr 242013
 

是我三生有幸,这辈子能遇到这样的极品项目,必须要猛击双乳,奔跑着歌颂了。。。

还记得最初拿项目的时候,老大口口声声承诺,你需要什么resource,只要我们公司有的,一定给你用;同时,现在客户对这个项目要的比较急,你尽量把schedule压缩,然后我们在他们sign这个deal之前就开始做起来,你也知道政府机构签合同都是很拖拉的,这样一来至少可以给你多争取两三个月时间,应该差不多够用了。

结果,schedule报上去了,摩拳擦掌准备抢跑了,老板一声令下:合同没签,谁都不能在上面花时间。。。只有一个做UI的,可以做前期准备。

我想也有道理,生意人,合同没签,谁也不愿意做赔本的买卖。

结果,那个做UI的哥们,做了两个月,因为跟老板的工资谈得不开心,少给了他三万块人民币,撒腿走人了。。。。留下一大堆半成品。。。

然后,合同终于签下来了,我想原来那些resource,总该给我用了吧?

结果,老板一声令下,first come first served,这两个家伙去做比我们早签的那个项目去了。。。

我想也有道理,凡事先来后到总有个顺序吧,要不我先撑一阵子,等他们这个一个月的小项目搞定了,就熬出头了。

结果,等了一个月,满怀期待的等着resource onboard,结果老板一声令下,这两个senior的developer,要把更多的时间花在pre-sales上,为公司争取更多的项目。不过,老板承诺,一定会给我找一个能够顶替原来UI人员空位的高手。

结果,又过了一个月,盼星星盼月亮,等到的却是三个实习生:一个是大二在校学生part timer,一个海龟研究生应届毕业生以及一个本科应届毕业part timer。。没有经过我的面试直接塞进来的,号称能够搞定所有的UI。。。结果分出去十几个小task,一个多月过去了,三个人加起来完成不到一半,其中还有三个是最后我自己搞定的。。。

同一时刻,纽约又来了两个实习生,一个印度人,一个中国人,那个中国人没做了两个礼拜,因为打工许可没拿到,走人了,上个礼拜又招了个新人进来。。。

算下来,这个项目上一共有五个新人(前前后后其实共有六个),还有我这边原本有一个工作一年的准新人(现在已经成为我最主要的开发力量),分布在上海,旧金山和纽约,横跨三个时区。。。由我一个人负责分配task,回答各种入门级的问题,review code,提供建议,以及擦屁股。。。老大还三天两头催我,张三那个task明天可能要做完了,你准备让他接下来做什么;李四最近表现如何,接下来他会做什么?尼玛我哪里来那么多本事,一下子搞那么多task出来让六七个人能够并行工作啊!

缺乏核心开发人员的另一个结果,为了迎合项目的进度,我必须花更多的时间在具体的开发编程,特别是我不太擅长的存储过程开发,而无法专注于对需求文档的研读以及跟客户的沟通。为了弥补这一块的损失,老大又决定引入一名对业务和技术都不是很熟悉的同事,做本来更应该由我做的事情,号称是帮我减轻负担让我全力以赴做开发。这就像是田忌赛马的另一方,将每个人最适合做的事情,都做了错位的安排。

更搞笑的是,前两天老大又发话,你知道某某某最近可能可以空出来一个半月时间,你看要不要把她找过来,给你做一些coding,她人还挺聪明的,虽然对现在的技术不是很了解,但是应该会很快学会。。。我就彻底石化了。。。

完全不知道怎么跟这帮人解释,越描还越黑,我们都在帮你,你怎么这么不领情呢?我真是狠自己英文水平不够,要不然我一定把那篇People Management全文翻译给老人家过目。

碰到这样极品的项目,和这样极品的管理,我已经彻底失望了。。。原本一门心思想把这个项目做好,白天埋头苦干,晚上还要回那些实习生的email,现在我也看开了,既然上层都如此不重视这个项目,我一个微不足道的打工仔,又何必这么在乎呢?

 Posted by at 9:37 pm
Nov 192010
 

今年上半年,我在阿联酋的Abu Dhabi International Airport为客户automate他们的7个business processes,客户很喜欢我们设计的workflow form,他同时又告诉我,如果他能在他的iphone上收到实时的workflow ready的notification,他将更加兴奋。当然,他没有告诉我为了获得这个额外的功能,他愿意付出多大的代价($$$),但是这也从侧面反映出,越来越多的人对信息的instant update抱有期待。

我猜,他当时是那样说的,但如果我们真的可以免费提供这样的功能,他也未必会心存感激。因为作为管理者,PM并没有义务在任何时刻(包括下班以后的个人时间,而这正是掌上移动设备,这里特指手机,相对于PC机和laptop电脑的最大优势)来为部下approve或者是reject他们的workflow。

潜在用户

从这个角度来说,了解什么样的用户会对instant update更感兴趣,非常重要。IMHO,在业务交互中,能从instant update中获益的一方,是我们的potential user,比如说:payment system中的收款方(as opposed to付款方),bidding system中的竞标方(as opposed to发标方),抑或是组织内部的管理者(as opposed to普通员工)。但是,在前两种情况下,系统的拥有者往往不是受益方,他们愿意在这上面花钱$$$的动力,并不容乐观。而最后一种情况,在我看来,是最有可能发生的状况,因为executive level的用户,有责任和动力获得实时的项目进度,比如多少workflow late了,在谁手上,overdue几天了;况且这部分人,平日业务繁忙,可能无法时刻坐在电脑前关注项目进度,而一台智能手机,不论是iphone还是blackberry,肯定会更加handy。

适用场景

说到这里,又带出了一个问题:什么样的应用适合在移动终端上实现?鉴于移动终端屏幕尺寸以及输入方式的限制,移动终端更适合做“展示”平台,而不是“输入平台”,就像在上面的例子里提到的,提供给executive instant update of workflow status,而不是让他们在三寸屏幕上review下属提交的冗长的报告。

实现方式

通常,有两种解决方式:app vs. web。两者各有千秋。

App最大的优点,是可以充分运用设备本身的硬件特性,比如multi-touch,比如重力感应,又比如push notification(这点应该是最大的亮点)。但App也有它的弱点:一是部署,公司的executive level,未必都是计算机高手,而与PC机相比,手机又是极端私密的个人设备,我想不会有哪个老板会放心把自己的手机交由IT部门来安装应用程序;更大的问题是系统的开发,不同的平台有不同的编程环境,为了兼容当今最热门的三大smartphone平台:iPhone, BlackBerry和Android,必须招募三套开发人员,使用完全不相关的编程语言,调用完全不相关的系统API,这无疑会大大增加开发的成本,完全可以认为是三套独立的系统。

而web应用,则可以完美地解决app的两大缺点。不论是不是计算机高手,只要会上网,会用手机,就会使用web版的应用程序,无需安装,无需更新。另外,虽然不同平台的browser,对页面的支持,多多少少会有不同,但其本质是一样的,更可贵的是,所有的后台逻辑,包括数据访问,业务处理逻辑,都可以共用一套机制,唯一要做的,就是为不同的browser做小量的tweek,这样的工作量和app相比,立马就见高低了。

我个人的观点

因此,从长远看,web应用会更占优势,但问题是,熟悉jsp/php/asp.net的开发人员,比起熟悉objective C的开发人员,要泛滥得多,因此,从个人发展的角度来看,如果能在熟悉一门web开发语言的基础上,再掌握一门app的开发技术,在未来的求职路上,一定是会有更大的优势的。

 Posted by at 2:51 pm
Jun 232010
 

闲着没事,写点自己项目中的一些心得,经验有限,且没有参加过正规的项目管理培训,有些想法可能并不合理或者成熟。

 

1.  Requirement的优先级: Required/Must > Need > Want/Nice to Have

  • Required/Must是必须要实现的。如果出于技术或者资源的约束而无法实现,我们要做的不是马上告诉用户,“对不起这实现不了”,而是先要搞清客户提出这种需求的原因,在什么应用场景下他们会有这样的需求,因为在很多情况下,客户自己也不是非常清楚他们为什么要这样要那样,或者只是想当然得认为自己要这样要那样。因此,我们需要和客户坐在一起,分析需求的运用场景,很多时候,我们可以让他们认识到,这些场景在新的系统中,是不会出现的。如果客户坚持,我们可以进而propose自己可行的解决方案,让他们知道,新的解决方案同样能满足他们的需求,而且效果接近或者等同于他们提出的方案。
  • Need顾名思义,就是某项功能是需要在系统中实现的,但是并不是说要一字不差得实现的。这个优先级会比Required低一点,而且一旦出现技术或者资源约束,客户也比较容易愿意接受替代的解决方案。
  • Want/Nice to Have是最低优先级的,通常来说,都是用户体验方面的enhancement。一般来说,在资源允许的情况下,可以尽可能地满足这些需求,前提是必须优先保证高优先级的Requirements。如果在高优先级的requirements里有过无法满足需求而迫使客户接受替代方案的情况,那么在want/nice to have中做一些妥协,往往会减少客户的不满和抱怨。(因为这些需求往往是很显而易见改善)

 

2.  Issue/Bug的类型:

  •    Requirement not fulfilled:

这里的requirement,一般都属于Required/Must和Need的requirement,一旦出现这个问题,必须马上修正,因为在我看来,出现这种问题,是非常不professional的表现,甚至会比出现bug更伤害客户的信心。

  •    Programming error

世界上没有bug free的系统,Programming error我一般分为三类:

Crash/Fatal Error, Business Logic Error, UI Error. 优先级从高到低依次排列。特别是前两项,没有还价余地,必须修正。

  •    Platform default behavior

这个类别的issue,一般都属于user interface的问题,而且绝大多数情况下,不会影响系统的正常运行,在保证高优先级issue已修正的前提下,可以试着解决,但是,必须让客户知道,this involves additional development,这一点非常重要,否则的话客户很容易take for granted这类问题三五分钟就能搞定,将来吃苦的还是我们自己。

 

// 待续。。。看球去先。。。下次有新的想法了,再来update

 Posted by at 2:55 pm
Jan 072009
 

今天的一切发生的太突然,甚至没有任何人对此有任何的心理准备,也没有任何人在此前看到任何的预兆。

但一切发生的又那么的理所当然,仿佛是经过了苦心的经营,只是在那个时刻它才真正的发生了。

一整天,人们很沉闷,很压抑,很失落很窝火。

刚才在QQ上跟West聊了会,记忆中,认识他一年多了,期间QQ上聊过的话加起来,也不过这尔尔几句。

 

我很高兴,他把我当作目标,并认真的努力着。

我很欣慰,我把他当作弟弟,并耐心的帮助着。

我很遗憾,公司没有给他机会证明自己的能力。

他说他在哭,其实我的心情,也是一样的沉重。

 

我不愿,不敢,也不屑质疑公司的决策,但是如果West你也在看的话,

我要让你知道,成熟不是心变老 而是流着泪还能微笑。

 Posted by at 4:09 pm
Jul 072008
 

今天做Cobb的change order,偶然间看到了自己两年前写的一些代码。

Cobb是我进公司后参与的第一个项目,确切的说,是我毕业后参与的第一个项目,以现在的眼光看,那时的代码真的是一无是处,正如当年自己对自己的评价:回想一年以前,Alex还在为自己一无所长而烦恼,Alex常常会觉得自己连自己都说服不了,如何说服老板每个月给Alex几千块钱让Alex替他干活?(出处:http://www.hi-alex.com/blog.aspx?blogid=21BB9C16-EF7C-443D-BE0F-AE383687EF04

也许两年以后再回头来看这篇日志,也会觉得现在的自己竟然会那么的肤浅和无知吧。

 Posted by at 4:22 pm
May 042008
 

某傻逼只会叽叽歪歪放厥词。

小时候趴地上玩耍的时候 还是要离驴远点

Fuck the shit!

 

小白兔在森林里散步,遇到大灰狼迎面走过来,上来“啪啪”给了小白兔两个大耳贴子,说“我让你不戴帽子”。小白兔很委屈的撤了。
第二天,她戴着帽子蹦蹦跳跳的走出家门,又遇到大灰狼,他走上来“啪啪”又给了小白兔两个大嘴巴,说“我让你戴帽子。”
兔兔郁闷了。思量了许久,最终决定去找森林之王老虎投诉。
说明了情况后,老虎说“好了,我知道了,这件事我会处理的,要相信组织哦”。当天,老虎就找来自己的哥们儿大灰狼。“你这样做不妥啊,让老子我很难办嘛。”说罢抹了抹桌上飘落的烟灰:“你看这样行不行哈?你可以说,兔兔过来,给我找块儿肉去!她找来肥的,你说你要瘦的。她找来瘦的,你说你要肥的。这样不就可以揍她了嘛。当然,你也可以这样说。兔兔过来,给我找个女人去。她找来丰满的,你说你喜欢苗条的。她找来苗条的,你说你喜欢丰满的。可以揍她揍的有理有力有节”。大灰狼频频点头,拍手称快,对老虎的崇敬再次冲向新的颠峰。不料以上指导工作,被正在窗外给老虎家除草的小白兔听到了。心里这个恨啊。  
次日,小白兔又出门了,怎么那么巧,迎面走来的还是大灰狼。大灰狼说:“兔兔,过来,给我找块儿肉去。”兔兔说:“那,你是要肥的,还是要瘦的呢?”大灰狼听罢,心里一沉,又一喜,心说,幸好还有B方案。他又说:“兔兔,麻利儿给我找个女人来。”兔兔问:“那,你是喜欢丰满的,还是喜欢苗条的呢?”大灰狼沉默了2秒钟,抬手更狠的给了兔兔两个大耳帖子。“靠,我让你不戴帽子。”

 Posted by at 3:01 pm
Aug 302007
 

今天和John一起花了一天时间研究Primavera P3的数据结构,把整个数据库设计导出到PowerDesigner,然后一张表一张表的看,发觉P3真的是博大精深,虽然看懂了个大概轮廓,但是仍然有许多字段不了解它的含义。

Anyway,看了数据结构,再联系上周的P3培训,还是理解了许多当时没有搞懂的问题。看来明天还要继续研究。

也许,我们能做出一个web版的P3-Lite?

 Posted by at 3:49 pm
Jul 062007
 

1. Bear in mind, it’s all about fifteen thousand dollars.
2. 先入为主
3. 各花入各眼。

没想到,工作一周年的纪念,居然是在周末加班中度过的。

 Posted by at 7:21 pm
May 302007
 

回来了。浑身筋疲力尽。
有的时候真的感觉看不到一丝希望了。唉。不知道还能不能坚持下去。。。
大家好像都挺忙,想找个人说说话都难。sigh…
|-)|-)|-):(

 Posted by at 3:47 pm
May 292007
 

Simon: 各位,我去吃饭了。
Lilly: 唉Simon,上来的时候帮我带俩馒头,哦不,包子。
Alex: 馒头和包子有什么区别?
Jacky: 包子是没馅的,馒头是有馅的。
John: 把有限的生命投入到无限的为人民服务中去。
Simon, Lilly, Alex, Jacky, Tracy: :|-_-|||

 Posted by at 5:29 pm