极限编程 - 角色

在极限编程中,重点是整个团队的协作、共置和持续沟通。

但是,极限编程项目需要某些角色才能运作,担任这些角色的人员将承担相应的责任并对其对这些角色的贡献负责。建议为这些角色分配合适的人员,而不是试图改变人员以适应这些角色。

极限编程中的角色

在极限编程中发现有效的角色是 −

  • 开发人员(某些团队也称之为程序员)
  • 客户
  • 经理(也称之为跟踪者)
  • 教练

开发人员

开发人员的角色是极限编程中最重要的角色。要成为极限编程的开发人员,您需要熟悉以下内容 −

  • 开发人员权利

    • 您有权知道需要什么,并明确说明优先顺序。

    • 您有权随时提供高质量的工作。

    • 您有权向同事、上级和客户寻求和接受帮助。

    • 您有权制定和更新自己的估算。

    • 您有权接受自己的职责,而不是让别人分配给您。

  • 您将要负责的主要职责 −

    • 估算故事

    • 从故事中定义任务

    • 估计任务

    • 编写单元测试

    • 编写代码以通过编写的单元测试

    • 执行单元测试

    • 重构

    • 持续集成

  • 开发人员技能

    • 结对编程

    • 沟通 - 必要且足够详细

    • 始终使用隐喻来使用正确的名称

    • 仅编写所需的代码。

    • 维护简单性

  • 集体所有权

    • 如果有人更改了您编写的代码,无论在系统的哪个部分,您都必须信任这些更改并学习。如果更改是错误的,您有责任让事情变得更好,但要小心不要责怪任何人。

    • 准备好承认您的恐惧。请记住,您是团队的一员,极限编程的成功需要勇气。

  • 在团队中扮演不同的开发人员角色,例如 −

    • 程序员。

    • 架构师和设计师。

    • 界面架构师/UI 设计师。

    • 数据库设计师和 DBA。

    • 运营和网络设计师。

  • 有时,开发人员必须担任测试员。

    • 帮助客户选择和编写功能测试。

    • 定期运行功能测试。

    • 报告测试结果。

    • 确保测试工具运行良好。

客户

在极限编程中,客户角色与开发人员角色同样重要,因为客户应该知道要编程什么,而开发人员应该知道如何编程。

这触发了客户角色需要某些技能−

  • 将所需的故事写得足够详细。

  • 培养一种态度,以实现项目的成功项目。

  • 影响项目但无法控制它。

  • 根据所需功能的范围不时做出必要的决策。

  • 愿意随着产品的发展而改变决策。

  • 编写功能测试。

在极限编程中,客户需要与团队保持持续沟通并以单一声音向团队讲话。这是必需的,因为 −

  • 客户可能是多个利益相关者。

  • 客户可能是一个社区。

  • 客户并不总是委托人(代理人)。

  • 客户可以是一个团队,包含以下潜在​​成员 −

    • 产品经理

    • 市场营销、销售

    • 业务分析师

    • 最终用户及其经理

    • 业务/系统运营

客户的主要职责是 −

  • 写用户故事

  • 编写功能测试

  • 设定故事的优先级

  • 解释故事

  • 确定故事的问题

客户对这些责任负责。

经理

在极限编程中,经理的主要职责是 −

  • 定义规划游戏规则。

  • 让团队和客户熟悉规划游戏规则。

  • 监控规划游戏,修复任何偏差,在需要时修改规则。

  • 安排和进行发布规划和迭代规划会议。

  • 在他们进行估算是为了提供反馈,说明现实情况如何符合他们之前的估算,无论是在团队层面还是个人层面,最终帮助他们下次做出更好的估算。

  • 确保团队在迭代过程中按照承诺的时间表和功能努力发布下一个版本。

  • 跟踪功能测试缺陷。

  • 跟踪每个团队成员实际花费的时间。

  • 适应获取所有必需信息的能力,而不会干扰团队的工作。经理对这些职责负责。

教练

极限编程是团队中每个人的责任。但是,如果团队刚接触极限编程,教练的作用就至关重要。

教练的职责是 −

  • 深入了解极限编程在项目中的应用。

  • 确定在出现任何问题时有用的极限编程实践。

  • 即使其他人都惊慌失措,也要保持冷静。

  • 默默观察团队,只有预见到重大问题时才进行干预,并让团队也看到问题。

  • 确保团队能够自力更生。

  • 随时准备提供帮助。