您如何将Scrum应用于Web开发的设计部分?

时间:2009-03-18 15:42:05

标签: scrum agile

我开始了解Scrum,我有兴趣与我们的开发团队一起尝试。我对此有很多疑问......但我最大的心理障碍是在实际的图形设计中。

使用我们当前的开发周期[waterfall-esque],我们的图形设计器根据松散的PRD布置包含所有图像的页面。如果我们要利用Scrum的方法,这种发展将如何发生?我认为我们习惯于看到全局并朝着它迈进......而不是在我们去的时候将视觉片段装配在一起,这就是我期望Scrum的图形设计政策。

至少能够粗略地描述积压中的所有功能吗?或者更为明智的是 - 对于第一个冲刺 - 以这样的方式设计其功能,即我们可以添加其他冲刺的新功能吗? (即,当需要新功能时,请讨论“这适合当前的设计?”)

7 个答案:

答案 0 :(得分:25)

这是我建议你这样做的方式(即我们如何尝试这样做)

预冲刺0:确保您对自己想做的事情有一个良好的视野。不一定非常详细,但不应该是“我们想建立一个社交网站”

Sprint 0 :开发人员工具 - 设置CI服务器,处理部署脚本等,以便完成所有基本框架。最后,你应该能够按下一个按钮(最坏的情况:在REMOTE服务器上运行一个命令),它接受你的源代码控制系统中的代码,构建它,打包它,运行你想要的所有测试。它报告回来,如果可能的话,将它安装在测试服务器上(或至少导致你可以在测试服务器上安装的软件包)。

此时,设计师正在做线框。他们的目标是为您认为需要的网站提供基本的线框图(想想站点地图和流量而不是字段和像素)。然后,当这样做完成后,解决PM的最重要的问题,然后详细介绍 - 线框。不是像素YET。

项目经理等正在与设计师和业务/利益相关者合作,为您编写故事和任务以及跟踪。显然,他们需要了解站点地图等,以便做到这一点。

这可能需要多个冲刺。从一开始(我建议2-3周短跑 - 1太短,4太长),看看你还需要做多少等。

所以在冲刺0结束时,你有:

  • 很多故事,按优先顺序排列(你可以在以后添加更多,事实上你总是随着需求的变化而增加)
  • 站点地图(即关于整个内容将包含的内容的一般概念)
  • 第一个工作块的线框
  • 您的所有工具都在工作和设置
  • 您的CI,错误跟踪,源代码控制和部署系统已到位

那么你开始冲刺1

请记住,对于前3-4次短跑,你不会知道你在冲刺中可以做多少工作,所以期望错误!尽可能多的工作(以业务/ PM给他们的优先顺序),你认为你可以做到这一点。你可以随时拿更多!

你很多地开发这些页面,设计师将下一个页面框架线框(由PM确定)。也许设计师为这些页面做了艺术,所以你可以在下一个sprint中做到这一点

所以,你正在开发你所拥有的东西,而设计师正在为你的下一个冲刺工作。

当然,他们也可以进行scrum流程,只是他们早点开始冲刺了!

现在重复,直到您完成工作

在sprint期间,如果(比方说)需求发生变化或添加了新内容,那么就会为此编写一个新故事,并将其安排到工作中。如果它是超高优先级,它可以位于顶部并成为下一个冲刺的顶级项目(通常是1-2周之后)。或者它可能是一个很好的,所以它在底层 - 业务决定。

PM /设计师需要知道他们可以改变事物,但改变DO会产生后果,因此切换和改变前后并不符合他们的(财务)利益。但是需求会发生变化,XP和Scrum会比瀑布更好地处理这个问题。

别忘了:

  • 您可以随时停止冲刺并返回计划,例如,如果要求变化太大,或者您的工作已经停止工作
  • 你可以安排比你有时间更多的工作,只要这项工作没有被提交(即,它是“额外的”或“伸展”的工作)

你的PM应该能够预测项目结束的时间 - 看看你在最后一个冲刺中做了多少工作(你的速度),并将剩下的工作量除以那个数字,你得到了冲刺的数量去。容易。

哦,并阅读故事点 - 不要在几小时或几天内估计故事。使用积分。要引导它,只需将您估计的第一个故事(比如说)设为8(序列为1,2,3,5,8,13,21,40,60,100,无限)。然后采取第二个故事,并估计它相对于第一个 - 它是工作的两倍(13)?一半的工作(5)?差不多(8)?

在冲刺结束时,加上你做了多少分,这就是你的速度。您可以在下一个sprint中执行的最大工作量是该数量。你可以提前停止冲刺,或者如果你早点用完,就可以从积压工作中获得更多的工作。随着你的进展,你的速度会稳定下来。

该死的,我确定有关于如何运行它的书等,所以我会停止:)

答案 1 :(得分:7)

我非常不同意杰森提供的答案。 Scrum的全部意义在于摆脱设计师首先“做他们的事”然后继续其他事情的方法。这完全和100%反对所有精益/ Scrum原则!

将设计师纳入Scrum流程的方法?把他们扔进混合!确保你不只是将瀑布项目包装到Scrum中,因为这是失败的最佳方式! Scrum只有在没有例外的情况下实现时才有效。 “Scrum,但......”是最糟糕的项目模型。组织工作,以便可以同时进行设计和开发。不要过度初始设计,但要使其成为一种推拉式的情况,硬币的两面都会影响另一面。 Scrum的重点是迭代,迭代和迭代,所以要充分利用它。

此外,它实际上完全避开了传统的基于Photoshop的设计。您可以通过Signal vs. Noise中的优秀博客文章了解更多相关信息: http://www.37signals.com/svn/posts/1061-why-we-skip-photoshop

答案 2 :(得分:1)

在设计师在早期迭代中完成他们的工作之前,我已经完成了这项工作,他们的工作产品在后来的迭代中被开发团队使用。当开发团队开始工作时,设计师将继续前进到项目的其他部分,或者可能进入其他项目。

  

我认为我们习惯于看到大事   图片并朝着它开车

你仍然可以这样做。您的设计师可以进行更大规模的前期设计,开发团队可以使用Scrum进行迭代。

答案 3 :(得分:1)

对于sprint 0中的设计部分,您可以使用Styletyles(http://styletil.es)之类的技术来确定项目所需的图形样式。因此,您不需要预先设计大型设计,并且在短跑时仍然保持敏捷。

答案 4 :(得分:1)

很轻松! :)好吧,让我分享一下我们是如何做到的。

First Sprint

1)产品所有者创建线框并添加积压(我们使用Yodiz,www.yodiz.com) 2)我们的图形设计师创建模型并将它们放在模型共享工具上(www.concept.ly) 3)我们的开发人员致力于设置服务器。如果一切准备就绪,我们拥有相当聪明的产品所有者,您将始终在待办事项中选择项目。

Sprint Two

1)开发人员开始研究最终的模型,这些模型在概念上已经完成。 2)设计师在产品所有者添加的其他线框中处理积压工作。

我告诉你这很容易!

答案 5 :(得分:0)

我想分享一下。我是未来社交应用程序开发团队的scrum master。该团队拥有1个用户界面设计师,1个用户体验设计师(我),1个前端开发人员(css,ajax等)和3个程序员。

这是我们第一个使用SCRUM框架的项目,因此它非常具有挑战性。我们的scrum日常会议的趋势是我们的设计工作从未完成,因为我们的初始产品积压有“用户希望被说服注册”等故事,然后我们在该故事上添加了“演示方式”,所以我们可以确定需要做什么(即我们需要做线框,完成文案等等)。

那可以做得更好。根据该故事逐项列出每项任务,并估算每项任务的时间。例如,在产品待办事项期间,我们可以从那里按顺序创建这些:站点地图>任务流程>线框

现在的问题是,我们是否在冲刺中完成所有这些工作?或者我们应该在任何冲刺之前做到这一点?如果我们没有冲刺,那就击败了scrum的目的?

那些完成用户体验设计的人会知道这些任务需要花费很多时间来准备。那么为什么不把所有这些都作为冲刺的一部分呢?让程序员也参与这些任务。

在整个项目期间,线框图非常重要。这就像建筑物的蓝图,从开始到结束使用它。

因此,在第一次冲刺期间,根据产品积压做一个初始线框。并在每个其他冲刺期间相应地调整线框。我们的程序员将根据任务流设计他们的代码,然后根据线框直观地创建它。

哦,顺便说一句,不要过分关注产品的外观(拥有一个初始设计样机总是一件好事)。相反,关注用户的需求和需求,并设计一个非常以用户为中心的流程来实现这一目标。之后我们的设计师会想出他将要设计什么样的界面。如果线框完成正确,设计人员在设计用户界面时几乎没有问题。同样适用于创建文案。

总之,在每次迭代期间携手合作。对于初学者(像我一样)给SCRUM一个为你工作的机会。如果它适用于像fantasyinteractive.com这样的公司,那么它对你有用吗?)

P.S。对于伟大的线框,使用omnigraffle(mac)tis the shite!

答案 6 :(得分:0)

  

如果我们要利用Scrum的方法,这种发展将如何发生?

虽然这篇文章很老,但它促使我自己研究。我找到了Jeff Patton为用户体验设计师/从业者提出的“十二个新兴实践”,我认为这些实践特别适合这个问题,而且非常有用的框架集:

  1. 驱动器:用户体验从业者是客户或产品所有者团队的一员。
  2. 预先研究,模型和设计 - 但仅限于此。
  3. 将您的设计作品缩小
  4. 使用并行轨道开发来提前工作,并跟进。
  5. 通过复杂的工程故事购买设计时间。
  6. 培养用户验证组以用于连续用户验证。
  7. 在与开发不同的轨道中安排持续的用户研究。
  8. 利用用户时间进行多项活动。
  9. 在开发之前使用RITE迭代UI。
  10. 低保真原型。
  11. 将原型视为规范。
  12. 成为设计推动者。
  13. 如果你想深入挖掘,杰夫会说出来agileproductdesign.com.