个人简介 Segundo Velasquez 是玻利维亚 Mano a Mano Medical Resources 的联合创始人,而且是Mano a Mano United States的总裁。Mano a Mano是一个慈善组织,为玻利维亚饱受贫困之苦的乡村地区开发了许多项目。
1. 与我坐在一起的是Mano a Mano董事会主席Segundo Velasquez。Mano a Mano是一个医疗慈善机构,坐落于明尼苏达州,目的是帮助玻利维亚的穷人们。Agile 2007大会接下来的一周里,我们将与Segundo一起讨论他以客户身份参与的一个项目。那你现在就是在Mano a Mano工作了,我想知道你是哪里人?在此之前,你在做什么?
我的原籍是玻利维亚,是1969年移民到美国来的。我曾在西北航空公司的管理部门工作,13年前,我和妻子还有其他一些朋友共同创建了Mano a Mano,因为见到了玻利维亚在慈善事业方面的巨大缺口,我们想为祖国做点事情。
2. 第一天:你是如何想起要建立Mano a Mano的?这个主意来自哪里?
建立它真的是为了满足我们看到的巨大需求。西北航空公司的工作让我可以很幸运地多次往返于玻利维亚和美国之间。每次回去,我都会看到巨大的物资需求缺口;回到美国,物资过剩的情况又会出现在我眼前。这让我发现,当时是存在一种方式可以让我们、让我去满足家乡的需求匮乏。开始的时候,我们想把这边过剩的医疗用品运回玻利维亚,去救助穷苦的人们。后来这种救助方式的范围就扩大了许多,多到要为当地的医疗卫生机构和教育机构进行基础设施建设,现在正在辅助当地的经济发展,修路架桥,兴修水利,帮助穷苦人和乡村地区做到自给自足。
3. 我想推土机这样的工程机械对你一定是有用的,但为什么会有软件方面的需求呢?听说你将在一周的时间里作为一个软件项目的客户,以用其实现你的愿景。那么你希望用软件达成什么样的愿景呢?
是的,当我们投入到耗资甚众的大项目中时,我们希望大家都能知道Mano a Mano的参与,这很关键。第二,我们要找到一种方式,可以与潜在的捐赠者之间建立情感的联系;而且我们希望通过这个软件与相关流程,增强组织的沟通能力,同时扩大我们的候选捐赠者群体数目;这样Mano a Mano就有可能得到更多来自捐赠者的资金,使得相关的项目可以继续下去。
4. 好,我们会在这一周里对你持续进行采访,而且希望知道你在与XP团队一起工作的经历,他们就在下面的实验室里工作,我们有人把那个地方称作华盛顿2007敏捷大会的地牢。
这次能够参与进来,我也觉得很有意思。我不具备这里大家所熟知的技术领域背景。过去我们开始工作时,我觉得有点摸不着头脑,因为当我们说“剪掉”或“加上”某些东西时,我们也是这么做的,由于没有相关知识和资源,我们能做的也就只能是把纸剪来贴去了。不过今天就不一样了,我可以亲眼见到整个敏捷过程。基本上我每次都可以看到一个队列卡片。具体的方式和概念正在脑海中逐渐成形,虽然还是觉得不太明白,但我能看到他们在对这些工作进行优先级排定,流程和产品本身也就逐渐在我眼前清晰起来了。
5. 第二天:我想昨天是你与团队一起工作的第一天吧?能不能讲一讲你与他们一起都做了什么?对他们的工作方式印象如何?
好的,确实很有意思。我到了之后,并不知道具体工作会如何展开,我们要做什么。一切都很模糊。不过Bob和我坐了下来,开始讨论我们想要得到的东西;我再次强调希望通过这个过程,加强与潜在捐赠者之间的情感联系,并最终扩大我们的捐赠者库,这样可以为Mano a Mano获得更多的捐赠。Bob开始排列卡片,并着手把我们的想法逐个记录下来。记录的结果非常像一棵族谱图:一个引出另一个。这样我可以看到整个的主意、整个的概念开始变得具体起来。然后我们开始整理优先级,安排周一、周二、周三以及此后的工作;随着这个过程的推进,我发现这些排列好的卡片和上面的主意可以移动并调换顺序,这样可以发现潜在的需求,并支持我们那一天要讨论的话题,而当初的想法也在这个过程逐渐清晰了。可以想见这将会是一个令人兴奋的过程,我希望在项目结束的时候,Mano a Mano能够拥有一个这样的工具,可以用它来增加与潜在捐献者的联系,并最终能为这个项目接受到额外的捐赠。
6. 现在已经进入到第二天了,今天晚些时候你将与这个团队共同开始工作。你知道今天的工作内容是什么吗?
知道。工程师们开始将继续研究这些主意和概念的产生背景,并着手开发,让电脑按照我们希望的方式去工作。除了这些,他们还会找一些测试人员,这些测试人员会开始拆分故事,领取任务,展开测试。我也希望他们能够为明天的工作做好准备。
7. 第三天:经历了第二天,在2007敏捷大会的实验室里,你与XP团队一起进行开发,都发生了哪些故事,能给我说说吗?
非常棒!一切都进展得很顺利。昨天是很有效率的一天。我们进行了一些用户故事的开发,这些故事能够把Mano a Mano的慈善项目连接起来。例如通过Google Earth站点,让捐赠者看到自己参与的项目。
8. 告诉我一个例子吧,比如一个能够在Google Earth上看到的项目。
举一个医疗诊所的例子,只要把这个项目上传到Google Earth的程序中就可以看到。对于捐赠者来说,如果他捐赠了某个特定项目,例如一所诊所,那他可以在Google Earth上定位到具体的地点。现在我们的项目存在一个难点,就是很难告诉潜在的捐赠者,他们的项目在哪里。目前,Google Earth可以对任何一座山峰进行定位,但很难看到具体的轮廓。有了今天的程序,感兴趣的人就可以通过Google Earth在地图上标识一个点,当点击这个点时,这个诊所项目会弹出一些信息,告诉你Mano a Mano在这个社区建立了医疗诊所以及类似的内容。
9. 真不错!你们还针对其它故事做了哪些工作吗?
我们还针对向Flickr相册上传图片的故事做了一些工作,首先Flickr会保存图片,接下来我们可以将图片下载到我们的网站上。这样一来,关注自己特定项目的人可以看到Flickr服务器上保存的图片。开发团队还试图完成另外一些故事,不过都还有点小问题。但整体来说,今天进行得很顺利,我们也很兴奋。
10. 那与XP团队在一起工作感觉如何?
感觉非常棒。他们是非常优秀的团队,每一个人都努力工作,甚至到时间还不愿意休息。有人下到实验室来提醒大家“休息时间到了”,可没有人理会。
11. 激情迸发,是吗?
他们确实很有激情。我还要说:像这样的大会赞助一个非营利的组织,还有这样一群人,他们不仅热爱学习,更愿意为一个会后可投入使用的产品投入精力,而对应的项目也是如此真实、可用、高效。本身这个理念就很棒了。对于Mano a Mano类似的项目来说,这是一次商业和团队的优秀结合。
12. 在同团队一起工作的过程中,你遇到什么困难了吗?
没什么大问题。我认为最重要的问题,或许也是我最关心的问题,就是确保目标清晰。我在这其中起的作用,就是把它传达给我的团队成员。因为我和大家处在两个不同的世界:其中一个是我并不熟悉的技术世界,所以一开始要把信息清晰地传递出去有一些困难。但是一旦我们做到了,工作就开始走上正轨了。
13. 能告诉我房间布局是如何安排的么?你怎样看待这种设置方式?
这是一块很大的空间,能够容纳许多人。这里有不少配置好的计算机,大家可以两人一组进行工作。有人很想学习如何开发出色的代码、如何编程,而一些知识丰富的专家就会与他们一起工作,组成两人的团队。这么做给人感觉很放松、很开放、很友好、很棒。我们都呆在这个地下室里,所以都觉得有点儿……有人称这里为地牢,不过这儿还是一个非常棒的地方。我们用墙做白板,之前我写好的故事会按照从周一到周五的日期顺序贴在上面,开发人员会将尚未开发的故事放到“on deck”区域,而正在开发中的故事放在“in development”区域,这些故事测试完成之后,它们会放置到“完成”区域中,团队成员将这些故事处理得非常有条理。
14. 你会同测试人员一起工作吗?
我们昨天做了少量的测试,在我们自己的机器上运行正常,但上线后,遇到了一些小问题。
15. 不过你们还是要继续?
当然了,不止如此,我还打算跟他们谈论下有关酬劳的事情,而且我们已经在谈了。希望他们明年仍然会邀请我们这个组织,完成软件第二阶段的需求,我们将会处理与小额贷款或者叫做社区贷款有关的程序,这将是下一个阶段的工作。
16. 我从其他途径听说你们还跟别人建立了联系,这个人在法国已经开发了一个小额贷款处理软件,而且是开源的。
事实上,这个消息令人振奋,我知道同我们一起工作的志愿者中已经有人在研究这个项目了,这将使它变得更加便于使用。我希望能尽快看到这个软件。
17. 这个大会总是可以帮人们建立许多联系。
这一次的经历非常奇妙,我也感到特别震撼。因为没有料到接待员会跟我说“你拥有一个很大的团队”,我问“有多大?”,她回答“差不多一百人”。我感叹道“天啦,我该如何向这一百人展示自己的东西呢?”。到现在这个团队的规模已经达到了一千人,可他们仍然干得不错。
18. 第四天:今天打算做什么呢?
我们将继续讨论故事,一些人会完成这些故事的开发工作,再做一些测试。已经有几个新发现的故事了。
19. 所以你们不是在一开始就把所有的故事都找出来了?
没有,我们从一开始就没这么想,这么做确实没错。目前我们主要利用第三方来帮我们接受捐赠,捐赠是通过“Network for Good”组织这个渠道来汇集的。开发团队准备将“Network for Good”上的表格改成和Mano a Mano一样的格式,使访问这个页面的人感觉不到差别。即使是用的Network for Good的表格,但给人的感觉要和Mano a Mano一样。希望这能让捐助人在捐赠时觉得更舒服,因为这个过程没有经过其他的实体和组织。
20. 第五天:欢迎回来。今天我们将来到不为人知的、传说中的“地牢”,它位于华盛顿Renaissance酒店的地下,Agile 2007大会的XP实验室在此为Segundo进行Mano a Mano项目的开发。Segundo答应带我们参观一下。
是的,这个地方非常棒。我们周日下午列队来到这里,Bob Payne和另外一些人跟我坐在附近的一桌,那个桌子跟这张非常像;我们开始谈论当这个星期过完,这个会议结束的时候会出现什么样的产品。Bob开始记录用户故事,为了达到目标,这些故事必须要开发完成。桌上有许许多多我称之为队列卡片的东西,它们按照优先级顺序排列,从最紧急的事情到最不重要的事情。一旦队列卡片写完,我们会把它们会贴到白板上。从周一到周五每天的工作量都被展示出来,同时这些队列卡片也会贴出来,从最紧急的事情开始,给每天工作的优先级排序。
大家来到这里,包括一些8th Light的人,开始看黑板上项目相关的信息。他们会拿起一张队列卡片,放到白板上的“on deck”或“in development”区域,开始相关的开发工作。团队成员采用结对方式工作,通常是了解开发的人与希望到这儿来和他人一起工作、学习编程的人组成一对。他们要针对卡片上的内容开展工作。工作内容包括卡片上的任务,这些卡片会随着项目进展进入到白板上的“in development”区域或是“Done”区域, 这个例子里面能看到这么多卡片已经通过测试而且可以发布了。我给你展示一下团队用到的各种各样的工具,还有白板。
这就是我们的草图,请允许我们这么称呼它。大家用它来理解客户真正的意图。有一个例子,我们曾准备追踪某个特定项目接受捐赠的金额数量,其中一个解决方案是显示跟踪记录,当项目接受到的捐赠金额增加时,记录会发生变化。现在团队通过这样的方式来计算项目接受的捐赠金额总量,他们使用类似温度计的刻度,可以衡量出新增捐赠的百分比。
团队成员们使用白板的意义,不仅在于理解这些名字对应的角色。这个例子中包括了一些真正的人,这些人会向计算机输入信息,更新程序。另一个意义在于,团队也能知道像David这样潜在的捐赠者,也会有相应的队列卡片与他们的名字相关联。团队成员用白板来检查整个过程,看看在这周结束的时候,他们写出的代码能否变成一个可交付的产品。正如你看到的这个例子中的代码,对于我来说它并没有任何意义;但对于程序员们,这些代码能让计算机按照他们指定的方式工作,这非常让人难忘。
下面我要向大家介绍的是:这个团队如何响应我们的需求。这里有一个例子,是向捐赠者展示他所支持和参与的项目所在的位置。使用Google Earth可以达到我们的要求,通过它可以看到具体的项目。但是我之前并不知道Google Earth能够做到,同开发团队及相关人士谈话之后,发现这正是我们所需要的,因为Google Earth能够向捐赠者展示他在玻利维亚所支持的项目。Google Earth已经可以放大玻利维亚的地图,但现在连山峰的外形都显示不完整。通过团队开发的这一系列程序,捐赠者可以看到特定的诊所和Mano a Mano的信息。我非常高兴能向大家介绍来自8th Light公司的Paul,他与团队一起深入参与了这个Mano a Mano未来将会使用的软件的开发。
Paul:在最初的构想环节,我们和Segundo一起,将网站需要的一些有价值的元素抽取出来。我们希望,通过这个网站要在捐赠者和受赠人之间建立起情感的联系。要让大家知道,这并不是一个面目不清的慈善组织,而是能够建立很强的纽带和联系。捐助人能够很清楚自己捐赠的钱是如何开销的。我们当时还很难确定这些意味着什么,只是对可以做的事情有了点儿想法,还有一些点子来自老的网站,我们可以将老主意与新点子结合起来,再产生新的想法。所有这些都作为故事记录下来,不过我们还不能确定这个网站将来到底是什么样子。
最开始的项目管理工作是排列优先级,Segundo从故事卡片中选出比较重要的和不那么重要的。这个过程没什么技术含量,更像是“好吧,这些卡片放到左边,它们比较重要,放在中间的一般重要”。但是这些卡片的重要性评估值并不是线性变化的,只需要把最重要的挑出来放在一起。然后我们从中拿出一些卡片,并对它们进行评估,估计完成这项工作所需要的时间。我们这些开发者来定这个时间值比较武断,因为项目还没有开始,我们也不知道到底要用多久。
在此之后,Segundo可以挑选出第一个迭代要开发的故事,确定在这段时间之内将要处理的第一组故事是哪些。这些开发完成之后,我们让Segundo过来,我们共同进行客户验收测试。客户验收测试意味着这个故事的完成标准。在结束这个故事之前,我们得让Segundo定义的所有验收条件得到通过,所以我们会得到所有的条件。在这个过程中,Segundo会给我们举例这些故事是做什么的,我们则反馈给Segundo我们可以做到哪些。这个过程中会产生其他的故事。这个网站看起来应该是什么样的,我们对此产生了许多的想法,有许多是技术上的,比如“咱们可以在这里放一个YouTube的视频,用Flickr和Google Earth来把人们联系在一起”。
这些工具就是我们每天都要用到的。定义出验收测试后,开发团队开始埋头写程序,完成之后将会进行验收测试,通过之后,我们会在故事卡片上标注一个大的记号。然后再开始进行下一个故事的开发,并重复整个过程,直到迭代结束。当整个迭代完成之后,我们回到Segundo那里,并带上迭代过程中产生的所有的故事卡片。这些卡片包括所有新产生的想法,比如“让我们在这里放一段YouTube视频”,它们会和所有其它故事卡片一起,在白板上重新排列。
基于上一次迭代过程中能够完成的工作量,我们会计算要选择多少故事卡片,多少索引卡片,计算它们所包含的商业价值,并决定是否会在下一个迭代中完成。我们的迭代是上午、下午各一次,后来发现由于在技术问题上花费了较多的时间,以至于无法交付任何业务价值,我们决定将迭代的时间翻倍到一整天;这样我们的速度也翻了一番,再继续后面的工作。
21. 我想向你介绍几个参与了这里大部分项目的团队成员。在我左边的是Bob Payne,旁边是队伍的领导之一Paul,还有与Bob Payne 一起工作的Ian和Matt。
他们来自不同的国家和不同的公司。我们也非常高兴能为大家演示这个程序如何运行,它展示了Mano a Mano的众多项目之一,这个项目位置在玻利维亚非常偏远的乡村地区。团队成员会向我们演示这个特别的软件,我们可以看到潜在捐赠者如何能找到他们自己参与的、位于玻利维亚乡间的项目。Ian,你能否向我们演示一下这个过程。通过Mano a Mano的主站点,捐赠者可以找到他们想了解的项目,点击项目将会连接到Google Earth网站,接下来会发生奇妙的事情:通过技术实现,这个网站能让人看到那个特定诊所的位置。
然后捐赠者可以点击那个位置,他会看到Mano a Mano正在执行的这个项目的信息。这个消息框同时也会提供一些其他信息,例如社区规模,人口数量,诊所的建立时间等等。我们感到非常兴奋,正像Paul所说的,我觉得这个项目不仅在捐赠者和Mano a Mano之间产生情感联系,还让他们同自己所捐赠的项目之间产生联系。我们希望这些联系能让捐赠者更加乐意与我们一起工作,在项目中合作得更好。技术为我们这种组织带来这样强大的软件,我为这个软件的潜力感到非常开心和兴奋。
一群专家、一群这样的人聚在一起共同工作,了解客户需要与捐赠者进行情感沟通的需求,并把这个想法变成现实。原本这些闪动的数字对我们来说没有任何意义,但现在他们开发出了这个软件,而这个软件真的能够让捐赠者身临其境,到达遥远的玻利维亚。这些闪动的数字真的在我们和捐赠者之间建立了联系,而且让捐赠者也对他们的项目也有了真实的体验。
这个软件让我们非常兴奋。我特别高兴,而且本周产出的结果比我预想的更好。更棒的是,不少人愿意接下来继续开发这些故事。这让我们很激动。白板上仍然有许多等待开发的故事。接下来,Bob Payne会拿出参与后续故事开发的人员名单。这周我们胜利完成了任务,我们非常高兴,也特别感谢大会的邀请;还要感谢这些团队和开发者们,他们奉献出自己时间和精力来让我的这些想法变成现实,我也相信这些想法也将会吸引和扩大捐赠者的支持。
22. 最后:会议即将结束,今天是最后一天,昨天晚上在宴会上演示了一个更加令人印象深刻的功能,是由Rails Fest小组在这个星期开发的,这个基于Google Earth的功能可以向资助Mano a Mano项目的人展示他们捐赠的去向。Segundo,当你走出大门的时候,在想些什么呢?
一周以来,我的感觉好极了。不仅是因为遇到了这么棒的一群人,他们为Mano a Mano开发软件,而且他们产出的产品也同样令人惊叹。我对此非常着迷,今天早上,当我坐上电梯向这边走过来时,很多人表达了他们的惊讶之情,而看到开发团队用Google Earth开发的软件时,他们又是那么讶异。我们真是既开心又感动,这种技术可以让潜在捐赠者感受到好处,而且能让捐赠者和他远在玻利维亚的项目之间建立联系。
23. 你刚来时想象的情形,和现在的感受有什么不同?
首先,我对软件、软件开发以及开发者有了更多的了解。有时人们会谈到“编程怪人”,但这里的人根本不是这样的。我遇到的开发者是非常棒的一群人,在这样短的时间里我们就成了好朋友,而且希望能与他们保持联系。在短短的几天里,他们做出的承诺变成了现实,当有人叫他们吃午饭或者休息时,他们会继续工作,就像别人说的那样——"Coding away"。所以他们真的很优秀,我对能参加这次会议感到非常高兴。
24. 我们也是同样的感觉,还有其他的想法吗?
我们会继续现在正在做的事情,进一步开发这个项目。我希望明年会处理社区贷款的项目,这样就有机会接触更多的捐赠者,让我们可以为这个项目做更多的工作。
25. 你刚刚谈到了要再回来,会参加在加拿大多伦多召开的Agile 2008大会吗?
是的,有消息说这个大会将会再次邀请我们,我希望真是如此。