使用看板和 Trello 管理软件开发的初学者指南
已发表: 2022-03-11每个人都是项目经理。 无论您是在管理新应用程序的开发和发展您的初创公司,还是在处理一个价值数十亿美元的新企业项目,或者只是想通过一些 DIY 美化来让您的院子活跃起来,您总是在管理一个项目。
项目的成功取决于许多因素,但项目失败的最常见原因之一是缺乏管理或完全糟糕的项目管理。 无论您的团队多么小,或者您的需求记录得多么清晰,如果您没有正确管理您的团队,您的项目就注定会失败。
敏捷项目管理是一种被广泛接受的处理现代软件开发项目的方法。 但是敏捷的真正含义是什么?
为了更深入地了解敏捷原则,我建议阅读我们的敏捷项目管理终极指南。
在这篇文章中,我们将用看板解释敏捷项目管理的基础知识。
即使您是一位经验丰富的项目经理,深入了解敏捷原则,您也应该刷新记忆并提醒自己核心概念。 软件开发中的创新周期不断加快,每次迭代都使项目管理变得更加复杂。 回归基本原则并巩固敏捷的核心原则始终很重要。 毕竟,重复是所有知识之母。
看板是管理任何敏捷软件开发项目的最简单方法之一。 您可以轻松地处理在同一办公室或分布式团队工作的本地开发团队,这些团队分布在多个时区。
看板不是一个过程。 这是一种管理任何流程的方法,只需对团队已建立的运营活动进行最小的更改。
为了将看板原则应用到您的工作中,您必须应用两个简单的规则:
- 可视化您的过程。
- 限制正在进行的工作。
可视化您的流程
数据可视化是一种以通用且易于理解的方式传达信息的快速、简单的方法。 在看图片时,人脑可以同时处理多条信息。 一些研究表明,这可以比阅读文本快 60,000 倍。
可视化流程的最流行方式是看板。 看板是一个垂直分为几列的板,每一列代表您流程中的一个状态。
让我们来看看一个简单的软件开发板会是什么样子。 首先,我们需要为我们的开发功能定义状态:
- 待办事项- 功能正在等待开发
- 开发- 功能分配给开发人员,他/她正在开发它
- 质量保证- 功能正在审核中
- 已部署- 功能被接受并包含在应用程序发布中
基于此,您的电路板应具有以下布局:
可视化单个任务就像创建一张简单的卡片(很像便利贴)一样简单,它代表需要完成的工作。 您可以为任务命名、将指定开发人员的姓名、截止日期和任何其他相关信息添加到此卡中。
当您将该卡片添加到看板板上的一列时,您已经看到,例如,特定的开发人员正在处理某个特定的任务,该任务在某个日期到期并且当前正在开发中。
限制在制品 (WIP)
人类多任务处理是一种错觉。 我们的大脑不会同时关注一两件事,而是在它们之间快速切换。
这在软件开发中比其他任何地方都更明显。 开发人员一次只能处理一段代码,切换到另一项功能会导致延迟并影响他们的注意力和表现。
这并不意味着您必须将分配的数量限制为一次。 开发是一项复杂而富有创造性的工作,有些任务需要更多的时间才能完成,而另一些任务则需要更少的时间来完成,并且在开发人员等待某事或某人时总是会有延迟。 重要的是要将分配的任务限制在一个不会产生混乱的合理数量(这通常是一次三到五个任务)。
假设您的开发团队由两名开发人员和一名 QA 工程师组成,您的主板可能具有以下 WIP 限制:
- 待办事项 - 无限
- 开发 - 六卡限制(两名开发人员每个限制最多三个任务)
- 质量保证 - 三卡限制(1 QA 工程师限制为最多三卡)
- 已部署 - 无限制
作为项目经理,您的工作是确保待办事项列表的优先级正确,并且在需要时立即将任务分配给开发人员。
管理得当的看板将让您对项目状态一目了然。 您可以看到您的开发人员有足够的工作,您已经准备好新任务,他们可以在他们的任务完成后接管,并且您的 QA 工程师正在等待新任务的审核。
使用 Trello 管理看板
Trello 是一个基于 Web 的看板项目管理应用程序。 它支持团队成员甚至多个团队和项目之间轻松、实时的协作。
要在 Trello 中创建看板,请单击“创建新看板...”菜单项,然后为看板设置标题。
您将从一个空板开始。 使用“添加列表...”框为您的看板卡创建列。
通过单击任何列表底部的“添加卡片...”,您可以轻松创建任务。 您创建的每张卡片都应代表将由团队成员执行的任务。
可以通过多种方式自定义 Trello 中的卡片:
- 分配负责执行任务的团队成员
- 根据您要添加的特定分组对它们进行颜色编码
- 设置截止日期
- 添加附件
- 添加自定义字段,例如清单,您可以在其中跟踪组成任务的较小元素的进度
- 团队成员可以对卡片发表评论,并且每个人都会收到所做的任何更改的通知。

可视化是看板中的一切,因此卡片在板上的外观如下:
只需查看卡片,无需打开详细视图,您就可以看到:
- 设置 GitHub 代码库的任务正在待办事项列表中等待执行。
- 任务截止日期为 1 月 27 日。
- 任务有描述。
- 该任务有一条评论。
- 有两个项目的清单,这些项目目前都没有完成。
- 任务已分配给用户 DS,接下来由谁接手。
- 任务属于一组绿色的色卡,这意味着在项目启动之前需要它。
估计开发工作的时间和复杂性
如果不了解完成某项任务所需的努力和时间,就不可能规划和管理项目。 然而,在软件开发中最难做的事情之一就是确定交付一个新的软件产品或功能需要多长时间。
Scrum 是最流行的敏捷原则之一,它在很大程度上依赖于估计,无论它们是基于时间还是“复杂点”。
团队应该花费大量时间来确定任务的范围。
这是因为 Scrum 是基于时间间隔的,即预期完成某组任务的时间。 为了计划交付,您需要全面了解为该时间框计划的所有工作。
看板不依赖于限时交付,您可以根据需要计划每日交付。 它依赖于优化流程,这意味着团队的重点是尽快完成并清空 WIP 列。
团队不会花太多时间提前估计工作。 开发人员将从 To-Do 中获取下一个项目; 尽快完成; 并拿起另一个任务。
这并不意味着团队不应该估计他们的工作量。
您可以使用每周或每天的电话来更新和验证到期日期。
然而,对于一个小团队来说,更重要的是要确保开发人员在任何给定时刻都在处理最高优先级的任务,并且没有瓶颈,迫使开发人员暂停他们的工作。
最终,您的项目将会增长,您将需要开始更详细地估计开发工作量。 当您遇到这种情况时,请花一些时间阅读我们的敏捷项目管理中的软件成本估算指南。
必备的管理实践
到目前为止,您已经了解了可视化流程和限制 WIP 的重要性,以及如何使用 Trello 来管理您的项目。
一个软件项目不能只用卡片和栏目来管理。 因此,实施敏捷最佳实践也很重要:
组织一次定期的团队会议。
至少每周执行一次,以查看已完成的工作,并在需要时改进积压工作(待办事项列表)并确定其优先级。 这样,整个团队将同时获得更新,并且可以分享想法。 在这些会议中,让项目利益相关者(客户、公司 CTO 或产品团队中可以做出决定和回答问题的任何人)最终提供非技术反馈非常重要。确保与各个团队成员保持持续沟通。
这将使每个人的日常工作变得更加轻松。 保持这些会议或同步非常简短和简单,只需在您最喜欢的聊天程序中进行快速更新即可。 每天签到是很有用的,这可能是您与团队进行的约 15 分钟的每日会议。 在这次会议上,每个团队成员都会发言几秒钟,说明:
- 他们昨天的工作。
- 他们今天打算做什么。
- 他们面临什么挑战或瓶颈。
在通话过程中做笔记并注意发现可能的问题(阻碍者、对任务的错误关注、意想不到的技术挑战),并与团队一起解决这些问题。
引导您的软件开发项目
虽然每个软件开发项目都不同,但您几乎可以在所有项目中找到某些任务。 以下是您在开始软件开发项目时应该计划的一些任务:
设置代码版本控制和存储库。
跟踪更改和监控代码非常重要,尤其是在多人协作更新相同代码的项目时。
最流行的代码版本控制服务之一是 GitHub。 GitHub 是一个基于 Web 的 Git 或版本控制存储库,提供 Git 的所有分布式版本控制和源代码管理 (SCM) 功能。
它为每个项目提供访问控制和多个协作功能,例如错误跟踪、功能请求、任务管理和 wiki。定义数据库备份策略。
使用 GitHub 等服务将确保您的代码得到定期备份。
数据库通常不是版本控制系统的一部分,您也应该设置频繁的数据库备份。
开发过程容易出错,在开发过程中很容易出错,更新错误的数据。 如果发生此类问题,备份将为您省去麻烦。设置协作工具和文件共享。
项目文档、功能规范、设计文件以及在项目开发过程中使用的任何其他文档和文件会不断更新,并应分发给您的团队。
您可以使用许多不同的服务来共享这些文件。 Google 提供了一种简单且经济高效的解决方案来解决此问题。 使用 Google Drive、Google Docs、Google Sheets 和其他 Google 应用程序来共享和协作处理文件。设置单独的开发和测试服务器。
开发过程必须始终持续下去。
开发人员不应该等待应用程序测试的结果,他们应该在质量保证审查完成的功能时继续完成他们的任务。
同时,客户端应该能够随时检查应用程序的当前状态,而无需等待开发团队。 拥有一个定期更新的专用测试服务器将消除此过程中的所有瓶颈,并确保您的团队不间断地运行。定义每周团队电话的固定时间和每日团队跟进电话或聊天的固定时间。
让您的所有团队成员在他们的日历中安排通话和会议的时间。 这为您的团队提供了稳定的日程安排,没有工作中断。
带走
项目管理是一项复杂且经常压力很大的活动。 为其添加结构并使项目状态始终可见和准确可以减轻这种压力。 使用看板方法和敏捷原则,结合适当的工具,将为您节省大量时间。
话虽如此,没有任何工具或方法可以补偿您作为项目经理必须致力于管理项目的时间。
仅仅因为一个项目很小,并不意味着它必然需要更少的时间。 这种心态是解决大头痛的好方法。
这是一个简单的清单,可帮助您验证您的项目是否得到妥善管理:
- 您的过程是否正确可视化?
- 每个团队成员的 WIP 是否受到限制和最小化?
- 您的团队是否有一致安排的会议——每周或每天?
- 您的看板是否定期更新?
- 你有一个代码库吗?
- 您是否安排了数据库备份?
- 您是否设置了团队沟通和协作工具?
- 您的开发环境是否与测试、验收和生产分开?
请记住,此列表远未确定和完成; 这仅仅是个开始。
请留下您的评论,并与刚刚开始为软件开发团队赋权的永无止境旅程的项目经理分享您的技巧和实践。
