协作工具 Trello

 


Trello的开发商 Fog Creek Software 的设计师 Bobby Grace 最近发表了一篇文章,为我们揭秘了这款流行的协作工具是如何开发的。

Trello是一款轻量级的团队流程协作和列表管理平台。其核心是 “Board”“List” “Card” 3 个分层的概念。其中 Board 代表一个项目,List 代表一组任务列表,而 Card 则代表一个独立的任务。Card 可以在不同的 List 间移动(比方说,从待办移到已办),围绕着每一张 card 可以分配人员、添加附件、展开讨论等。Trello 水平性、轻便、灵活与快速迭代能力其令在协作工具市场拥有不少的用户。

更重要的是 Trello 自己也用 Trello 来获取反馈,并进行 Trello 的设计与开发。

Trello Trello

他们内部有一个叫 “Trello Internal” board,上面列举了与 API Trello.com 网站设计有关的一切事宜。其中会有类似在办等待测试 / 审核待合并之类的列表,当然收到的 Bug” 也必不可少。

Bobby 介绍了他们处理 bug 的大致流程:

收到的 Bug” 列表中选出一张卡片,将任务分配给自己,然后把卡片移至在办列表。
处理 bug

在自己的存储库创建新的分支(如 bobby/oops-no-crash),然后放到该公司自己开发的分布式版本控制及代码审核系统 Kiln 上。

在卡片描述上写下分支的名字(如已在 bobby/oops-no-crash 中修补),然后将卡片移至待测试 / 审核列表。

与此同时,在 Kiln 上已经有其他的开发者审查变更的代码,然后通知测试员,由后者验证漏洞是否已经成功修补。

一旦获得 4 个赞以后,卡片就会被移动待合并清单。

随后发布经理将变更合并进官方的 Build 存储库,让新修订的版本成为新的稳定版并发布出去,大功告成。

接下来,其他的开发者就可以从官方的 Build 版本库取出含修订后的最新版本并合并到自己的分支中。然后在继续自己的上述流程。Bobby 说他们每天都会推出很多的修订版。

重大功能的开发与测试

Bobby 透露访问 Trello 网站实际上有 3 个渠道:“Stable”“Beta” “Alpha”。服务器会决定用户应该进入哪个版本的 trello.com。所有人就会访问到 “Stable(稳定版),然后有少数一部分人可以访问 “Beta Trello 团队成员及 Fog Creeker 的员工则可以上 “Apha” 版。少数有权限的人还可以进行版本切换。

因为一些重大的新功能只是凭经验进行设计,有待市场的验证,所以首先会放到 Alpha 版进行测试,然后不断迭代。如果有跟新客户端相关的 API 变更发生的话,他们会首先发布一个版本出去再提交到 alpha 版进行测试。

Alpha 版完成后会转入 beta 版,即所谓的公测阶段。Trello 每天会选出 “1% 15%” 的用户供其试用并获得大量反馈,然后不断根据意见迭代,直到 100%的稳定,接下来就是新版的发布过程。

设计研发

Bobby 透露,他们团队内部会用产品规划板(product planning board来进行产品设计研究。板上面会列出许多与问题相关的卡片。卡片一般都是这样的形式:我找不到这个功能我想做这个但是不能。而问题一般有以下一些来源:

通过 Bug 跟踪器 FogBugz 转过来的支持邮件中的常见问题

团队成员的受挫

与用户的直接沟通(Trello 有专人负责)

团队会研究所有的反馈。然后进行各种内部调查、可用性测试。同时还会利用 Google Analytics 来看看用户常用哪些功能。希望从中了解用户是如何使用 Trello 的,用户的需求及痛点是什么。

然后,在每一张问题卡片的背后会写上有若干建议的解决方案。再根据优先级选定需要处理的问题卡片。设计人员则根据解决方案绘制草图附加到卡片上以获得反馈。然后就是不断的迭代修改。定稿后就开始原型开发,每个项目都会有一个代码名。Bobby 说他们的开发新版 “boards page(项目板页面)功能的项目代码名叫做 “Borderlands” 因为它考虑的是主板视图之外的一切事情。而开发新版的 “The card back(卡片背面)项目的代码名叫做 “Jelly Donut(果冻甜甜圈),意思是说卡片翻过来更美味。

原型开发完毕之后就可以提交 alpha 版了,然后进行重大功能的开发测试流程。

总的说来,Trello 的开发过程跟大多数的软件没有太大的差别,但是这篇揭秘给人留下最深刻的印象应该是开发者是自己产品最大的用户,只有自己成为自己产品的最忠实用户,你才有可能做出一款人人都喜欢的产品,Trello 做到了。

 

猜你喜欢

转载自wjb-shishen.iteye.com/blog/2248550