“Agile”(敏捷)对于没有参与过软件开发的设计师们来说是个有点诡异的专有名词。雇主和招聘者们频频用到这个词,那么Agile到底是什么?以我作为业内人士的视角,以下是我觉得设计师们在此领域应该了解的知识。

这并不是一份关于“敏捷开发”(agile)或称“并行开发”(scrum)的完全指南,但如果你正打算去一家以产品或者软件开发为主的公司应聘,这篇文章或许可以给你提个醒。

我 会聊聊它是什么,它是如何运作的,包括其它一些术语,比如“产品需求待办列表”(product backlog)、”一次迭代待办列表“(sprint backlog)、每日例会,以及潜在的可输出产品增额的概念(potential shippable product increments)。

What-我们到底在聊什么?

“Agile”起源于2001年,当时一小群软件开发者认为他们需要一种新的工作流程。他们构想出12条准则,并总结成一份宣言。它描述了一种流程,一套方法论。

敏捷开发

以下图表展示了一个典型的敏捷开发流程,包含了一系列小的迭代周期。

在“敏捷开发”的定义范畴中有一些更精确的分支,其中一种(也许是最受欢迎的一种)就是“scrum”(译者注:本义为英式橄榄球中的并列争球行为)。想要了解更多关于Scrum的详情,可以访问scrummethodology.com.

不论哪种,“敏捷开发”必然包含了迭代的、不断增进的周期型工作。理解它的最好方法就是先看看与之反向对应的”瀑布流式”(Waterfall)协作方法。

瀑布流

“瀑布流”是产品开发领域里一种相对传统的协作模式。它是按照次序逐一执行的,无疑也相对僵化和低效一些。