本文概述
- 可视化你的过程
- 限制进行中的工作(WIP)
- 使用Trello管理看板
- 估算开发工作的时间和复杂性
- 必备管理规范
- 引导你的软件开发项目
- 带走
项目的成功取决于许多因素, 但是项目失败的最常见原因之一是缺乏管理或完全糟糕的项目管理。不管你的团队有多小, 或有多清楚地记录了你的要求, 如果你对团队的管理不当, 你的项目肯定会失败。
文章图片
你花在管理项目上的每一分钟都花在了时间上。这将使你更接近成功完成项目的过程。
敏捷项目管理是一种处理现代软件开发项目的广泛接受的方法。但是, 敏捷到底意味着什么?
敏捷项目接受范围和需求的频繁更改, 并将其作为流程的组成部分。
为了更深入地了解敏捷原则, 我建议阅读我们的《敏捷项目管理终极指南》。
在这篇文章中, 我们将解释使用看板的敏捷项目管理的基础。
即使你是一位经验丰富的项目经理, 都能理解敏捷原则, 也应该刷新自己的记忆并提醒自己一些核心概念。软件开发中的创新周期不断加快, 从而使每次迭代的项目管理变得更加复杂。回到基本原则并巩固敏捷的核心原则始终很重要。毕竟, 重复是所有知识的源泉。
看板是管理任何敏捷软件开发项目的最简单方法之一。你可以轻松地处理由同一办公室或分布式团队工作的本地开发团队, 这些团队分布在多个时区。
看板不是一个过程。这是一种管理任何流程的方法, 只需对团队已建立的运营活动进行最小的更改即可。
为了将看板原则应用于你的工作, 你必须应用两个简单规则:
- 可视化你的过程。
- 限制正在进行的工作。
我们视觉感知的大脑神经元占大脑灰质的30%。
可视化过程的最流行方式是看板。看板板是垂直分成几列的板, 每一列代表过程中的一个状态。
让我们看一个简单的软件开发板的外观。首先, 我们需要为开发功能定义状态:
- 待办事项-功能正在等待开发
- 开发-功能已分配给开发人员, 并且他/她正在从事开发工作
- 质量保证-功能正在审核中
- 已部署-功能已被接受并包含在应用程序版本中
文章图片
可视化单个任务就像创建一张简单的卡片(非常类似于Post-it)一样容易, 该卡片代表需要完成的工作。你可以为任务命名, 将分配的开发人员的名称, 到期日期以及任何其他相关信息添加到此卡中。
当你将该卡添加到看板板上的一列时, 你已经可视化了, 例如, 某个特定的开发人员正在执行特定任务, 该任务应在某个日期到期并且正在开发中。
文章图片
限制进行中的工作(WIP) 人多任务处理是一种错觉。我们的大脑没有同时注意一两个问题, 而是很快地在它们之间切换。
在软件开发中, 这比其他任何地方都更加明显。开发人员一次只能处理一个代码, 而切换到另一功能将导致延迟并影响其专注度和性能。
这并不意味着你必须一次将分配的数量限制为一个。开发是一项复杂而富有创造力的工作, 某些任务需要花费更多时间, 而其他一些任务则需要更少的时间来完成, 并且在开发人员等待某物或某人时总会有延迟。重要的是将分配的任务限制为不会产生混乱的合理数量(通常一次分配三到五个任务)。
假设你的开发团队由两名开发人员和一名质量检查工程师组成, 则你的董事会可能具有以下WIP限制:
待办事项-无限开发-六张卡限制(每个开发人员最多限制三项任务)质量保证-三张卡限制(一名质量检查工程师最多限制三张卡)已部署-无限
不要指望开发人员是明智的, 并且要自己限制在制品。如果将” 待办事项” 列表中的所有内容都扔给开发人员, 这就像给孩子提供太多玩具一样。他们不会只玩一个玩具, 而是将它们扔到周围, 在你整洁的家中造成混乱, 但是它们仍然不会快乐, 你会发脾气。
作为项目经理, 这是你的工作, 以确保正确确定” 待办事项” 列表的优先级, 并且将任务分配给开发人员的时间不要早于所需的时间。
文章图片
妥善管理的看板委员会将使你一目了然地清楚了解项目状态。你可以看到开发人员有足够的工作, 已经准备好新任务, 一旦分配完成就可以接管, 并且你的质量检查工程师正在等待新任务进行审查。
使用Trello管理看板 Trello是一个基于Web的看板项目管理应用程序。它使团队成员甚至多个团队和项目之间可以轻松, 实时地进行协作。
要在Trello中创建板, 请单击” 创建新板… ” 菜单项, 然后为板设置标题。
文章图片
你将从一个空局开始。使用” 添加列表… ” 框为看板卡创建列。
文章图片
通过单击任何列表底部的” 添加卡… ” , 你可以轻松创建任务。你创建的每张卡都应代表将由团队成员执行的任务。
Trello中的卡片可以通过多种方式进行自定义:
- 分配负责执行任务的团队成员
- 根据你要添加的特定分组对它们进行颜色编码
- 设定截止日期
- 添加附件
- 添加自定义字段, 例如清单, 你可以在其中跟踪组成任务的较小元素的进度
- 团队成员可以在卡片上发表评论, 所做的任何更改都会通知每个人。
文章图片
可视化是看板中的所有内容, 因此, 这是卡片在板上的外观:
文章图片
仅查看卡片, 而无需打开详细视图, 你可以看到:
- 设置GitHub Code Repository的任务正在等待在” 待办事项” 列表中执行。
- 任务应于1月27日截止。
- 任务有描述。
- 关于这项任务有一条评论。
- 有两个项目的清单, 这些项目目前都没有完成。
- 任务已分配给用户DS, 用户DS将在下一个任务中将其提取。
- 任务属于一组绿色卡, 这意味着在启动项目之前它是必需的。
Scrum是最流行的敏捷原则之一, 无论是基于时间还是基于” 复杂性点” , 它在很大程度上依赖于估计。
团队应该花费大量时间来确定任务。
这是因为Scrum是基于时间间隔的时间间隔, 当预期完成某组任务时。为了计划交付, 你需要全面了解针对该时间段计划的所有工作。
看板不依赖于有时间限制的交付, 你可以根据需要计划每日交付。它依赖于优化流程, 这意味着团队的重点是尽快完成并清空WIP列。
团队不需要花费很多时间来提前估计工作量。开发人员将从待办事项中提取下一项;尽快完成;然后接另一项任务。
这并不意味着团队不应该估算其工作量。
你可以使用每周或每天的电话来更新和验证到期日。
但是, 对于小型团队而言, 更重要的是要确保开发人员在任何给定时刻都在执行最高优先级的任务, 并且不存在瓶颈, 从而迫使开发人员暂停其工作。
最终, 你的项目将会增长, 你将需要开始更详细地估计开发工作量。当你遇到这种情况时, 请花一些时间阅读我们的《敏捷项目管理中的软件成本估算指南》。
必备管理规范 到目前为止, 你已经了解了可视化流程和限制WIP的重要性, 以及如何使用Trello管理项目。
但是, 软件项目不仅只能使用卡片和栏进行管理。因此, 实施敏捷最佳实践也很重要:
- 组织定期的团队会议。
至少每周执行一次此操作, 以查看已完成的操作, 并在需要时优化待办事项列表(待办事项列表)并确定优先级。这样, 整个团队将同时获得更新, 并且可以共享想法。在这些会议中, 重要的是要有一个项目利益相关者(客户, 公司CTO或产品团队中任何可以做出决定并回答问题的人)最终提供非技术反馈。
- 确保与各个团队成员保持不断的沟通。
这将使每个人的日常工作更加轻松。使这些会议或同步会议非常简短, 只需在你喜欢的聊天程序中进行快速更新即可。每天办理登机手续很有用, 这可能是你与团队举行的每天约15分钟的会议。在这次会议上, 每个团队成员都发言了几秒钟, 指出:
- 他们昨天的工作。
- 他们计划今天进行的工作。
- 他们面临的挑战或瓶颈。
引导你的软件开发项目 尽管每个软件开发项目都各不相同, 但你几乎都能在其中找到某些任务。这是开始软件开发项目时应计划的一些任务:
- 设置代码版本控制和存储库。
跟踪更改和监视代码非常重要, 尤其是在多个人将要更新同一代码的项目上进行协作时。
GitHub是最受欢迎的代码版本控制服务之一。 GitHub是基于Web的Git或版本控制存储库, 提供了Git的所有分布式版本控制和源代码管理(SCM)功能。
它为每个项目提供访问控制和多种协作功能, 例如错误跟踪, 功能请求, 任务管理和Wiki。
- 定义数据库备份策略。
使用诸如GitHub之类的服务将确保你的代码得到定期备份。
通常, 数据库不是版本控制系统的一部分, 并且你还应该设置频繁的数据库备份。
开发过程容易出错, 在开发过程中很容易犯错误并更新错误的数据。如果发生备份, 进行备份将为你省去麻烦。
- 设置协作工具和文件共享。
项目文档, 功能规格, 设计文件以及在项目开发过程中使用的任何其他文档和文件会不断更新, 应分发给你的团队。
你可以使用许多不同的服务来共享这些文件。 Google提供了一种简单且经济有效的解决方案。使用Google云端硬盘, Google文档, Google表格和其他Google应用共享文件并进行协作。
- 设置单独的开发和测试服务器。
开发过程必须始终保持下去。
开发人员不应等待应用程序测试的结果, 而应在质量保证审核已完成的功能时继续进行分配工作。
同时, 客户应该能够随时检查应用程序的当前状态, 而无需等待开发团队。拥有定期更新的专用测试服务器将消除此过程中的所有瓶颈, 并确保你的团队运行不间断。
- 为每周的团队通话定义固定时间, 为每日的团队接听电话或聊天定义固定时间。
让你的所有团队成员在他们的日历中安排电话和会议的时间。这为你的团队提供了稳定的日程安排, 没有工作中断。
话虽这么说, 没有任何工具或方法可以补偿你作为项目经理必须专门用于管理项目的时间。
仅仅因为一个项目很小, 并不意味着它必然需要更少的时间。这种心态是使人头痛的良药。
这是一个简单的清单, 可帮助你验证你的项目是否得到妥善管理:
- 你的过程是否正确可视化?
- 是否限制并最小化了每个团队成员的在制品?
- 你的团队每周或每天都召开一次一致的会议吗?
- 你的看板是否定期更新?
- 你是否有代码存储库?
- 你是否安排了数据库备份?
- 你是否设置了团队沟通和协作工具?
- 你的开发环境是否与测试, 验收和生产分开?
【使用看板和Trello管理软件开发的初学者指南】请留下你的评论, 并与项目经理分享你的技巧和实践, 他们刚刚开始他们永无止境的增强软件开发团队能力的旅程。
推荐阅读
- 高效工程师的时间管理秘诀
- 代码优化(优化的最佳方法)
- 高级开发(如何避免过早优化的诅咒)
- 创建无依赖性的真正模块化代码
- 解释软件熵(原因,影响和补救措施)
- 客户沟通中的常见错误(如何不挫败客户)
- 广义与狭义技能集(神秘的软件工程技能)
- Mockjs模拟接口实现增删改查分页多条件查询
- 华为防火墙IPSec网络安全协议