![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/9b59c24ffd58cfcca269edbecef15b62.png)
写在前面
软件产品开发的工作流程免不了会涉及到敏捷开发这个概念,希望通过此篇博客能将敏捷开发的理念及流程理解清楚,并应用到实际的工作中。
- 把技术概念通过文字的形式写下来,理清逻辑,加深认知;
- 把知识点通过系列文章的形式分段写下来,让思维进行刻意的训练;
- 把难懂的东西通过有趣的故事或者例子讲出来,让技术变得生动。
敏捷开发的概念
敏捷的产品
敏捷,英语单词是Agile,意思是灵活的,灵巧的,轻快的,机敏的。
从软件产品的角度看:敏捷通过尽早(迭代)地把产品(增量)投放到市场,帮助公司以最快的速度收到经济回报,同时收集市场用户对产品的反馈以最快的速度来改进产品。
敏捷的框架SCRUM
要点:
- 形成产品列表
- 检查和适应
- 持续迭代
- 增量发布
敏捷开发的流程
流程中的角色
ScrumMaster:是流程中的管理者,也是流程的布道者和捍卫者。ScrumMaster分为三个段位:
- 初级:敏捷团队的协调者
- 中级:敏捷方法的教练
- 高级:企业级敏捷专家。
产品经理:作为确保团队做出正确产品以便帮公司得到最高投资回报的产品负责人。是市场与企业团队沟通的节拍器。产品负责人的主要工作包括:产品愿景和产品边界。
开发团队:开发团队是开发工程师、程序员、测试工程师、UI工程师、DBA,运维工程师等开发角色的集合。在Scrum里面,开发团队为了实现产品计划或迭代计划的功能列表,他们必须完成所有的相关工作,包括产品设计、开发、集成、测试和运维等。
敏捷开发怎么做
Sprint待办列表(Sprint Backlog):敏捷团队承诺完成的任务清单。
- 在Sprint计划会议上产品负责人和敏捷团队共同协商承诺形成Sprint Backlog。
- 在Sprint执行期间通过每日站会的方式形成监测。
- 通过Sprint评审或者Sprint演示会议展示工作成果。
- Sprint需要定期回顾。
学以致用
由于传统的瀑布模型管理方法无法满足现代某些软件产品开发过程的特点,我们需要使用敏捷的方法(例如,Scrum是一个让我们关注于在短时间里交付高质量商业价值的敏捷框架)。需求频繁变动,技术不确定,这正是传统管理方法不满足现代软件产品开发的两个突出问题。因为传统管理方法不满足需要,才出现了敏捷的方法。需求不明确指的是:虽然对要做一个怎样的产品有规划,但是并不明确和确定所有功能的细节;并且随着产品的开发,极有可能对产品功能不断地改变以适应最终用户的需求。这种情况经常发生在对全新概念的产品的开发过程中。技术的不确定性指的是:技术的发展日新月异,对于所定义功能的可实现性面临着多重不确定性的因素。