thoughtbot 是谁?
这是一家总部位于波士顿,在美国和伦敦有多个办公室的团队。他们有 10 多年的历史,他们开发自己的产品,也帮助客户(尤其是创业团队)不断获得成功。 Our San Francisco-based clients have raised more than $2 billion in venture capital, and today employ more than 5,000 people.
相信来自 Ruby、Rails 圈的开发人员没有不知道 thoughtbot 的,或者你不经意地用了他们开源的 factory_girls,shoulda,paperclip... 或者读过《Rails AntiPatterns》。
另外如果你用过 Hound,或者是最近的 FormKeep,那么你也是他家产品的用户。
下面就是 playbook 的中文翻译版连载,我们尽量做到翻译准确,有些实在是太过于常见而又没有很好的中文对应翻译的,我们就选择... 不翻译了 :D 下面进入正题:
我们和各种规模的团队合作,在 iOS、Android 和 Web 平台上设计、开发并推广他们的产品。
这是我们的 playbook
我们是thoughtbot..我们和世界各地的上百个产品团队合作过,他们中既有自筹资金的个人创业者,也有庞大的跨国公司。我们也创建了自己的产品,同时有若干个开源项目。
这是我们的 playbook。它解释了我们是如何创建成功的 Web 和移动产品,以及我们是如何运营公司的。书中充满了我们自身的经验以及研究其他团队的心得。
这是一份鲜活的文档,它位于 thoughtbot 的私有 Github repo 中,团队的每个成员都可以编辑它。
我们使用自由的 Creative Commons Attribution-NonCommercial 协议来分发这份文档,你可以学习或者在自己的公司运用我们的策略。虽然这些策略对我们有用,但是哪些工具和技术适合你自己的情况,相信你比我们更清楚。
产品设计 Sprint
我们的项目是设计导向的,从告示贴和草图开始,到设计以及代码实现为终结。我们使用设计 Sprint 和用户调查来理解我们客户的问题,验证关于产品的假设,从而构建以用户为中心的产品
介绍产品设计 Sprint
阶段 0:准备
阶段 1:理解
阶段 2:发散
阶段 3:汇聚
阶段 4:原型
阶段 5:测试和了解
选择平台
在产品的早期阶段,我们必须确定要使用的平台。选择哪个平台取决于我们对于解决用户问题的解决方案。当充分为用户考虑之后,对于我们而言,最佳的工具要有一个活跃的社区,让我们用起来开心,并且有助于我们创建及快速迭代产品。
“移动”是指用户,而不是设备
对于移动设备来说,原生应用很重要
Rails 可以帮助产品快速面世
笔记本设置
你的笔记本就是你的剑。不要上战场时忘记了带武器。
自动化你的开发环境
使用 dotfiles 来分享设置
使用可扩展的编辑器
计划
我们工作流程的一个主要目标是持续发布可以工作的小版本。我们通过频繁沟通和每周迭代来达到这一目标。
流程要因产品和团队而定
每日站立会议可以建立信任和保持动量
没有什么比面对面沟通更有效
使用轻量级流程来管理优先级和使得流程可视化
每周会面来讨论成果、错误和未来计划
一个高效的远程团队不是偶然的产物
设计
我们的项目常常是快速变动的。设计师要采用对应的工具和流程来应对这种情况。
总是带这个速写板
测试产品的可行性和可用性
什么是交互设计?
什么是用户界面设计?
什么是视觉设计?
使用 HTML 和 CSS 做线框图
开发
我们开发实践主要参考 Kent Beck 经典的Extreme Programming Explained: Embrace Change 以及 Gerald Weinberg 的The Psychology of Computer Programming. 我们尝试后发现,在大多数情况下使用其中大多数的原则改善了我们的工作质量,并提升了我们团队的幸福感。
验收测试
代码审查
持续集成
结对编程
重构
代码风格
测试驱动开发
版本管理
生产环境
我们生活在一个魔幻的新纪元,我们的很多问题都已经有了解决方案。我们尽可能地聚焦在产品的核心,尽量将可以分发出去的操作交给外部服务来做。
域名和 DNS
错误追踪
主机托管
Log 收集
交易处理
性能监控
产品清单
SSL 证书
事务性邮件
度量
度量的难点在于决定要追踪什么。Dave McClure 的 AARRR 框架提供了一个重要指标的总览。我们使用事件追踪等技巧来测量这些指标。
AARRR 框架
A/B 测试
功能旗标
测量
订阅量度量
我们的公司
我们相信可以不断找到更好的工作方式,我们期待可以找到它并和尽可能多的人分享。
招聘
运营
原则
销售
分享
时间