软件质量管理-4-团队动力学

1. 自主团队

1.1. 软件开发是知识工作

  1. 软件开发是一项既复杂又富有创造性的知识工作
  2. 软件开发——智力劳动
    1. 处理和讨论极其抽象的概念:件和传统行业的不同:不可重复性
    2. 把不同的部分(不可见)整合成一个可以工作的系统
  3. 这就要求从事软件开发的工程师
    1. 必须全身心地参与工作
      1. 知识工作必须是全身心投入的
      2. 任务切换一般需要30分钟才能全身心的投入:《人件》
    2. 主观意愿上努力追求卓越
  4. 这就要求管理者激励并且维持激励
    1. 激励手段
    2. 维持激励手段

1.2. 知识工作管理

    1. 有积极性:不然可能会被其他人替代
    2. 能做出准确的估算和计划
    3. 懂得协商承诺
    4. 有效跟踪他们的计划
    5. 持续地按计划交付高质量产物

1.3. 带来的改变

  1. 需要什么样的团队协作/li>
  2. 什么样的领导者适合软件项目何激励/li>
  3. 估算、计划和跟踪中的心理因素
  4. 敏捷开发中的心理因素
  5. UML技术隐含的心理因素
  1. 团队中到处蔓延着一些神奇的东西,体现着独特的伦理,态度和力量。团队成员相互支持,他们凭直觉就知道何时以及如何帮助彼此。每一个团队成员都深深感觉到是共同力量的一部分,有一种强烈的归属感和一种互助友爱的感觉。DeMarco & Lister 《人件》

1.5. 领导者

  1. 简单讨论知识工作的领导者具有什么特点/li>

1.5.1. 领导者的激励手段

  1. 有3种主要的激励方式
    1. 威逼
    2. 利诱
    3. 鼓励承诺:位于马斯洛需求理论的4级以上,应当是主要的方式,并且最好以团队为单位做承诺
  2. 上面哪种激励效果最好
  3. 被以上这3种方式激励的团队各有什么特点/li>

1.5.2. 马斯洛的需求理论

2.3. TSP Launch

2.5.2. 典型TSP角色-TL

  1. 项目组长的目标和衡量指标
    1. 项目组长应当建设和维持高效率的团队。
    2. 项目组长应当激励团队成员积极工作。
    3. 项目组长应当合理处理团队成员的问题。
    4. 项目组长应当向管理层提供项目进度相关的完整信息。
    5. 项目组长应当充当合格的会议组织者和协调者。

2.5.2.1. 典型TL技能

  1. 你是天生的领导者
  2. 你有能力识别问题的关键并且做出客观的决策
  3. 你不介意偶尔充当“恶人”
  4. 你尊敬你的团队成员

2.5.2.2. TL的工作内容

  1. 激励团队成员努力工作
  2. 主持项目周例会
  3. 每周汇 项目状态
  4. 分配工作任务
  5. 维护项目资料
  6. 组织项目总结

2.5.3. 计划经理

  1. 开发完整的、准确的团队计划和个人计划
  2. 每周准确的 告项目小组状态

2.5.3.1. 计划经理典型技能

  1. 最为重要的一点是,你做事有条理和逻辑
  2. 你对于过程数据非常感兴趣,期待通过每周输入的数据来了解项目当前状况
  3. 你认为计划非常重要,也愿意要求团队成员跟踪和度量他们的工作

2.5.3.2. 计划经理的主要工作内容

  1. 带领项目小组开发项目计划
  2. 带领项目小组平衡计划
  3. 跟踪项目进度
  4. 参与项目总结

2.5.4. 开发经理

  1. 开发优秀的软件产品
  2. 充分利用团队成员的技能

2.5.4.1. 有助于开发经理的技能

  1. 你喜欢创造事物
  2. 你愿意成为软件工程师,并且喜欢带领团队开展设计和开发工作
  3. 你具备足够的背景可以胜任设计师的工作,并且可以领导设计团队开展工作
  4. 你熟悉主流的设计工具
  5. 你愿意倾听和接受其他人的设计思想

2.5.4.2. 开发经理的主要工作内容

  1. 带领团队制定开发策略。
  2. 带领团队开展产品规模估算和所需时间资源的估算。
  3. 带领团队开发需求规格说明。
  4. 带领团队开发高层设计。
  5. 带领团队开发设计规格说明。
  6. 带领团队实现软件产品。
  7. 带领团队开展集成测试和系统测试。
  8. 带领团队开发用户支持文档。
  9. 参与项目总结

2.5.5. 质量经理

  1. 项目团队严格按照质量计划开展工作,开发出高质量的软件产品
  2. 所有的小组评审工作都正常开展,并且都形成了评审 告

2.5.5.1. 有助于质量经理的技能

  1. 你关注软件产品的质量
  2. 你有评审方面的经验,熟悉各种评审方法
  3. 你有协调组织有效评审的能力

2.5.5.2. 质量经理的主要工作内容

  1. 带领团队开发和跟踪质量计划
  2. 向项目组长警示质量问题
  3. 软件产品提交配置管理之前,对其进行评审,以消除质量问题
  4. 项目小组评审的组织者和协调者
  5. 参与项目总结

2.5.6. 过程经理

  1. 所有团队成员准确的记录、 告和跟踪过程数据。
  2. 所有的团队会议都有相应会议记录。

2.5.6.1. 有助于过程经理的技能

  1. 你对过程定义、过程度量非常感兴趣
  2. 你对过程改进非常感兴趣

2.5.6.2. 过程经理的主要工作内容

  1. 带领团队定义和记录开发过程并且支持过程改进。
  2. 建立和维护团队的开发标准。
  3. 记录和维护项目的会议记录。
  4. 参与项目总结。

2.5.7. 支持经理

  1. 项目小组在整个开发过程中都有合适的工具和环境
  2. 对于基线产品,不存在非授权的变更
  3. 项目小组的风险和问题得到跟踪
  4. 项目小组在开发过程中满足复用目标

2.5.7.1. 有助于支持经理的技能

  1. 你对于各种开发工具很感兴趣,熟悉各类工具的适用场合。
  2. 你对版本控制工具很熟悉,也熟悉配置管理流程。
  3. 对于本项目所有工具而言,你都是专家。

2.5.7.2. 支持经理的主要工作内容

  1. 带领团队识别开发过程中所需要的各类工具和设施。
  2. 主持配置管理委员会,管理配置管理系统。
  3. 维护软件项目的词汇表。
  4. 维护项目风险和问题跟踪系统。
  5. 支持软件开发过程中复用策略的应用。
  6. 参与项目总结。

3. SCRUM中的角色

3.1. 典型SCRUM小组角色

  1. 典型SCRUM团队由一名产品负责人、开发团队和一名SCRUM Master组成
  2. SCRUM团队是跨职能的自组织团队

3.2. 产品负责人职责和工作

  1. 产品负责人的职责是将开发团队开发的产品价值最大化。
  2. 产品负责人是负责管理产品待办列表的唯一负责人。产品待办列表的管理包括:
    1. 清晰地表述产品待办列表项;
    2. 对产品待办列表项进行排序,使其最好地实现目标和使命;
    3. 优化开发团队所执行工作的价值;
    4. 确保产品待办列表对所有人是可见、透明和清晰的,同时显示 Scrum 团队下一步要做的工作;以及
    5. 确保开发团队对产品待办列表项有足够深的了解。

3.3. 开发团队职责和工作

  1. 负责在每个 Sprint 结束时交付潜在可发布并且“完成”的产品增量。
  2. 开发团队由组织组建并得到授权,团队自己组织和管理他们的工作。开发团队具有下列特点:
    1. 他们是自组织的。没有人(即使是 Scrum Master)有权告诉开发团队应该如何把产品待办列表变成潜在可发布的功能增量;
    2. 开发团队是跨职能的团队,团队作为一个整体,拥有创建产品增量所需的全部技能;
    3. Scrum 不认可开发团队成员的任何头衔,不管其承担何种工作(他们都叫开发人员)。
    4. Scrum 不认可开发团队中所谓的“子团队”,无论其需要处理的领域是诸如测试、架构、运维或业务分析;同时,
    5. 开发团队中的每个成员也许有特长和专注的领域,但是责任属于整个开发团队。

3.4. Scrum Master职责和工作

  1. 促进和支持 SCRUM
  2. 帮助每个人理解 SCRUM 理论、实践、规则和价值
  3. SCRUM Master 是一位服务型领导。
    1. 帮助 SCRUM 团队之外的人了解如何与 SCRUM 团队交互是有益的
    2. 改变SCRUM 团队之外的人与 SCRUM 团队的互动方式来最大化 SCRUM 团队所创造的价值。
  4. Scrum Master 服务于产品负责人,包括:
    1. 确保 Scrum 团队中的每个人都尽可能地理解目标、范围和产品域;
    2. 找到有效管理产品待办列表的技巧;
    3. 帮助 Scrum 团队理解为何需要清晰且简明的产品待办列表项;
    4. 理解在经验主义的环境中的产品规划;
    5. 确保产品负责人懂得如何来安排产品待办列表使其达到最大化价值;
    6. 理解并实践敏捷性;以及,
    7. 当被请求或需要时,引导 Scrum 事件。
  5. Scrum Master 以各种方式服务于开发团队,包括
    1. 作为教练在自组织和跨职能方面给予开发团队以指导;
    2. 帮助开发团队创造高价值的产品;
    3. 移除开发团队工作进展中的障碍;
    4. 按被请求或需要时,引导 Scrum 事件;以及,
    5. 在 Scrum 还未完全采纳和理解的组织环境中,作为教练指导开发团队。
  6. Scrum Master 以各种方式服务于组织,包括:
    1. 带领并作为教练指导组织采纳 Scrum;
    2. 在组织范围内规划 Scrum 的实施;
    3. 帮助员工和利益攸关者理解并实施 Scrum 和经验导向的产品开发;
    4. 引发能够提升 Scrum 团队生产率的改变;以及,
    5. 与其他 Scrum Master 一起工作,增强组织中 Scrum 应用的有效性。

4. 思考题

  1. TSP和SCRUM的团队的组成有哪些共性些共性对于高效团队有什么帮助/li>

文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux24880 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月1日
下一篇 2022年3月1日

相关推荐