CMDN Club # 20: 从粉笔网多终端产品快速开发说开去——移动创业产品的架构和项目管理
5个程序员,3个月,30多万行代码,1000+bug,粉笔网快速开发的故事
粉笔网今年4月16日开始策划,从5月份陆续有开发者加入,到8月21日发布内测版,8月27日正式上线(iPhone和Android客户端同步完成)。在3个多月的开发过程中,粉笔网的团队尝试了6*11的工作制,同时采用Scrum做项目流程管理,共发布了5个Milestone(3个Alpha,1个Beta RC,1个Beta),其中每个Milestone固定为3个Sprint,每个Sprint为一周。除了Scrum项目流程之外,文档Wiki化也对高质量的推出粉笔网起到了很大作用。
粉笔网正式推出之后,依旧保持了每周一个新版本(Sprint)的节奏,快速尝试着各种产品想法。粉笔网相信互联网时代,小步快跑将能让我们有更多胜出的机会。
在粉笔网揭开神秘面纱之前,一些消息已经爆出,这个团队的主力成员来自网易有道。在团队成员唐巧的博客中,这样来描述他的创业感受:
我在经历了2年大公司实习,2年半大公司工作后,现在在这样一个创业期的小公司工作。我感觉到最明显的差别是工作效率上的。我们的团队很小,所以我们的交流沟通很多时候都只需要扭头喊一嗓子就行了,对于一些架构设计的讨论,很多时候都是在饭桌上以及午饭后晒太阳时进行的。我们没有各种设计评审会议,接受合理的需求变动和改进,最大限度地保证产品按期完成而不是延期。
在8月28号Web版(http://fenbi.com)上线后,我们保持了每周一个迭代更新的速度。每周一个scrum相当刺激,除去开scrum meeting和上线的时间,留给我们的开发和测试改bug的时间只有4天左右。大家每天都非常有活力地工作,但是,我们却保证了严格的code review制度,所有提交都会汇集到gerrit上进行code review,通过之后再由gerrit自动merge到工作分支上。
很多人说,创业公司每个人都是多面手,但我们的团队更强调每个人都能精通一方面,成为某一方面的专家。所以,我们会抽时间去一起阅读redis代码,读amazon关于dynamo的论文。我们希望我们的技术成长能够跟上公司的成长速度,在各方面都积累。只有这样,当有一天,由于用户大量增长带来服务器访问压力时,我们能够从容地提出解决方案,不至于象京东那样搞个活动就把系统搞挂了。
我们也把大公司的好习惯带进了创业公司,比如我们强调wiki的撰写。wiki相比文档来说要敏捷很多,我们只写别人需要看的和重要的信息。比如我们对于系统的所有接口设计,代码规范,美术设计流程,上线流程,部署方案,每次scrum的总结等。这样一个新人进来之后,他很容易从wiki上找到他需要的信息而不是靠我们口口相传。又比如我们会做code review和持续集成测试,客户端会做daily build,这些都是非常规范的。
我们今天邀请到了这样一个小而高效且富有激情的团队,我们将从粉笔网Web, iPhone, Android多终端产品的快速开发说开去,我们将探讨移动创业产品的架构和项目管理。
【活动安排】:
6:30pm~7:00pm 开放空间讨论和开场介绍
分组及组内自我介绍
开放主题讨论:创业、团队管理、架构......
开场介绍
7:00pm~7:30pm 破冰游戏:体验Scrum
炫姐姐将带大家做一个游戏,在30分钟的时间里,分组完成一个产品的设计,体验Scrum的工作方式。
7:30pm~8:15pm 分享主题1:粉笔网的Scrum项目管理实践(演讲+QA)
讲师:郭常圳,08年硕士毕业于北航。07年加入网易有道。11年6月创办爱转角。12年4月联合创办粉笔网,产品技术总监。
8:15pm~9:pm 分享主题2:多终端(Web、iPhone、Android)的服务器架构(演讲+QA)
讲师:杨元祖,11年硕士毕业于北大。09年加入网易有道。11年6月联合创办爱转角。12年4月加入粉笔网,高级研发工程师。
【活动详情】:
时间:10月10日 晚 (签到及晚餐时间:6:00pm~6:30pm)
地点:北京福泰酒店公寓(朝阳区望京广顺北大街33号6号楼,福码大厦西侧)
就餐说明:50元/人,含商务简餐+茶歇。就餐请在6:30pm前签到和完成晚餐。
行车路线:
地铁:15号线望京站下C口出
公交:坐130、131、404、567、976、421、629、运通111大西洋新城东门下车
驾车:广顺北大街、湖光中街交叉口,往南开到全聚德的小路口,右转,进入酒店停车场。酒店提供免费的停车位。
【报名链接】:
http://hui.csdn.net/MeetingInfo.aspx?MID=137
【新增演讲大纲】
分享主题1:粉笔网的Scrum项目管理实践
讲师:郭常圳,08年硕士毕业于北航。07年加入网易有道。11年6月创办爱转角。12年4月联合创办粉笔网,产品技术总监。
Slides大纲
- 我们是谁
- 5个开发1个PM1个测试(大致介绍下人员背景)
- 我们做了什么
- 三个月,30万行代码,三个平台(Web、iPhone、Android)
- 我们怎么做到的
- 出色的个人能力
- 6*11的工作时间
- 基于Scrum的项目管理
- Scrum是什么
- 我们的Scrum是如何的(这里是重点,会详细介绍我们的实施过程)
- plan meeting
- 做什么
- 怎么做
- daily meeting
- 昨天做了什么
- 今天做什么
- 遇到了什么问题
- plan meeting
- 我们实施Scrum的经验
- 好的工具(redmine + backlogs)
- 严格执行
- Scrum中我们不太确定的事情
- 比如请假
- 或者工作确实无法完成
- 开发过程中其他经验
- 熟悉什么技术,用什么技术
- java而不是python;敢于使用Redis;
- 完善的wiki
- 借力开源
- 熟悉什么技术,用什么技术
分享主题2:多终端(Web、iPhone、Android)的服务器架构
讲师:杨元祖,11年硕士毕业于北大。09年加入网易有道。11年6月联合创办爱转角。12年4月加入粉笔网,高级研发工程师。
Slides大纲
- 概述
- 简介
- 技术
- java、spring
- redis、mysql
- jetty
- restful
- 体系结构
- 模块介绍
- web server——支持多个终端
- timeline——“推”还是“拉”
- 前传1(网易微博)
- 前传2(爱转角)
- 在线实时多路归并
- redis queue——消息队列
- push——实时推送
- material——资料预览
- blackhole——离线计算
- 部署方案
- centos
- web server
- nfs
- mysql
- redis
- 改进方向
- 自动化、高可用
- 扩展性