sprint在scrum中到底是什么?

很多聊技术的人会聊敏捷,聊敏捷似乎避免不了scrum,而scrum中经常出现的sprint这个东西,那么sprint在scrum中到底是什么呢?
有人也许会说sprint就是是一个迭代(iteration),一个开发周期嘛,那么问题来了:
sprint和我们之前认知的开发周期有什么区别?
任何一个迭代都可以称为一个sprint吗?
sprint背后到底代表的是什么?

从sprint和scrum的关系开始聊起
那么我们先从sprint和scrum的关系开始聊起吧,下面这张图是scrum的开发模型

我们关注图中的蓝色部分,就是代表的sprint,可以很明显的发现,sprint是scrum的一部分,并且貌似还是很重要的一部分,它会有一个时间限制可能是4 weeks,在每个sprint过程中,我们会经历daily meetings以及并且会密切关注sprint burn down(燃尽图),我们会以sprint backlog作为开始工作的基础或者叫做输入,然后发布一定的product。