聊聊自驱团队的构建(二)

2024-01-21 12:18
文章标签 构建 聊聊 团队 自驱

本文主要是介绍聊聊自驱团队的构建(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

曾经有一位大佬分享他组建技术团队的心得,当时我问了他一个问题:请问你组建的团队是项目型组织,还是职能型组织。但是大佬似乎对于这个问题没有特别直接的回答,所以在这篇博客中,我想跟大家讨论一下这个问题。

一)职能型组织和项目型组织

职能型组织和项目型组织确实容易混为一谈,虽然二者都是为实现某种目标而由相互协作的个体组成的群体,但项目型组织则侧重于短期任务的实现,而职能型组织却长期存续。

在职能型组织中,团队以固定的组织架构形式,共同承担一个或多个项目。团队成员是一个相对稳定的组织单元,可以充分发挥职能组织的资源集中优势,也容易依托组织中的专家资源,实现资源共享和知识体系的传承,不仅能确保项目的快速推进,也能有利于公司的长期发展。当然,职能型组织也容易形成内部小团队,当需要跨组织共同完成任务时,由于权力和利益分割的问题,容易陷入各自为政的局面。

而项目型组织则是一切工作都是围绕项目进行、通过项目来创造价值。项目组织是一个专门型组织,他的存在的唯一价值就是完成项目。它的优点是目标明确,任务单一,能够基于现有资源实现对需求的最大化响应。它的缺点是成本低效(由于项目存在的唯一价值就是不择手段完成项目,有时可能会造成项目成本和资源的浪费),项目间缺乏知识信息交流,因为知识的积累需要花不少时间,这可能会对项目的进度造成不利影响。

在项目型组织中,根据项目经理对项目资源的控制能力,又有强矩阵,弱矩阵,均衡矩阵的说法。但虽然强矩阵是对项目经理来说最为舒服的一种管理形式,同样也算最有可能造成资源浪费的形式。

这两种架构各有优缺点,例如职能型组织内部实现对资源的复用和知识的共享,如果能够加上项目型组织优秀的执行能力,显然是一剂良方。

二)软件开发模型对团队造成对影响

众所周知,软件开发模型有三种,瀑布型,迭代性,增量型。虽然这只是三种软件开发模型,看似不会影响研发技术团队的沟通形式,但实际上已经无形中已经深入人心,如康威定律一般,默默的改变了一个小团队自身运行的系统架构。

例如,在瀑布型项目团队中,团队之间倾向于通过文档交流,遇到问题首先想到的是优化文档或流程,似乎是一种组织间低效沟通的标志。而敏捷型项目则有助于打破项目组内部对于文档的依赖,单从这一点上看,就能给团队带来不错的生态体系。

当然,无论哪种模式都并非一定正确,例如精密宇航技术都研发,如果用敏捷,估计得玩完,但互联网项目的开发实践,用瀑布模型,似乎用响应太慢了。

虽然将团队管理和项目管理混为一谈是技术管理者很容易陷入的误区,但也得承认,在某些常规软件开发过程中,灵活的运用从敏捷项目管理过程中带来的一些方法,确实也能够有效的推进团队之间关系的进一步融洽,从而构建更加自驱的项目团队。

三) 敏捷项目管理提供对框架

个体和互动 高于 流程和工具
工作的软件 高于 详尽的文档
客户合作 高于 合同谈判
响应变化 高于 遵循计划

也就是说,尽管右项有其价值,
我们更重视左项的价值。

而敏捷宣言所提倡的这几点,都是有利于推动团队构建的实践手段。

1、站会

在敏捷项目管理过程中,站会是一种最基础的实践,团队成员每天早上围着白板站成一个圈,然后再依次回答三个问题:

1、我完成了什么。

2、遇到了什么问题。

3、今天计划完成什么。

站会的主要特点是改变了传统项目管理中由项目经理控制整体项目的模式,改成由团队成员共同参与,在这种情境下,每个人都独立的承担其一部分职责,虽然有Scrum Master或产品负责人组织,但实际上团队成员并未向任何人汇报。

2、敏捷卡牌

传统项目管理模式中,工作量的估算一般都是由主要开发者拍脑袋、或项目经理拍脑袋,而采用了敏捷卡牌,则使工作量的估算多了许多群体决策。

在敏捷卡牌实战中,大家采取这样的实践手段:

1、首先使用某个比较易于评判的功能,作为评估标准.

2、用该标准去评估其他功能的工作量。

3、通过团队群体决策,判断其他任务的工作量,如果多个人评估的结果相差较大,则说明需求未澄清,则澄清需求点,继续评估。

这种实践有助于打破团队间信息障碍,使得功能点的执行更加易于开展。

3、反思回顾会

在项目过程中最难的大概就是经验知识的传承。而在敏捷项目迭代完成后举行的反思回顾会,也恰好是这样一种有利的手段。在反思回顾会上,大家讨论我们上一迭代有哪些事情做得好,希望继续保持,哪些事情做得不好,希望改善,有何改进计划。

对程序员来说,普遍不善于交流,而反思会则给了大家“吐槽”的机会。当然,在实际召开过程中,项目组织者可以尽量减少发言,尽量让团队成员多发言的方式,让团队成员能够自发的提出问题和对应的改进建议,而不是成为个体的一言堂。

四、结语

对于团队而言,最重要的莫过于打破沟通障碍,让团队的成员都能获得尽可能多的表现机会,而依托敏捷项目管理提供的许多框架,则可以成为这样的利器,为构建团队带来便利。

这篇关于聊聊自驱团队的构建(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/629517

相关文章

基于Python构建一个高效词汇表

《基于Python构建一个高效词汇表》在自然语言处理(NLP)领域,构建高效的词汇表是文本预处理的关键步骤,本文将解析一个使用Python实现的n-gram词频统计工具,感兴趣的可以了解下... 目录一、项目背景与目标1.1 技术需求1.2 核心技术栈二、核心代码解析2.1 数据处理函数2.2 数据处理流程

Python FastMCP构建MCP服务端与客户端的详细步骤

《PythonFastMCP构建MCP服务端与客户端的详细步骤》MCP(Multi-ClientProtocol)是一种用于构建可扩展服务的通信协议框架,本文将使用FastMCP搭建一个支持St... 目录简介环境准备服务端实现(server.py)客户端实现(client.py)运行效果扩展方向常见问题结

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

一文教你Java如何快速构建项目骨架

《一文教你Java如何快速构建项目骨架》在Java项目开发过程中,构建项目骨架是一项繁琐但又基础重要的工作,Java领域有许多代码生成工具可以帮助我们快速完成这一任务,下面就跟随小编一起来了解下... 目录一、代码生成工具概述常用 Java 代码生成工具简介代码生成工具的优势二、使用 MyBATis Gen

Python使用Reflex构建现代Web应用的完全指南

《Python使用Reflex构建现代Web应用的完全指南》这篇文章为大家深入介绍了Reflex框架的设计理念,技术特性,项目结构,核心API,实际开发流程以及与其他框架的对比和部署建议,感兴趣的小伙... 目录什么是 ReFlex?为什么选择 Reflex?安装与环境配置构建你的第一个应用核心概念解析组件

Python+wxPython构建图像编辑器

《Python+wxPython构建图像编辑器》图像编辑应用是学习GUI编程和图像处理的绝佳项目,本教程中,我们将使用wxPython,一个跨平台的PythonGUI工具包,构建一个简单的... 目录引言环境设置创建主窗口加载和显示图像实现绘制工具矩形绘制箭头绘制文字绘制临时绘制处理缩放和旋转缩放旋转保存编

Java中的StringBuilder之如何高效构建字符串

《Java中的StringBuilder之如何高效构建字符串》本文将深入浅出地介绍StringBuilder的使用方法、性能优势以及相关字符串处理技术,结合代码示例帮助读者更好地理解和应用,希望对大家... 目录关键点什么是 StringBuilder?为什么需要 StringBuilder?如何使用 St

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

一文详解如何从零构建Spring Boot Starter并实现整合

《一文详解如何从零构建SpringBootStarter并实现整合》SpringBoot是一个开源的Java基础框架,用于创建独立、生产级的基于Spring框架的应用程序,:本文主要介绍如何从... 目录一、Spring Boot Starter的核心价值二、Starter项目创建全流程2.1 项目初始化(