敏捷开发的一些东西
2012-03-28 14:14
197 查看
提升团队的交付能力?如何实践敏捷软件开发。这个是很多团队必须面对的问题,也是让项目经理比较头疼的问题。如果一个项目不能有一个很好的交付,那么项目就是失败的。
下面是一个关于对于提升团队交付能力的一些实践建议或者准则。
这些准则是百度的路宁老师总结,非常感谢路宁老师在百度开发者大会上的分享。
一,制定基于交付物的增量交付计划
上图是路宁老师在演讲中用到软软件编码过程的迭代过程,横轴代表个时间段,每一个代表一周时间,纵轴是代表同一时间正在进行的工作状态。
迭代式模型和瀑布模型的比较:迭代模型,在每一次迭代都会算作一次小的交付,而瀑布式一次上线。灵活性和成功的几率可以明显的看出来。
第二点:组成全功能团队,抛弃内部合同,MRD评审,批量提需求。
这个过程包括:idea产生 -〉预估项目,对需求排优先级 -〉 分析 、验收条件 -〉 迭代启动会 -〉需求墙 -〉故事启动 -〉 开发 -〉mini验收 -〉测试,fix bug -〉show case -〉上线。在这个过程中团队成员要合理组合,不同的阶段组合可能不同。
第三点:建立围绕交付物的合作流程。
敏捷开发社区对交付物完成的定义是: Done, Done!客户满意,上线成功。
第四:制定需求完成和迭代完成的标准
可能会遇到这样的问题:各个开发角色间相互等待,总有几个人容易成为瓶颈。
一个人负责一个模块:如果有一个人离职或者请假,项目就无法继续进行,会造成等待状态,使项目无法按时交付。
所有人都可以做任何部分:这样的好处是造成相互等待的情况减少。
提高单兵作战能力,培养所有人可做所有部分。
第五:善用云基础服务
重复搭建和维护千篇一律的各种平台:项目管理平台,bug跟踪平台,应用部署平台,持续集成平台,版本管理工具。
Project Hosting(git
hub)
App Engine(EC2,
GAE, Heroku, BAE)
CI Cloud (Travis
CI)
Testing Cloud(MTC)
第六:持续集成
后期集成耗时且风险大
由于每次集成消耗大,无法频繁发布。
Jenkins, Team
City, go, pulse, Travis CI, BAMBOO ,cruise
第七:自动化验收测试
se
第九,应用single
branch分支管理策略
每一个功能一个分支,学习开源项目的分支管理策略。
第十:数据库的版本控制,建立独立的沙盒
dbdeploy.com
下面是一个关于对于提升团队交付能力的一些实践建议或者准则。
这些准则是百度的路宁老师总结,非常感谢路宁老师在百度开发者大会上的分享。
一,制定基于交付物的增量交付计划
上图是路宁老师在演讲中用到软软件编码过程的迭代过程,横轴代表个时间段,每一个代表一周时间,纵轴是代表同一时间正在进行的工作状态。
迭代式模型和瀑布模型的比较:迭代模型,在每一次迭代都会算作一次小的交付,而瀑布式一次上线。灵活性和成功的几率可以明显的看出来。
第二点:组成全功能团队,抛弃内部合同,MRD评审,批量提需求。
这个过程包括:idea产生 -〉预估项目,对需求排优先级 -〉 分析 、验收条件 -〉 迭代启动会 -〉需求墙 -〉故事启动 -〉 开发 -〉mini验收 -〉测试,fix bug -〉show case -〉上线。在这个过程中团队成员要合理组合,不同的阶段组合可能不同。
第三点:建立围绕交付物的合作流程。
敏捷开发社区对交付物完成的定义是: Done, Done!客户满意,上线成功。
第四:制定需求完成和迭代完成的标准
可能会遇到这样的问题:各个开发角色间相互等待,总有几个人容易成为瓶颈。
一个人负责一个模块:如果有一个人离职或者请假,项目就无法继续进行,会造成等待状态,使项目无法按时交付。
所有人都可以做任何部分:这样的好处是造成相互等待的情况减少。
提高单兵作战能力,培养所有人可做所有部分。
第五:善用云基础服务
重复搭建和维护千篇一律的各种平台:项目管理平台,bug跟踪平台,应用部署平台,持续集成平台,版本管理工具。
Project Hosting(git
hub)
App Engine(EC2,
GAE, Heroku, BAE)
CI Cloud (Travis
CI)
Testing Cloud(MTC)
第六:持续集成
后期集成耗时且风险大
由于每次集成消耗大,无法频繁发布。
Jenkins, Team
City, go, pulse, Travis CI, BAMBOO ,cruise
第七:自动化验收测试
se
第九,应用single
branch分支管理策略
每一个功能一个分支,学习开源项目的分支管理策略。
第十:数据库的版本控制,建立独立的沙盒
dbdeploy.com
相关文章推荐
- 敏捷开发中个一些概念及要点
- MySQL的一些东西(安装/使用/开发包)
- 开发中遇到的一些有用的东西
- 收藏的关于开发的一些东西
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 关于AgileEAS.NET的一些补充说明
- 【移动开发】Android中一些你可能不太知道的东西
- 最近加入了控件开发团队,发现一些基础的东西,转发上来方便大家学习(转)
- IPD模式下开展敏捷开发的一些问题汇总
- 关于敏捷开发的一些思想
- [杂谈]开个Blog记录一些开发相关的东西
- 开发nodejs前需要知道的一些东西
- 敏捷开发一些百科。
- 收藏的一些网址(敏捷开发)
- 关于敏捷开发的一些体会
- 随便聊聊 SOA & SOAP & WebService 的一些东西,以及客户端开发的代码逻辑解析
- 随便聊聊 SOA & SOAP & WebService 的一些东西,以及客户端开发的代码逻辑解析
- 开发常识性堆和栈的一些东西
- 敏捷开发中的一些教训和感悟
- 移动应用开发部,实施敏捷开发3个月后的一些经验和教训。
- 随便聊聊 SOA & SOAP & WebService 的一些东西,以及客户端开发的代码逻辑解析