Nodejs环境下用协作工具开展以 Sprint 为分类的敏捷开发

Nodejs环境下用协作工具开展以 Sprint 为分类的敏捷开发

在敏捷开发这个词越来越火之后,我们的研发团队也逐渐向敏捷方向转型。前段时间团队用teambition来帮助进行敏捷开发,今天把我们团队如何以Sprint为分类进行敏捷开发的方法分享给大家。首先我们从产品的需求管理开始说起。

产品的需求收集

以我们公司正在进行的iOS客户端开发为例,在名为“iOS app开发”的项目中,产品负责人(以下简称PO)会创建一个Product Backlog的任务分组,用来收集产品的需求和用户故事。PO会按优先级顺序排列来帮助自己管理需求。

以Sprint来安排开发的排期

研发团队用Sprint Backlog 的任务分组,来进行工作量的预估和安排。

确定项目Backlog

通过Sprint计划会议,PO从Product Backlog中选出需求点作为本次迭代的目标,将其移动到Sprint Backlog中。

这个目标的时间周期一般为1-4个星期,研发团队将这个目标细化成一个个可执行的任务,以此来建立完整的Sprint Backlog。

确定Sprint进度

任务的进度条可以展示整体的Sprint排期完成情况。

任务板显示开发进程

每个Sprint 都会有一个新的Sprint Backlog任务板,任务板的阶段可以设置为“需求 计划中 进行中 测试中 已完成”,如下图所示: 当任务需要进行下一阶段时,可以通过拖拽任务卡片,将其移动到下一阶段。同时,你可以通过修改执行者,来告诉对方可以进行下一步的工作了。

当一个需求目标所涉及的所有任务都完成时,该目标会被移动到“已完成”,表示该目标已实现。 这样操作的好处,我认为有以下几点:

Ÿ1 对于不同类型的事情,只需要进行头像的拖拽,就可以快速分配出去; Ÿ2 可以给每个需求设置截止时间,当任务完成的时间超过预期时,会用红色标注显示;

Ÿ3 所有的讨论和任务状态的变化,任务相关者都可以看到。将产品的功能参数填写在备注中并进行更新,备注中永远呈现最新的内容; Ÿ4 上传的文档,会与任务附着在一起,找寻方便。

虽然teambition并不是专门为敏捷开发而设计的产品,但是对于需要经常、快速、高质量地发布软件的研发团队而言无疑是非常适用的,在高效的团队协作的基础之上,帮助我们打造高质量的敏捷团队。

文章来自 teambition


5 回复

Nodejs环境下用协作工具开展以 Sprint 为分类的敏捷开发

在敏捷开发这个词越来越火之后,我们的研发团队也逐渐向敏捷方向转型。前段时间团队用Teambition来帮助进行敏捷开发,今天把我们团队如何以Sprint为分类进行敏捷开发的方法分享给大家。首先我们从产品的需求管理开始说起。

产品的需求收集

以我们公司正在进行的iOS客户端开发为例,在名为“iOS app开发”的项目中,产品负责人(以下简称PO)会创建一个Product Backlog的任务分组,用来收集产品的需求和用户故事。PO会按优先级顺序排列来帮助自己管理需求。

<img src="http://l.ruby-china.org/photo/2014/5eec33646b0c5a82617ba86bb4645a5b.png" alt="">

以Sprint来安排开发的排期

研发团队用Sprint Backlog的任务分组,来进行工作量的预估和安排。

<img src="http://l.ruby-china.org/photo/2014/1e86fbc4b25f10ee56416a42aaaf9566.png" alt="">

确定项目Backlog

通过Sprint计划会议,PO从Product Backlog中选出需求点作为本次迭代的目标,将其移动到Sprint Backlog中。

<img src="https://striker-ga.teambition.com/thumbnail/6f/9f/8dce7eb423c195e87b222d63a935.png/w/660/h/660" alt="">
<img src="https://striker-ga.teambition.com/thumbnail/81/2f/b456348898f071b0440c14ac28e1.png/w/660/h/660" alt="">

这个目标的时间周期一般为1-4个星期,研发团队将这个目标细化成一个个可执行的任务,以此来建立完整的Sprint Backlog。

<img src="https://striker-ga.teambition.com/thumbnail/bc/2c/993b8ca899eec89d91cf26385e69.png/w/660/h/660" alt="">

确定Sprint进度

任务的进度条可以展示整体的Sprint排期完成情况。

<img src="https://striker-ga.teambition.com/thumbnail/c4/a1/57849976b31e7a7e36188d1418d8.png/w/660/h/660" alt="">

任务板显示开发进程

每个Sprint都会有一个新的Sprint Backlog任务板,任务板的阶段可以设置为“需求 计划中 进行中 测试中 已完成”,如下图所示:

<img src="https://striker-ga.teambition.com/thumbnail/3c/6d/6c61daaef311873e2e6edfb1c6d6.png/w/660/h/660" alt="">

当任务需要进行下一阶段时,可以通过拖拽任务卡片,将其移动到下一阶段。同时,你可以通过修改执行者,来告诉对方可以进行下一步的工作了。

<img src="https://striker-ga.teambition.com/thumbnail/d7/88/7e70734048df6acdf42d5db94181.png/w/660/h/660" alt="">

当一个需求目标所涉及的所有任务都完成时,该目标会被移动到“已完成”,表示该目标已实现。

这样操作的好处,我认为有以下几点:

  1. 对于不同类型的事情,只需要进行头像的拖拽,就可以快速分配出去;
  2. 可以给每个需求设置截止时间,当任务完成的时间超过预期时,会用红色标注显示;
<img src="https://striker-ga.teambition.com/thumbnail/0c/2c/d6e4b4c74408dd3c07869b2de758.png/w/660/h/660" alt="">
  1. 所有的讨论和任务状态的变化,任务相关者都可以看到。将产品的功能参数填写在备注中并进行更新,备注中永远呈现最新的内容;
<img src="https://striker-ga.teambition.com/thumbnail/9c/21/a8f09205c3c67eed691dde4238be.png/w/660/h/660" alt="">
  1. 上传的文档,会与任务附着在一起,找寻方便。
<img src="https://striker-ga.teambition.com/thumbnail/01/b6/63a1b9c2cfae2823da09d3dee1ee.png/w/660/h/660" alt="">

虽然Teambition并不是专门为敏捷开发而设计的产品,但是对于需要经常、快速、高质量地发布软件的研发团队而言无疑是非常适用的,在高效的团队协作的基础之上,帮助我们打造高质量的敏捷团队。

<a href="https://www.teambition.com/blog">文章来自 teambition</a>

公司的文章… 发到这边似乎有点跑题吧… 拉回来… 在 Teambition 我们做的是团队协作应用, 欢迎试用 http://teambition.com blablabla 我们的有一些公开项目在 GitHub 上 https://github.com/teambition 虽然前端后端都是用 JS 的, 后端 Mongoose Socket.IO 前端 Backbone 等等. 我主要是前端, 这边后端贡献社区没有特明显的项目, 不过有这个 JS 的积淀在这里以后应该还好.

为什么是然后呢? 楼上这名字不错…

要在Node.js环境下使用协作工具开展以Sprint为分类的敏捷开发,我们可以利用一些现有的库和工具来帮助实现这一流程。这里,我们将使用Teambition API来演示如何集成这些工具到Node.js应用中。

示例代码

安装必要的库

首先,确保安装了axios库,它可以帮助我们发起HTTP请求。

npm install axios

初始化Teambition API

创建一个简单的Node.js脚本来初始化Teambition API并获取项目中的Sprint信息。

const axios = require('axios');

// Teambition API 基础URL
const TEAMBITTION_API_URL = 'https://openapi.teambition.com';

// 获取项目中的Sprint列表
async function getSprints(projectId) {
    const response = await axios.get(`${TEAMBITTION_API_URL}/v1/projects/${projectId}/sprints`, {
        headers: {
            'Authorization': `Bearer ${process.env.TEAMBITION_ACCESS_TOKEN}`
        }
    });
    return response.data;
}

// 示例:获取项目ID为123456的项目中的Sprint
(async () => {
    try {
        const sprints = await getSprints('123456');
        console.log(sprints);
    } catch (error) {
        console.error(error);
    }
})();

解释

  • 我们使用axios来发送HTTP请求到Teambition API,获取特定项目的Sprint列表。
  • Authorization头部用于验证API请求,这里我们假设环境变量中已经设置了TEAMBITION_ACCESS_TOKEN

实现敏捷开发流程

  1. 需求收集:产品负责人可以在Teambition中创建一个Product Backlog,并按优先级排列需求。
  2. Sprint排期:团队通过Sprint计划会议选择需求,创建Sprint Backlog。
  3. 任务分配:团队成员可以将任务分配给自己,并在任务板上移动任务卡片以反映进度。
  4. 进度监控:任务进度可以通过任务卡片的状态变化和进度条实时监控。

总结

通过上述代码和流程,我们可以在Node.js环境中有效地使用Teambition进行敏捷开发。这种方式不仅提高了团队协作效率,还能够实时跟踪项目的进展。

回到顶部