敏捷SDLC模型是迭代和增量流程模型的组合,通过快速交付工作软件产品,专注于流程适应性和客户满意度。敏捷方法将产品分解为小型增量构建。这些构建在迭代中提供。每次迭代通常持续大约一到三周。每次迭代都涉及跨职能团队同时在各个领域工作,如 -
在迭代结束时,向客户和重要的利益相关者显示工作产品。
敏捷模型认为每个项目都需要以不同方式处理,现有方法需要根据项目要求进行定制。在Agile中,任务分为时间框(小时间框架),以便为发布提供特定功能。
采用迭代方法,并在每次迭代后提供工作软件构建。每个构建在功能方面都是增量的; 最终版本包含客户所需的所有功能。
以下是敏捷模型的图解说明 -
敏捷思维过程在软件开发的早期就开始了,并且由于其灵活性和适应性而开始变得流行。
最流行的敏捷方法包括Rational Unified Process(1994),Scrum(1995),Crystal Clear,Extreme Programming(1996),Adaptive Software Development,Feature Driven Development和Dynamic Systems Development Method(DSDM)(1995)。在敏捷宣言于2001年出版后,这些现在统称为敏捷方法论。
以下是敏捷宣言原则 -
个人和互动 - 在敏捷开发中,自组织和动机很重要,共同定位和结对编程等互动也很重要。
工作软件 - 演示工作软件被认为是与客户沟通以了解其要求的最佳方式,而不仅仅是依赖于文档。
客户协作 - 由于各种因素无法在项目开始时完全收集需求,因此持续的客户交互对于获得适当的产品要求非常重要。
应对变化 - 敏捷开发的重点是快速响应变化和持续发展。
Agile基于自适应软件开发方法,而传统的SDLC模型(如瀑布模型)基于预测方法。传统SDLC模型中的预测团队通常使用详细的计划,并完整预测未来几个月或产品生命周期中要交付的确切任务和功能。
预测方法完全取决于在周期开始时进行的需求分析和计划。要纳入的任何变更都要经过严格的变更控制管理和优先排序。
敏捷使用自适应方法,没有详细的规划,只有在需要开发哪些功能时才能明确未来的任务。有功能驱动的开发,团队动态地适应不断变化的产品需求。通过发布迭代,该产品经常进行测试,从而最大限度地降低未来发生重大故障的风险。
客户交互是这种敏捷方法的支柱,而使用最少文档的开放式通信是敏捷开发环境的典型特征。敏捷团队彼此密切合作,通常位于同一地理位置。
敏捷方法最近在软件世界中被广泛接受。但是,这种方法可能并不总是适用于所有产品。以下是敏捷模型的一些优缺点。
敏捷模型的优点如下 -
是一种非常现实的软件开发方法。
促进团队合作和交叉培训。
功能可以迅速发展并得到证明。
资源要求最低。
适合固定或变化的要求
提供早期部分工作解决方案。
适用于稳定变化的环境的良好模型。
最小的规则,易于使用的文档。
在整体计划环境中实现并发开发和交付。
很少或根本不需要计划。
易于管理。
为开发人员提供灵活性。
敏捷模型的缺点如下 -
不适合处理复杂的依赖项。
可持续性,可维护性和可扩展性的风险更大。
总体规划,敏捷领导者和敏捷的PM实践是必须的,如果没有它,它将无法工作。
严格的交付管理决定了范围,要交付的功能以及满足截止日期的调整。
在很大程度上取决于客户互动,因此如果客户不清楚,团队可能会被推向错误的方向。
由于生成的文档最少,因此存在非常高的个人依赖性。
由于缺乏文档,技术转让给新的团队成员可能非常具有挑战性。
敏捷管理可降低与项目交付,范围和预算相关的常见风险。
它鼓励客户和团队之间的协作 ; 在缓解软件开发过程中的高风险方面提供互惠互利。
2009年,David F Rico博士将Agile与传统的软件项目管理方法进行了比较。在他的研究和综合过程中,他分析了23个敏捷过程,并将它们与7,500个传统项目进行了比较。
他发现敏捷项目有20项好处:
敏捷宣言和十二項原則
All Agile Software Development Methodologies (SCRUM, Kanban, XP) contain the Agile Manifesto (Core Values) and 12 Agile Principles, which represent a set of values to guide people in an organization how to behave with each other. ( 所有敏捷軟件開發方法(SCRUM,看板,XP)都包含敏捷宣言(核心價值觀)和12個敏捷原則,它們代表了一系列價值觀,用於指導組織中的人們如何相互行事。)
Timeboxing 在 Scrum中是什么含义?
The goal of timeboxing is to define and limit the amount of time dedicated to an activity. Scrum uses timeboxing for all of the Scrum events and as a tool for concretely defining open-ended or ambiguous tasks. (时间装箱的目标是定义和限制专用于活动的时间量。scrum 将时间装箱用于所有 scrum 事件, 并用作具体定义无期限或不明确任务的工具。)
极限编程(XP)vs Scrum
Scrum is a framework for product development, which is a container where you can add other practices. XP is one of those practices that you can do within Scrum framework. This article shows you the similarities and differences between them and there are no reasons why a team need choose between Scrum and XP exclusively. (Scrum是一个产品开发框架,它是一个容器,您可以在其中添加其他实践。XP是可以在Scrum框架内完成的实践之一。本文向您展示了它们之间的相似性和差异,并且没有任何理由说明团队需在Scrum和XP之间进行选择。)
精益生产中的8种浪费 – 如何定义?
A lean organization understands customer value and focuses its key processes to continuously increase it. The ultimate goal is to provide perfect value to the customer through a perfect value creation process that has zero waste. This article shows you how to identify those wastes (精益组织了解客户价值, 并专注于其关键流程以不断提高客户价值。最终目标是通过一个零浪费的完美价值创造过程, 为客户提供完美的价值。本文向您展示了如何识别这些浪费)
最好的免费和商业敏捷工具 – 每个Scrum团队都需要
In this article you will get a list of 10 latest and efficient Agile Project Management tools that would help your team in the entire scrum development process. You need some agile toolset for enhancing the productivity of your team and help ease the pain points even if you have remote employees. (在本文中,您将获得10个最新,最有效的敏捷项目管理工具列表,这些工具可以帮助您的团队完成整个Scrum开发过程。您需要一些敏捷的工具集来提高团队的工作效率, 并帮助缓解难题, 即使您有远程员工也没关系。)
为什么选择Scrum?Scrum如何克服我们总是面临的8个痛点?
What you need to know in a nutshell — the 8 pain points we most often see in Scrum project planning and analysis. This article shows you how to using Scrum and Agile to overcome them. (你需要知道的是–scrum 项目规划和分析中我们最常看到的8个痛点。本文向您展示了如何使用 scrum 和敏捷来克服它们。)
什么是Scrum框架中的3355?
using four simple facts (3355) to help us to understand and recap the key concepts of scrum (使用四个简单的事实(3355)来帮助我们理解和概括Scrum的关键概念)
Scrum vs 瀑布 vs 敏捷 vs 精益 vs 看板
There are a number of different approaches in the software development industry – some are new takes on old methods and others have adapted a relatively new approach. The two most commonly used methods in this field are the Agile such as, Scrum, Kanban and Lean and etc., and traditional Waterfall models such as structured methods or newer RUP. ( 软件开发行业有许多不同的方法 - 一些是旧方法的新方法,另一些方法采用了相对较新的方法。该领域中最常用的两种方法是敏捷,如Scrum,Kanban和Lean等,以及传统的瀑布模型,如结构化方法或更新的RUP。大多数遵循这两种模式的软件公司都认为他们选择的方法在方面是优越的,所以在我们回答这个问题之前,“哪一个更成功?我们应该看看它们的主要区别。)
如何保持Scrum的透明度?
Transparency is vital to the Scrum process, as it allows everyone to see and understand what is really happening in each sprint, achieving a bigger and better communication and trust on the team and in this methodology. This Article shows you how to do it. ( 透明性对于Scrum过程至关重要,因为它允许每个人看到和理解每个Sprint中实际发生的事情,从而在团队和这种方法中实现更大、更好的沟通和信任。这篇文章向您展示了如何做到这一点。)
Scrum: 经验过程控制vs定义过程控制
In empirical process control, you expect the unexpected. With defined process control, every piece of work is understood. In Scrum, an empirical process is implemented where progress is based on observation and experimentation instead of detailed, upfront planning and defined processes. (在经验过程控制中,你期待着意想不到的结果。通过定义的过程控制,可以理解每一件工作。在Scrum中,实现了一个经验过程,其中进度是基于观察和实验,而不是详细的预先规划和定义的过程。)