敏捷开发实践

来源:互联网 发布:c语言难学吗 编辑:程序博客网 时间:2024/05/29 15:17

敏捷开发是一套软件开发的方法学,或者方法框架,包含有很多内容,详细定义可以点击 ,

敏捷开发  

瀑布模型 



本文主要是讲在开发团队中实践敏捷开发:

1 角色

在瀑布模型中,所有的流程是预先定义的,角色更是根据流程而划分,如下图



在敏捷中,定义的角色有

利益相关者(stakeholder) 产品所有者(product owner) 开发团队(developer team(scrum master)) 角色被分为三类:在开发团队中包含了Business Analysis、 Developer 、Tester、 Technical Architect、UserInterfaceDesigner,这些在瀑布中根据流程固定下来的角色,现在完全变成一个Team,鼓励Team之间相互沟通,用产品来驱动整个开发过程,而不是用流程来保证角色,来完成开发。对于利益相关者需要关心产品,可交付可使用的产品。对于产品所有者,他需要去规划这个产品,从开发团队获得反馈。


2 概念

sprint 直译是冲刺,作为一个开发过程,一般是2-4周。敏捷是一套通过快速迭代,来完成可交付产品开发的方法,过长会让sprint目标过于复杂,过短则完成不了计划任务。

story 直译是故事,在开发过程中,对白板(storyboard)的应用,形象直观,把每一个需求,用story来描述清楚,这是一个product ower整理出来的,想要干什么的过程,其不用关心技术,只是描述清楚what即可。

task 直译是任务,每一个story,都可以分为若干个task,task是对问题的how的描述,是developer team完成开发工作用,将task再分成子task,有助于细化问题。每个开发人员都需要对assign给自己的task,完成时间评估,而不是由项目管理人员评估。


3 流程

敏捷开发,不像瀑布强调流程,它有一些keyword,如下

1 sprint planning meeting

2 stand  up scrum meeting(daily  meeting)

3 product review meeting 

4 refine meeting 



敏捷开发是价值驱动(value-driven)的,完成可交付的产品是敏捷开发目标,而完成的方法是通过原型快速迭代,去逼近用户想要的产品 。其核心价值有一下五个: 

承诺(commitment)
开发(openness)
专注(focus)
尊重(respect)
勇气(courage) 


PS:图片缩得不清晰了,下载流程图(.vsd)的点击


Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizingcross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. It is a conceptual framework that promotes foreseen interactions throughout the development cycle. The Agile Manifesto[1]introduced the term in 2001.

0 0
原创粉丝点击