2010年8月的OpenParty "清雨榕香"活动创下了各个话题参与人数的新高,很多话题的会议室都密密地站满了人,在各个热门话题的驱使下,大家的热情依然不减,在一个下午的时间里体验了一个又一个知识分享的小高潮。关于活动话题的详情,请参见OpenParty网站上关于本次活动的链接,下面简要记叙下我参与的几个话题的相关信息。
首先是来自淘宝网的苏宁带来的"淘宝广告技术部开发流程和Scrum实践",淘宝的Scrum实践一直应用于广告竞价系统的开发,取得了一些成果。想必大家都想要细细了解一下Scrum在大公司内部的实际应用案例,这个话题提供了很多相关的信息,帮助大家更好地了解Scrum以及实践Scrum时会遇到的一些问题。我的记录基本上遵循了讲解时的Slide结构,有一些内容是从现场的讲解中了解到的,也补充了进去。
Sprint 刚开始时
淘宝的Scrum角色
角色的作用
首先是来自淘宝网的苏宁带来的"淘宝广告技术部开发流程和Scrum实践",淘宝的Scrum实践一直应用于广告竞价系统的开发,取得了一些成果。想必大家都想要细细了解一下Scrum在大公司内部的实际应用案例,这个话题提供了很多相关的信息,帮助大家更好地了解Scrum以及实践Scrum时会遇到的一些问题。我的记录基本上遵循了讲解时的Slide结构,有一些内容是从现场的讲解中了解到的,也补充了进去。
Sprint 刚开始时
- 使用excel来管理,自动生成燃尽图
- 流程:产品经理提出需求->Sprint->产生Backlog->进行开发及测试,最终到产品上线->Review
- 只有产品、开发、测试几个角色,角色比较少
- 受干扰因素少,Scrum流程比较精简
- 功能需求数目增加
- 很多时候都是项目进行一半的时候才引入Scrum
- 团队中角色数目的增长
- 经常有工作中遇到的种种问题而引发的中断,此时Scrum要如何进行配合(明确分工,通过流程进行配合)
淘宝的Scrum角色
- 产品
- 架构师
- TL/PM/Scrum Master
- 开发
- 测试
- PE
- 运维工程师
角色的作用
- 产品经理
- 提出需求、提出产品文档,对项目进行验收
- 需要注意的是,在淘宝,相对于一般的Scrum流程,对于文档的要求要更高一些。只有更高的文档要求,才能保证公司业务可以更从容地面对人员变动等情况。
- 架构师
- 分析需求对系统架构、功能上的变动
- 出台系统调整方案
- 系统总体设计
- 掌握系统改造成本
- TL/PM/Scrum Master
- 组织Sprint
- 追踪项目开发进度
- 沟通协调
- 测试
- 需求提出之后,测试就会进来
- 了解需求动机
- 测试用例
- 各种测试
- TDD
- 开发
- 模块
- 代码开发
- 单元/内部集成测试
- Bug修复
- 上线手册(这部分是必须的)要交给运维来Review
- 运维(产品运维)
- 了解业务需求、系统瓶颈
- 熟悉模块接口和数据接口
- 故障应对措施
- 流量增长模型
- 实际上线操作
- 由产品经理和架构师来共同确定功能需求,完善比功能基本明确需求对于系统功能的变更和影响,产生未细化的Backlog
- 然后将未细化的Backlog通过Sprint来产生细分的backlog,交由开发者进行开发
- 开发人员在开发的过程中,需要和测试和运维一起进行协作来完成。在交由运维人员进行上线以前,运维人员必须从测试人员那里拿到上线许可。不经过测试人员认可的项目不能上线。
目标
- 一切不以上线为目的的开发都是耍流氓
- 开发测试比例 2:1
- 尝试结队编程,在一段时间内实行,后来发现成本比较高,就放弃了。
- 需求点罗列
- 需求的实现思路
- 任务分解
- 每日晨会的三个经典问题
- 头脑风暴,集思广益
- 成功
- 不足
- 改进方案
- 规定了上线时间,能否完成?
- 需要落实到每个人,每个人的各个工时,算出总工时,然后再确定上线时间。
- 而需求要做到能分解的就分解掉
- 如果需求提出方不能满足所计算出的上线时间,那么就要进行研究讨论看看砍掉哪方面的需求以达到更短的上线时间。
- 人日的计算方法;通常一个人的工作还要有分工,60%开发,40%运维;按照一个人每天6小时的工作来计算
- 调整工位:一个项目的人员坐在一起,减少沟通的成本
而项目进行过程中的变数非常大,经常有意想不到的情况来打断项目开发的过程,解决问题的成本非常高
对于工程师来说,要尽力产生可复用的代码
要多考虑风险,尽早解决危机,一个Scrum能解决的问题,不要带到下一个Scrum
淘宝内部使用的Sprint工具
- Excel
- Sharepoint + Project
- XPlanner - (记录工程师实际的工作用时,最后自动生成burndown chart,但是最后由于工程师反映此项工作太耗时间,被搁置了)
- Mindmap,现在主要使用mindmap来在一个巨大的脑图上记录各种信息。这个脑图非常细致,规定了各个人要进行的任务,任务的划分也非常细致,时间精确到小时
- 开发人员自己领取任务。这部分淘宝的做法和Scrum的标准做法有些许不同。
- Scrum模式本身的推崇由开发人员自己来规定并设计项目开发点,但是淘宝在实施上发现过于浪费时间了,于是就变成了由产品经理等需求提出人和架构师定出粗略项目,最后在开会前就定好要开发的功能点,只做任务分解
- 其中包括文档信息,RPM包的版本信息,为测试部署的相关文档,包括上线操作、回滚操作的具体步骤
- 上线手册应该手把手传达给运维人员如何进行操作,目标是做到无须询问开发人员就可以实现项目上线。所以淘宝对项目开发人员的文档水平要求都非常高
- 这些上线的文档都要进行Review!
- 最好有最终的文字描述,用文字解释详细,并且有实例。
------
接下来是由豆瓣的工程师石头带来的"从豆瓣Pulse谈起 - HTML5 相关技术在实际项目或产品中的应用"话题
最大的问题:浏览器兼容性 - 应该有意识地去引导用户使用性能更高,功能更多的现代浏览器,
CSS3技术非常的绚丽,很多效果的实现已经完全不需要Flash了。石头在现场针对前端的一些实际应用都分别进行了详尽的举例,详情请见Slide和视频。
Douban Pulse 这个产品中已经使用了一些CSS3的新特性,带来了很好的用户体验。
关于具体的信息,大家可以参考现场石头的Slide以及视频,更形象直观 http://app.beijing-open-party.org/topic/20
南极、禅院与现代社会
这是由有着丰富经历的廖大侠带来的精彩话题。我想很多朋友起先和我一样,可能是向往着精彩的景色和见闻来关注这个话题的。事实上最终这个话题带给大家的更多的是对于精神领域更深入的了解。在这个繁忙的社会,我们事实上很难抛开一切,安静地思考自己。而这个话题中带来的一些观点,恰恰从这个方面填补了我们的欠缺。
廖大侠简单谈到他个人的一些经历就已经足够让大家感到钦佩:本科在天文台做论文,研究生时跟随导师做火星研究,是国内专业研究火星的团队成员之一;寺庙进行禅修;曾也想成为一名吉他手;现在在从事数据挖掘相关的工作...... 这履历本身就已经是足够精彩的故事。随后故事进入正题,开始讲述随南极科考队进入南极的故事。
- 夏天是天堂,冬天是地狱
- 企鹅坐浮冰旅行
- 南极很干燥,号称比沙漠还要干燥
- 南极的环境,是和火星最相似的环境
- 极夜也不是一片黑暗:中午的时候虽然没有太阳,但天还是亮的,就像早晨还未出太阳时一样,而且夜晚的月亮也经常很亮
在南极的严酷环境中,身边的社会结构有着全然不同的转换。一个小小的团队,就是在那里全部的社会构成。因为资源才是真正的稀缺品,钱变得没有任何意义。而小群体中的每个人都有着明确的分工和责任,是团体共同生活发展所不可或缺的一部分。我们从来不是一个社会的旁观者,在一个庞大的社会中可能并不容易清晰地意识到这一点,但是在那样一个小环境中,这种观点和意识变得无比重要。
在这样的社会生活中所感受到的
- 永远不要抱怨
- 服务意识、合作精神与专业技能一样重要,有时甚至更重要,一个人足以影响整个团队
- 谁是最重要的人?生活中身边的人
- 不要试图去改变不可改变的东西
- 学会静心很重要
- 切勿贪多务杂
- 努力使自己的心达到空虚、明净污染、不扭曲变态的理想状态
Recent Comments