03. Group Dynamics

 

知识工作的领导者具有什么特点?

  • 诚实,高级的技术和知识,有远见卓识的,启发灵感的

领导者3种主要的激励方式?

  • 威逼 :属于交易型领导方式
  • 利诱:经典场景是“若好好工作,可能能够得到奖金,休假等”。属于交易型领导方式
  • 鼓励承诺:会完成工作的人,他自己来说他觉得需要多小时间来完成。属于转变型领导方式

按照 Maslow’s 需求层次理论来说威逼,利诱,鼓励承诺处在哪一层?

Picture1

  • 威逼 :工作的动机是‘工作的安全感’ 第二层
  • 利诱 :要么是第一层,要么是第二层
  • 鼓励承诺:工作的动机是得到别的人的认可,尊重。至少是第四层
  • 鼓励承诺的激励层次比威逼,利诱更高 。因此,它应该成为知识工作者在激励的时候效率好的方式

为漫长而富有挑战性的项目提供中间反馈,为什么这么做?

  • 原来通过里程碑看看进度有没有落后,项目有没有偏差。
  • 但是里程碑提供另外一个视觉,它是一个“小目标”
  • SCRUM :第一个Sprint周期的时候,它会做一个特别小任务。为了建立激励水平。
  • TSP :Team Building 阶段,也是设置一些小任务。设定一个小目标

Expectancy Theory

  • Motivation = Valence x Expectancy (Instrumentality)
  • 人们在两种情况下面,会得到极大的激励 :
    • Valence :人们相信自己的努力很可能会产生成果的结果
    • Expectancy:人们也相信自己会因为成功得到相应的回报
  • 激励水平有两个重点的因素 :成功的概率,获得这个回报
  • 大部分的场景下,’Expectancy’ 不会变化
    • 软件项目来说,完成了一个项目,通常能够获得的回报是一定的。
  • 这种情况下,你要提升激励水平的重点考虑是 ’Valence’
    • 就是你让大家觉得成功的把握提升
  • 提高’Valence’的两种方式
    1. 现实扭曲立场
    2. 拿出数据来说话 :选择合适的数据,让你相信这个成功

在SCRUM当中有story point,描述工作量用斐波那契数列。为啥?

  • 因为经过大量的开源项目的统计发现,模块的大小如果规格化之后基本符合斐波那契数列。

自主团队

  • ⾃主团队的含义:
    • 软件开发一种智力活动,开发者是智力劳动者
    • 实现软件⼯程师的⾃我管理可以获得最好的⼯作效率和质量水平
    • 所以若整个团队的所有成员都实现自我管理,就形成所谓的自主团队
  • 需要具备的特点 :
    • 自行定义项目的目标
    • 自行决定团队组成形式以及成员的角色
    • 自行决定项目的开发策略,定义项目的开发过程,制定项目的开发计划

支持自主团队

Picture2

  • PSP :个人技能培养
    • PSP指出在于它明确定义了作为一个个体软件工程师你应该具备的管理技能是什么
    • PSP就整个TSP方法来说,它的作用是为团队成员做准备一些管理技能
  • TSP :团队组建过程
    • 主要的目的是形成一个规范
    • TSP LUNCH 是团队组建过程
  • TSP :团队工作过程
    • 主要的目的是形成一个管理

TSP Launch

Picture3

会议 干啥?
1 - 通常是有管理层或者客户的代表跟开发团队在一起讨论项目
- 管理层或者客户的代表来介绍这个产品目标,以及做该产品过程当中要实现的那一些业务目标
- 开发团队主要是听众,以及问大量的问题
2 - 角色分配
- 项目当中,项目小组的目标和公司级的目标有些方面可能是一致,但是有些方面可能是不一致,甚至就是对立的
- 这些目标应该在项目正式开始之前协调好。所以需要做小组目标定义
3 - 开发流程定义 :比如生命周期模型作为一个主框架,根据项目的实际的状况去定义出来
- 主持人是“开发经理”
- 策略选择 :比如很多模块打算自己做呢?外包给别人做呢?
4 - 整体计划 :讨论很清楚关于每个任务需要多小人事,顺序等等
5 - 质量计划
6 - 个人计划
- 计划平衡:因为每个人能贡献的资源水平是不一样
- 计划平衡最后实现的效果 :所有人同一天完成任务
7 - 风险评估
- 应当去罗列尽可能多的风险。从而体现出你对这个项目的思考是比较充分的,比较全面的
8 - 准备向管理层汇报计划
9 - 向管理层汇报计划内容

领导者 🆚 经理

  • 团队领导者 : 很多时候自营方向,不应该说做日常管
  • 角色经理 :日常事务管理,不需要调整方向,开辟路线

TSP团队是怎么来组成的?

  • 项目组长 :应当向管理层提供项目进度相关的完整信息,激励团队成员努力工作
  • 计划经理 :带领项目小组开发项目计划,平衡计划
  • 开发经理 :整个项目团队技术最强的,充分利用团队成员的技能
  • 质量经理 :带领团队开发和跟踪质量计划
  • 过程经理 :定义开发流程,规范
  • 支持经理 :工具的专家,统一整个开发环境.(若有更好的工具)工具进行更新

SCRUM小组角色?

  • 产品负责人 :负责Backlog,决定软件产品的发展和走势
  • Scrum Master :一位服务型领导,帮助每个人理解 SCRUM 理论和价值
    • TSP里面发现某个评审诡异,那么过程经理来定义评审你应该怎么做。
    • 在这个方面来看,Scrum Master跟“过程经理”的角色是很像
  • 开发团队
  • 有点像 开发团队 + SCRUM Master = ‘ TSP团队’

《Reference》

  1. 2020年(秋) 软件质量与管理 : 荣国平