最近公司在进行一系列新模块的开发,在痛苦开发的过程中,大家不时在一起进行总结等思维体操活动。上周六中午加班,几位同事一起聊了聊最近协同开发的感受,我从中受益匪浅。
首先提到过于民主化的开发模式导致了交流成本的增加,这些成本分散了研发人员真正用于开发的精力,显得很不划算,但是针对这个现象,一直没有可行的解决办法。其次是一些具体的合作开发模式导致无法控制整体进度。我们按照自己的思路,针对目前的实际情况,勾勒了一个理想化的开发流程。
点击左上角图片可以看到这个流程图,以下是对各个字母所代表的连线的注解:
A、项目经理与公司决策层的沟通,以确定这个需求有没有足够的人手和可行性去实现,以及与现有产品的依存关系。
B、公司决策层与市场/策划部门的交流,这个过程将进行的相当充分,并且是反复、长期的,它致力于从用户的角度对需求进行细化和分解。
C、市场部门需要针对细节问题与项目经理交流,以确定这个需求有没有可行性去实现。
D,E,J、这是整个产品的架构设计过程,分为UI架构设计和程序架构设计两部分。首先架构师需要与项目经理达成思想上的一致,随后进行设计。这个设计必须是便于分工、维护和扩展的,而且要能够承受一定强度的原型开发压力。UI架构师将根据界面逻辑对产品实施分割,对每个界面上需要放置的内容了如指掌。程序架构师在与全体开发人员民主讨论后,制定出自底至顶的程序层次(例如class、library等等),并划分出功能模块(例如首页、内容列表、后台管理、帮助系统等等)。UI架构师与程序架构师之间需要就功能划分、文件命名规则等等达成一致意见,并不断在开发中完善思路。
F、美工使用photoshop等工具设计界面,并完成图片切割工作。
G、网页设计师负责书写静态模板。如果人手缺乏,这个位置可从程序开发人员中抽调。
K、美工与网页设计师之间需要进行一些协调。一些美工的设计思维并不能完美的体现在网页上,因此需要不断的磨合与修正,达到双方都满意的结果。但相对来说,美工完成的作品并不需要做太多的改动,因此这里采用单向箭头标示。
H、对底层逻辑(如类、方法、库的设计),以及相关文档的整理。如有精力可以进行小规模的测试,确保日后的开发工作顺利进行。
I、当底层接口以及相关文档完成后,模块化的拼接将变的比较轻松,这个流程将完成基本模块到外部功能的构建工作。
L、这是程序开发人员需要付出最多交流成本的地方。很多的底层模块在拼接过程中需要进行变动,例如增减参数,修改类、属性、方法的名称,将类、属性、方法移动位置等等。同时,外部的实现需要随着底层模块的更改、优化进行相应的调整。
M、产品成型后,将交付测试部门进行测试。测试部门返回一个报告,发送给项目经理和程序开发人员。在小规模的开发团队里,项目经理可以充当质量保证的角色,前提是他对项目的开发过程有一定程度的了解,否则,应当指派一名专门的质量保证人员来处理bug列表。
N、测试部门返回的报告本来是可以发给所有程序开发人员的,但不幸的是,测试人员只跟界面打交道,他们只注重结果,而不注重实现原理。因此bug列表一般需要交给负责界面逻辑的开发人员进行整理,然后分发给各个成员加以更正。在小规模的开发团队里,界面逻辑和底层逻辑可能是由相同的一批人来实现的,那么他们需要一个Bugzilla来协同处理这些bug。我们也建议测试人员使用同一套Bugzilla系统提交bug报告。
最后总结几点:一、详细分工的目的是为了降低交流成本。二、实际情况会使得开发工作复杂化,所以流程模型要能适应原型开发工作。三、文档和标准化的规范是极其重要的,它可以使开发过程工厂化,提高代码质量和可维护性。
月度归档: 2005年5月
一个网站相关服务模块的结构模型
我的梦想就是成为一名优秀的架构设计师,让所有物质流和意识流都能够按照我的图纸以最大效率运动着。今天讨论一个很浅的模型,这个模型是受了近期工作的一些启发,以及与同事的交流得到的,我给他起了一个伟大的名字--“B-S三层结构中服务器端物质流的运动模型”,供博士论文引用方便。
点击左上角的图片可以看到描述这个模型的简略的流程图。假设Service I – III是某服务商提供的三个服务,他们在数据库服务器(或集群)上各自拥有一个数据库,即Database I – III,每个Database只有跟其号码对应的Service才能直接访问,如果另外两个Service也想访问,则需要通过每个Service提供的内部API间接收发数据,传输方式可为SOAP或xmlrpc等等。每个API会针对不同的服务设定相应访问权限。
考虑到某些Service对数据库的读写频率有不同的要求,我们可以为不同的操作指派不同的Database Server。例如某Web论坛,它的读写频率比为10:1,那么我们可以使用Master和Slave服务器,Master以某个周期或实时向Slave同步数据,写操作被指派给Master,读操作被指派给1到n台Slave,当网友对论坛数据的实时性不敏感时,这种方式最能提升效率。
考虑到与第三方展开的合作,我们还可以为每个Service开发对外API接口。对外和对内的API接口会根据权限设置和合作方要求而有所不同,所以不能完全使用一套接口。另外,提供与第三方合作的前提是保证我们自己的服务依旧稳定,因此要对第三方的请求与响应放入队列。我能够设想到的队列是这样的:一、拥有请求和响应两种队列;二、假设本方服务允许第三方操作的并发线程数为N,那么请求和响应队列数量可为N的任何约数;三、允许某些第三方用户使用带外通道,带外通道中的数据会非常少,那么它们会以很高的优先级得到处理,即使其它通道排满了请求,也不影响带外通道的响应效率,可为特殊用户提供VIP服务,并理所应当的收取高额费用。
5月20日流水帐
当心态再次出现问题时,交流是最好的方式,听音乐也不错,比如华丽点的哥特摇滚。如果憋在心里,会崩溃。
今天Seether和Amy Lee的《broken》总是回旋在我耳边,MV里黑翅膀的天使给我留下了很深的印象。这样的歌曲听起来虽然很颓废,但寄予人们的是摆脱无助心态的沉着的勇气。诸如此类的歌曲还有Garbage的Medication。
突然记起自己高三时候的梦想,就是每晚八点,更新自己的个人站点。那时候仅仅是梦想,因为我没有域名,没有空间,没有时间,而且拨号太贵。五年后一切很自然的来到我的身旁,但我已经将它视为我生命中不可或缺的一部分了,就像恋爱和结婚后生活的差别。
今天的工作比较顺利,在deadline大限来临之际,很多bug们很识趣的向我缴枪了,生活真美妙。
但我还是明知道很多事情要做却不去做。这是一种可怕的心理,不调整就会耽误事情。
晚上九点跟同事去王府井美食街腐败。说腐败,是因为原本没有做出这么腐败的预算,里面东西简直太贵了,但逛逛还不错的,第一次来,难免被宰。
我发觉很多游客,一到了王府井、天安门,就变得狐假虎威般莫名自豪起来,这就是首都的力量吧。
继续听歌,因为我实在没有其它的业余爱好了,或者说,没有志同道合的朋友,以及充足的时间和机会,还有欲望。不过等到生活这杯水变得足够平淡时,我还是会有向里加点糖的冲动的。
你的鼠标今天跑了几百米?
天天把自己的小老鼠放在桌子上蹭来蹭去,却没关注它每天蹭了多少米。这个Mouse-O-Meter软件可以帮我们测量这个长度。注意,这个长度是指鼠标指针在屏幕上移动的距离,而非鼠标这个物体的实际移动距离,如需得知实际距离,可以自行换算一下。从下午两点装上这个软件到目前为止的四个小时里,我的鼠标跑了280多米,不知道大家的老鼠跑的怎样?
双桥站的看车大爷
自行车停车场的管理员,我见过不少。有抢劫般上来要钱的,有躲在墙边乘凉的,也有趁机兜售电话卡的;尽职尽责的也有,双桥地铁站边上的老大爷就是一个。
我想我不能够再按照小学生的作文思路去写了,因此简单罗列几点尽责之处吧。
那个停车场在双桥桥下拐角处,总共能放三四百辆车。遇到下雨的时候,大爷总要把没骑走的车的车座子上套个塑料袋,等主人推车的时候,又会递给他们一块抹布擦水。他备了几个打气筒,其中有专门为铝车圈打气的。如果你的一辆车被挤在一堆车里,他会主动的帮你搬车。晚上十点过后,他要把没骑走的车拴上大锁,然后放只训练有素的小狗出来值班。
其实这些事情,如果一个人人品足够好,是可以想到去做的,但如果坚持做下去,若没有利益驱动,恐怕很难。于是那些身价上亿的老总们,娱乐明星们,开始种树了,赞助儿童福利院了,参加公益活动了,他们可能人品不算好,但他们喜欢热闹,不在乎吃这点亏,从而会乐意奉献本来就可以挤出来的时间。但小人物们,却往往为生活所累,于是他们盘算着工资与付出的关系,盘算着如果为自己谋私利。在这个已经被金钱格式化过的社会里,想找到老大爷这种境界的人,不容易。
中国人已经没有多少人敢拍着胸脯说“我有信仰”了吧,很少人能够明白自己为什么而活着。信仰已经失去了,不如我们就守住自己灵魂深处那点良知吧。对社会怀着感恩、报答的态度,或许能够发现别人都在冲你微笑,你会得到更多。
Google web accelerator与P2P
Google的加速器是个好东西,充分利用了Google强大的资源优势。在使用加速器的过程中,我突然冒出了这么一个想法,就是在每个加速器上指派n个IP,这些IP可以是局域网的,也可以是广域网的。这些IP所在的电脑上也同样安装有Google加速器,这样它们就形成了一个P2P网络。每个节点上开辟一块空间放置cache(或者干脆利用浏览器的缓存空间),某个节点上的用户打开网页时,加速器会依据一定算法搜索指派节点上的cache,或者由其它节点获取数据后传回本节点。
这种设计有几个好处:首先是减少通过Google服务器的带宽,便于Google推广其它业务;其次是减少一个局域网内的出口带宽;最后一点是充分利用每台电脑内未被充分利用的网页缓存资源。Google也许会为自己流量的减少而惋惜,不过P2P的优势就是能够交互客户端资源,这些资源对Google来说可能是更加珍贵的。
由此又想到另外的问题:如果某一天Google聪明到能够成为一名训练有素的间谍,那将是十分可怕的事情,Google一个人的名字,就可以搜到这个人所有的踪迹,对他来说可不是件好事。
Windows统治了全球PC操作系统的绝大部分份额,Google也试图统治着万维网的世界,EA Sports拥有可用于军事领域的诸多技术……难怪美国有实力当上全球的霸主。
5月15日流水帐
周五晚上回了趟天津。
突然发现,能在工作之余坐坐城际列车,感受十六摄氏度的空调大巴,目睹8路公交车流线型的新躯壳,真是很休闲的事情。在车里,我可以旁若无人的做自己想做的事情:把笔记本打开,选好几首歌曲后盖上,当MP3用,居然可以听两个多小时;买瓶不知道是真是假的鲜橙多,一口含在嘴里,让牙根体会麻木的感觉,一如我曾经聪慧的大脑。
天津的小吃挺便宜,我下了火车就跑到南开天大交界处的地方,照例买两张鸡蛋灌饼,还有一些烧烤,坐在临街的桌子旁。手机扔到棺材状的铁炉子边,这样有了短信我就能第一时间看到了,自认为够酷。吃完了跑回朋友的宿舍当回假研究生,朋友刚从外面洗澡回来,嗯,最近爱干净了,手机使用率也高了,莫非有啥风流韵事了吧。
总觉得趴在床上上网不是太好的习惯,可有时候发现,不上网自己也不知道该干什么。就这样上下去吧。夜里突然遭遇一个男性网友的女性朋友,跟我攀谈起来,直到第十分钟前,我还坚信她认错了人。后来看在她在Sina当编辑的份上,那就聊吧,后来还是她先撑不住,睡了……女人嘛,就该好好保养才对。
第二天爬起来,太阳已经很高了。确切的说,我被体育场上化学学院的运动会吵醒了。我觉得很荣幸,因为找回了学校时逃课睡觉的氛围,那时候的我睡的是多么心安理得啊。
午饭有学妹请客,真的很感谢她。她比原来“社会化”多了,很多思想都成熟了,挺好的。她很强,考中科院没录取,居然还能调剂到校内公费。短短一个多小时吃的很爽,同时知道了从同安道一直走下去,是可以走到气象台路的。
晚上回北京坐大巴,头回认真的看了一遍《无间道》,刘德华永远是女人的偶像和男人的目标,那种略带忧郁又执着的眼神,跟我确有几分相似啊,真巧。
到了北京冲上地铁,对面坐了一位很有乡土气息的老外:他一头谢顶,脖子上搭了一条超长的黄色毛巾,身穿褐色马褂,脚踩大号布鞋一双,土的个性,土的精彩,不,人家管这个叫民俗。更另类的是,他肩膀上站了一只白色的大鹦鹉,头顶一撮黄毛,配上鹰钩鼻子,活像一只雕。主人对它可是关爱有加,不停的把三元桶装牛奶倒在瓶盖里,逗它的嘴。它不喝,主人就自己享受,随后用满嘴的胡茬去蹭鹦鹉的毛。这时鹦鹉开始叫唤了,叫的谁也听不懂,真的成“鸟语”了。
这个世界还是丰富多彩的,只要与人产生交流,就不会孤单吧。
廊坊自然公园游记
廊坊自然公园,位于廊坊市郊铁路沿线南侧,面积两千多亩,里面有个市内最大的人工湖,还有大片的树林。这么好的地方,我最近才听朋友提起,的确有相见恨晚的感觉。为了避免蒙受更大的精神损失,马上约了朋友一起去逛。
5月9日的午后异常的晴朗,太阳把空气烤的微糊,裹在身上便是暖洋洋的感觉。大凡知名些的公园,若是赶上五一黄金周去游玩,一定会拥挤不堪;这次碰巧赶上我所在的部门多放了两天,所以有机会独享这片胜景。
拿起相机,便可以不打腹稿的拍来拍去,但冲动过后才发现当时的享受比捧着相片的回忆更加珍贵。我喜欢看着阳光从树叶的缝隙间挤向地面,砸出一块块亮斑;喜欢看着碧绿的湖水,毫无拘束的在暖风抚摸下拍打着岸边。偶而飞来两只不知名的鸟儿,衔根草枝搭起窝,随后唧唧喳喳的溜走,我才意识到,原来我们早已习惯成为大自然的过客。
据说树林深处还有几只鸵鸟,可惜天色已晚,不得不原路返回。离开的时候,我突然有种惊慌失措的感觉:一桩甜美的梦,一场狂热的爱情,总有结束的那一刻,是我太不懂得珍惜,还是世间万物皆如此,而我却没有领悟到呢?
我觉得完美的生活,就是在得与失之间寻找完美的平衡吧,学会取舍,才会变得更快乐。
rainway.org启动
经过一个多月的沉寂,bluetent的个人主页终于以新的姿态展现在世人面前。新站点启用了www.rainway.org的域名,并允许网友依照自己的喜好选择不同的模板。
bluetent潜心思索了很长时间,对blog的理解发生了一些变化:每篇blog不应当仅仅成为命题或非命题作文,还应当忠实的记录自己情感的轨迹,展示真实的自我。这样,blog的更新速度也会更快一些,以免随笔性质的文字被严肃的格调扼杀。
此外,bluetent还想当一个DJ,每隔一段时间录一期欧美音乐节目,放在网站上供大家下载,因为bluetent已经自信能够使用cooledit编辑简单的音频片断了。前段时间,bluetent还购买了一台Kodak的Z740数码相机,以后会用它及时记录生活中的点点滴滴,并回馈给各位观众。
文字、声音、影像,将带给大家不一般的视觉感受。如果各位有兴趣,不妨把这里告诉其他朋友吧,因为,搜索引擎将永远看不到这里;anti-SEO,让欲望成为光临这里的唯一理由,让整形手术去死吧。