我们的敏捷流程

我们对所有项目都使用敏捷方法

速度之王可以使用各种方法来构建、规划和控制创建软件应用程序的过程——瀑布式、迭代式、螺旋式等。我们选择的方法是灵活的,因为它是在预算内按时交付客户需求的最快、最可靠的方法。

什么是敏捷?

在敏捷流程中工作被分解为称为迭代的小增量-通常为一周的短“时间段”。这种增量方法使项目能够快速适应变化,在一开始就不清楚精确的系统功能的情况下非常理想。根据我们的经验,绝大多数软件开发项目都是这样的!

敏捷依赖于将系统功能定义为“用户情景”-可用的功能位。用户情景创建于发现它们的形式是:

“作为一个[角色],我需要[扮演]角色,这样我才能[预期的利益]。”

每个迭代都包括一组用户故事的规划、设计、编码和测试在每次迭代结束时,向涉众演示一个工作产品。我们尝试从功能的最基本定义开始,如果需要改进,会添加更多故事。 

开发人员和客户之间的团队合作和频繁沟通是敏捷方法的一个特点。开发人员和客户共同决定如何根据优先级和难度将用户情景绑定到迭代中。这使我们的团队能够尽早处理最高优先级和最大风险,同时提供后续机会修改计划以响应新信息。我们不是试图冻结计划和时间表,而是以鼓励对话的方式工作,并将重点转移到项目中每一点最重要的事情上。这使我们的客户能够经常审查优先事项,并在需要时调整路线。

为什么选择敏捷?

软件项目只能具有以下三个特征中的两个:按时交付、按预算交付和按规范交付。敏捷项目固定预算和时间,并允许规范不断发展。在一个项目开始时,我们不知道哪些功能对用户来说会很好,而且我们对哪些功能的开发难度或容易程度只有一个粗略的想法。经过几次迭代,我们有了一个更清晰的想法。敏捷方法允许项目利用这种学习曲线,并在进行过程中进行调整。

我们认为这本书引用了以下内容敏捷开发的艺术James Shore和Shane Warden(O'Reilly)很好地总结了这一点。

“每个软件项目的开始都是当你对什么将使软件变得有价值知道得最少的时候。你可能对它的价值知道很多,但在与利益相关者交谈、向他们演示并进行实际发布后,你总会知道更多。随着你继续,你会发现你最初对价值的一些看法是对的。没有一个计划是完美的,但是如果你改变你的计划来反映你所学到的——如果你适应了——你就会创造更多的价值。

阅读更多信息