将项目分解为小任务

Ale*_*art 2 project-management

我想知道,当一个新项目到来时,说建立一个社交网站,我该如何将项目分解成小任务.每个项目通常有2-4个程序员,通常没有测试人员.我应该从一开始就把整个网站分成4小时的任务.我们应该分阶段做吗?那么测试呢,程序员可以测试代码吗?

感谢您的时间.

Shi*_*iji 6

我们使用一个相当简单的系统.

  • 首先,我们将项目分为用户故事或"垂直".例如"更新客户".
  • 列出streadsheet第一列中的所有垂直列表.
  • 然后沿着顶部放置图层或活动.例如数据层,UI,日志记录.
  • 对于矩阵中的每个元素,您可以分配估计值并决定应该由谁来开发它.
  • 把它分解成4小时的元素是好的,因为那时每个开发人员都可以说:"我今天要在scrum中做这两项任务".

我们通常会针对sprint中要完成的活动为每个sprint执行此操作.

在测试程序员时,应该通过编写单元测试来测试代码,但测试人员应该执行系统测试.


Jen*_*der 5

对于论坛来说,这是一个很大的问题,所以我将从推荐一本书开始:

Mike Cohn的敏捷估算计划

从标题可以看出,这是一种敏捷方法。

在您购买和阅读本书之前,此简短版本可能会有所用处:

  • 首先进行粗粮计划。诸如此类:我们计划在两个月后部署第一个版本,其中包含使之真正可用的非常基本的功能。之后,我们大约每个月都会有一个新版本。确保您不涉及太多细节。因为无论如何,现实将杀死所有详细计划。您可以将本计划中的步骤视为阶段,但请注意,这些步骤经典阶段的分析,设计,实施,测试,部署不匹配

  • 对于第一阶段的计划,您将要做的事情更加详细。使用垂直切片进行计划,即不计划:首先,我们先创建GUI,然后创建模型,再创建数据库,但使用完整的功能,通常将其建模为User Stories。例如“作为用户,我想在系统中输入订单”这将是一个用户故事。该用户故事的实现将暗示从用户界面到持久性(包括测试)的所有工作。(有关此方面的更多信息,请参见Google的“用户案例”和“迭代计划”。)

对于您的测试问题:开发人员测试其代码总比没有测试好。但是,有更好的方法可以确保高质量的代码。我建议采用以下方法:

  • 做测试驱动的开发,即先编写测试,然后编写实现。这种方法会迫使您和您的团队使代码结构合理,它支持代码的快速更改,因为测试将通知您有关发生故障的信息。

  • 至少部分时间进行配对编程(越多越好)。这样可以确保至少有两个人能理解每一行代码。它也可以用作隐式培训,最后可以用作代码审查,这是一件好事,因为众所周知,代码审查比测试更有效地发现错误。

  • 您仍然需要对整个应用程序进行手动测试。

还有更多可供阅读和搜索的内容:敏捷,scrum,xp,TDD,BDD,规划扑克,