极限编程 - 角色


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

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

极限编程中的角色

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

  • 开发人员(某些团队也称为程序员)
  • 顾客
  • 管理器(也称为跟踪器)
  • 教练

开发商

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

  • 开发者权利

    • 您有权知道需要什么,并明确声明优先级。

    • 您始终有权创作高质量的作品。

    • 您有权向同事、上级和客户请求并获得帮助。

    • 您有权做出和更新您自己的估计。

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

  • 您将承担的主要职责 -

    • 估计故事

    • 从故事中定义任务

    • 预估任务

    • 编写单元测试

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

    • 执行单元测试

    • 重构

    • 持续整合

  • 开发者技能

    • 结对编程

    • 沟通——这是必要的且足够详细

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

    • 仅对需要的内容进行编码。

    • 保持简单

  • 集体所有制

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

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

  • 作为团队中的开发人员,扮演不同的角色,例如 -

    • 程序员。

    • 建筑师和设计师。

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

    • 数据库设计师和DBA。

    • 运营和网络设计师。

  • 有时,开发人员之一必须戴上测试人员的帽子。

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

    • 定期运行功能测试。

    • 报告测试结果。

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

顾客

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

这触发了客户角色某些技能的必要性 -

  • 将所需的故事写到必要且足够的细节。

  • 培养项目成功的态度。

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

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

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

  • 编写功能测试。

在极限编程中,客户需要与团队不断沟通,并以单一的声音与团队对话。这是必需的,因为 -

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

  • 客户可以是一个社区。

  • 客户并不总是主体(代理人)。

  • 客户可以是一个具有以下潜在成员的团队 -

    • 产品经理

    • 市场销售

    • 业务分析师

    • 最终用户及其管理者

    • 业务/系统运营

客户的主要责任是 -

  • 编写用户故事

  • 编写功能测试

  • 设定故事的优先顺序

  • 解释故事

  • 决定有关故事的问题

客户应对这些责任负责。

经理

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

  • 定义规划游戏规则。

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

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

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

  • 在团队进行估算时与他们一起参与,以便在团队层面和个人层面上提供有关实际情况与他们之前的估算是否一致的反馈,最终帮助他们下次提出更好的估算。

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

  • 跟踪功能测试缺陷。

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

  • 适应在不干扰团队工作的情况下获取所有所需信息的能力。经理对这些职责负责。

教练

极限编程是团队中每个人的责任。然而,如果团队是极限编程的新手,教练的作用就至关重要。

教练的职责是 -

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

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

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

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

  • 确保团队自力更生。

  • 准备好提供帮助。