敏捷开发实践经验分享
前言:本文主要从笔者四年的敏捷开发实践经验出发,讲解“敏捷开发是什么?”和“怎么做到敏捷开发”两个问题,同时分享一些个人觉得比较实用的IT项目开发的小方法。
前言:本文主要从笔者四年的敏捷开发实践经验出发,讲解“敏捷开发是什么?”和“怎么做到敏捷开发”两个问题,同时分享一些个人觉得比较实用的IT项目开发的小方法。
目录
敏捷开发是什么
以上是百度百科对敏捷开发给出的解释,而笔者在工作中回答“敏捷开发是什么”这个问题,首先都会回答——“是一套工程实践方法”。
像太极拳在历史演化的过程中衍生了许多门派一样,江湖上就敏捷开发也产生了许多的实践体系,包括Scrum、XP、Lean等等。不过这些流派所遵守的思想都基本一致。
敏捷开发是什么-核心思想
敏捷开发往往是与传统的软件开发过程做对比的,我们可以看看敏捷开发宣言:
一句总结笔者所认为的敏捷开发的核心思想——快速迭代,持续可视
敏捷开发怎么做
敏捷开发怎么做——Scrum
我们以敏捷开发中的一个经典流派Scrum为例,不同于传统的软件开发,Scrum是先初步定下迭代周期,根据需求优先级和工作量,决定一个迭代要完成的功能 。关于Scrum对于每个过程结点的具体要求 有机会再写篇文章,这里只讲解其中几个经典的方法。
敏捷开发怎么做——用户故事(需求表示方法)
- 格式:作为一个<角色>,我想要<活动>,以便于<商业价值>
eg: 作为一个“网站管理员” ,我想要“统计每天有多少人访问了我的网站” ,以便于“我的赞助商了解我的网站会给他们带来什么收益”
- 好处:
- 支持机会主义设计
- 鼓励延迟细节
- 可以快速编写
敏捷开发怎么做——测试驱动开发
即先编写测试案例,再进行项目的代码开发。
- 好处:
- 替代需求文档
- 尽早地发现错误
- 指导代码编写
敏捷开发怎么做——Backlog(任务板)
让团队里的所有人都能清楚地了解到项目具体进度。
敏捷开发怎么做——每日站立会
- 让每个人都知道其他人正在做什么
- 设定方向和焦点
- 识别障碍
- 不超过十五分钟(这也就是为什么要“站”着)
敏捷开发怎么做——DevOps
我们知道,敏捷开发体系中的一个核心要求就是软件的快速迭代,开发人员所完成的代码 会频繁的在开发环境、测试环境、生产环境上进行部署。应用的交付频率将大幅度的提高,传统手工部署已经不能满足这样快节奏的交付。
这时候,建立一套支撑持续集成、持续部署的DevOps流程,就显得尤为重要了。
未完待续……
更多推荐
所有评论(0)