软件项目组织架构安排

2023-05-16

        这个主题涉及到三个方面,项目计划管理、组织管理和技术管理范畴。

        项目计划管理是项目管理中的一个大篇章,包括时间计划、成本计划、费用计划等在内的各类计划管理,不是本文章所谈的范围,只是本文主题涉及到了其中一点点内容重合,那就是时间和WBS的制定。

          从软件企业整体的组织架构来说,不外乎包括项目型、职能型、矩阵型几类。当然其中有偏项目型的组织结构,偏职能型组织结构。其实这也是各行业企业组织结构的基本情况,只是这几类还可以继续细分,如职能型可以按技术专业内容分,也可以按业务领域分,这是属于软件企业组织管理的范畴,细歌的文章《软件企业组织》有介绍相关内容。之所以说技术管理和项目管理即有所属关系又有交叉关系  是因为项目经理可以归属于技术总监职责之下,也可以归属于职能部门经理职责之下,更贴切点应归属于项目总监职责之下。但项目总监在很多公司没有单独设立的,当然项目总监这个角色 对于项目型企业和偏项目型企业是非常有必要的。

        项目管理整体来说是技术管理是一个分枝,但又不完全包括在技术管理范围,应该说大部分是所属关系,少部分交叉关系,这里视情况而定。从项目完整周期来看,只有某阶段是技术管理范围,而从软件项目研发管理来看,就是完整的技术管理范围。
 

管理关系图

        项目组织管理包括项目人员计划 OBS 、团队组建、团队建设等内容。人员计划和OBS是本文的主题核心内容。而团队组建与团队建设是对人员计划与OBS的执行。在细歌后面的文章会一一聊到。

        项目人员与组织计划
         项目立项之初,编写项目章程时就是开始编写项目组织计划。对于软件和信息系统项目来说,人员和团队是项目成功的决定因素。项目目计划的产出与成果是OBS、RAM 。一般中小项目而言则可以简单的制定人员配备职责表

  •         干系人和各方利害关系

          项目干系人或叫作项目利益关系人,是包括项目当事人及其利益关系受项目影响的个人和组织。项目干系人管理也是项目组织管理内容,具体在细歌的文章《项目干系人与项目团队管理》中重点介绍。 项目团队也可以称为项目实施团队,是项目干系人的一部分。我们项目建设和开发目标就是以最少的成本代价最大化的满足系统用户的需求,为企业和团队创造最大化的价值。项目干系人包括外部干系人和内部干系人以及第三方的相关人员,同样,项目实施成员可以是乙方独立团队,也可以是甲乙双方联合团队,有时也可以是多方联合团队。如某些上规模的项目,业主方、甲方、乙方、还有承包单位各派代表来建设实施,指定某一方为主导即可。所以干系人的需求与期望,团队实施成本,专业水平,成员特点都是要考虑的。如果是乙方独立团队,那么已有的成员技能要求,和人员特点及公司内部的人员情况要考虑。

  •         项目规模与项目自身的特点

        简单点说就是项目越大,团队越大,分工越细,所需人员越多。比如某能源信息化项目,由甲乙双方共同成立项目组,项目成员达20多人,双方各派项目经理,由甲方项目经主导业务,乙方项目经理负责技术实现,同时甲方还要向乙方委派一名领域专家配置业务分析。然后就是不同技术范围的项目有不同的技术岗位,比如项目需求中明确有做Ios应用的内容,那么需要Ios开发人员,如开发技术规定采用Openstack框架,数据库采用分布式DB Redis进行开发实施,那么要配备熟悉大数据开发人员。不管如何,在软件项目管理里很少有说每个技术内容都配备一个专职负责的,项目基本都是一人多岗一岗多能,所以我们都看到程序员们整天加班中…,特别是在小公司,其中都是全能全要做,这近网络上炒的沸沸扬扬的996.ICU来源也是在这里,都上人民日报了,见这里。同时很多项目团队成员都是跨项目的。一般从规模上讲,超过10人实施团队的项目都可以叫得上大规模的项目了。曾参与过60多人团队的项目。还有一点就是内部自营项目和外部承接项目的项目组织也是不一样的。

  • 项目章程、项目计划与项目管理方式。

        有些项目是在项目章程中已指定需要多少人的团队,大概怎么样水平的关键岗位,这时就要按要求组建相关团队。而项目计划中则要考虑组织计划, 成本预算、人力资源计划等。比如公司财务预算指标和公司上面已规定团队人员数指标不能超过多少人。还有在立项报告和项目计划中的工时人天数要求等,这些都是项目团队组织计划的输入因素。

        项目的管理方式包括RUP方式、原型法、XP法、敏捷管理方式等。开发à测试à运维  和现时流行DevOps方式等。而选择什么样的方式就决定什么样的团队组织框架。

  • WBS

        项目计划中最为重要的一项工作就是制定WBS,这是由项目经理完成的,也可以是项目经理和需求分析师或架构师共同完成(关于系统分析师和框架师的关系区别见细歌文章《软件系统分析师与架构师技能大PK(您具备了哪些呢?) 》)。而WBS制定后就表示项目有哪些事情要做,下一步就是由谁来做的问题。解决完之后,OBS也就编写完成了。

  • 现有公司组织管理框架和技术管理框架。

      项目管理是公司管理的一个子集,项目组织所需人员需要按公司整体的经营生产规划进行。如对人员成本的控制,团队规模的控制 ,对项目范围的控制等。项目组织计划制定是要考虑这些约束指标,不能超出这些指标。同时技术管理决定的了项目采用的技术路线,就决定着团队组建所需的技术人员要求。

  •   OBS&RAM

       项目组织计划的输出就是OBS和RAM。 OBS是组织结构分解,RAM是职责分配矩阵。来点俗话就是:这个项目要多少人,要什么样的人,哪些人分别做哪些事。OBS宜采用岗位说明,不应固定到人名。

典型的项目开发实施组织结构

        软件项目组的岗位组成包括:项目经理、业务(需求分析员)、架构师、领域专家、开发人员、测试人员、工程人员、监理、配置管理员、QC&QA、美工、UI 等。其中开发人员是最主要的组成部分,根据技术路线和要求定岗,可以分前端开发、后端开发、数据开发、大数据开发、算法工程师、通讯开发、三维开发等,又或按语言和框架或开发平台来分。每个岗位的职责这里不做介绍,是一个值得交流的话题,欢迎加Q群746333240 讨论交流。


        项目组人数非常灵活:少时1人即可,1个人搞定一个项目的也不少见,多时可以到上百人。开发和测试是软件项目组的主体和核心组成,是不可以缺少的。根据项目团队人数规模可以分为如下几种。

        微型
        1到4人 ,重点突出开发、测试工作内容。适时寻找美工出部分效果。
        小型
        4到10人:项目经理一人,兼需求分析工作;前端开发1至2人,后端开发1-4人;测试1-2人;美工兼职。
        中型
        10至50人:包括项目经理、业务专员、领域专家、开发人员、测试人员、美工、QC、运营人员。也可以外接平台或技术小组。
        大型
        50人以上规模的团队是大型的项目团队了,当一个项目涉及到多单位联合参与,分工协作时,当预算到一定程度时,比如微软当年的视窗操作系统,比如近轻国家部级单位推动一个平台项目型项目,包括总体单位,总包,一、二级分包单位,项目规模都达上千人参与。  这类型的项目,基本每个角色都有一至多人担任。


        考虑一人多岗一岗多能情况,项目经理可兼任业务分析领域专家,需求人员可以兼测试人员,测试人员可以兼QC,美工可以兼测试,架构可兼核心开发人员。 但测试与开发不能同时兼任,QC与开发不能同时兼任。关于人员配置多少和可兼顾职责是一个值得讨论的话提,欢迎加入QQ群746333240 讨论交流。

         简单点说就是项目越大,团队越大,分工越细,所需人员越多。比如某能源信息化项目,由甲乙双方共同成立项目组,项目成员达20多人,双方各派项目经理,由甲方项目经理主导业务,乙方项目经理负责技术实现,同时甲方还要向乙方委派一名领域专家指导业务分析。然后就是不同技术范围的项目有不同的技术岗位,比如项目需求中明确有做Ios应用的内容,那么需要Ios开发人员,如开发技术规定采用Openstack框架,数据库采用分布式DB Redis进行开发实施,那么要配备熟悉大数据开发人员。不管如何,在软件项目管理里很少有说每个技术内容都配备一个专职负责的,项目基本都是一人多岗一岗多能,评时网络上谈论比较多的的程序员们整天加班中…,过劳问题等,特别是在小公司,其中都是全能全要做,这近网络上炒的沸沸扬扬的996.ICU来源也是在这里,都上人民日报了,见这里 。同时很多项目团队成员都是跨项目的。一般从规模上讲,超过10人实施团队的项目都可以叫得上大中规模的项目了。曾参与过60多人团队的项目。还有一点就是内部自营项目和外部承接项目的项目组织也是不一样的。

 

        还有重要的一点就是项目人员配备在项目不同阶段是不同的,从商务-->前期-->方案-->分析设计-->开发-->测试-->交付-->运维。整个过程每个阶段有每阶段的人员投入。当前比较流程的敏捷管理方式,测试在一就要入,不需要完整的文档,设计与开发同步进行,快速迭代等方法,任务看版,随时沟通。所以在分析设计时不需要投入多少设计力量。

        OBS、WBS确定后,制定RAM,RAM在项目实践中用得比较少,本人从事项目管理工作过程中倾向于直接采用项目人员与岗位配置表。
        当然以上整个项目组织计划和架构的发布都是理论上的。而实际项目过程中本人的原则是能口头沟通解决的不多一行文字,能打字解决的不多一行Coding。特别是在小公司,基本没有正式的计划和组织构架,机动性很高,重点是沟通协调。 而本人更倾向少小团队协作。

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软件项目组织架构安排 的相关文章

随机推荐

  • maven web项目执行install异常:org.apache.maven.plugin.war.util.WebappStructure

    INFO Packaging webapp INFO ERROR FATAL ERROR INFO INFO Cannot construct org apache maven plugin war util WebappStructure
  • 配置linux主机静态ip和网关

    网上还是百度了比较多 xff0c 具体参考已经记不清楚了 xff0c 也就不写了 不过还是要感谢各位大佬之前的分享 xff0c 还有一些分享了网络知识的 xff0c 有兴趣可以自己百度去看了 这篇只大概记录需要配置哪些东西 xff0c 大概
  • adb命令 提取已安装的apk

    获取包名 通过 adb shell pm 命令 xff0c 可以打印当前手机安装的所有 apk 的包名 adb shell pm list packages 根据包名查找 APK 对应的路径 所有安装完后的apk xff0c 其实都存在手机
  • python 语言基础 - 你不得不知道的字符串常用函数之isalpha

    前言 小伙伴们大家好 xff0c 每天一个小知识 xff0c 一起学python每天进步一点点 不知道小伙伴们在开发的时候有没有遇到这样一种场景 xff0c 有时候一些业务需要 xff0c 想要判断一个字符串是不是由纯字符组成 xff0c
  • python 语言基础 - 你不得不知道的字符串常用函数之isdigit

    前言 小伙伴们大家好 xff0c 每天一个小知识 xff0c 一起学python每天进步一点点 上一篇文章中为大家分享了关于判断字符串是否全都是由字符组成的函数isalpha xff0c 今天要给大家分享的依然是判断字符串组成的函数isdi
  • uni-app,选择器使用

    1 uni app 选择器使用示例 xff1a let view 61 uni createSelectorQuery in this select 34 grade btn 34 view fields size true scrollO
  • CSRF漏洞修复建议

    1 关于CSRF 跨站请求伪造 xff0c xff08 Cross site request forgery xff09 是一种对网站的恶意利用 CSRF作为一种跨网站的攻击方式 xff0c 不同于XSS站内攻击 CSRF是通过伪装成受信任
  • centos6和centos7的防火墙基本命令

    一 centos6 xff1a 1 firewall的基本启动 停止 重启命令 查看防火墙状态 xff1a service iptables status etc init d iptables status centos6启动 停止防火墙
  • django中vue的使用

    转载 xff1a https blog csdn net qq 21389693 article details 105734696 后端使用vue的目的 后端使用vue的目的就是把ajax里面的数据绑定到前端 xff0c 实现动静分离 V
  • centos7更新yum源

    1 centos7安装后 xff0c 默认yum源配置文件位置 xff1a vi etc yum repos d CentOS Media repo 2 下载新的国内yum源 centos自带的是国外yum源 xff0c 下载速度相当慢 换
  • 临时出差宁波随笔

    因公司吉利项目收尾工作 xff0c 需到客户现场施工 主要负责软件项目的质量查验 xff0c 及相关问题修复 一千多公里的路程 xff0c 坐高铁7小时左右 xff0c 真是体验了中国速度 一路由西北而向东南直下 xff0c 抵达舟山群岛附
  • GitHub Copilot

    介绍 GitHub Copilot 是人工智能编程助手 xff0c 它可以帮助你编写程序 在你用visual studio或visual studio code等软件设计工具进行编程时 xff0c 它可以直接给你整行或整个方法的代码提示 x
  • 微信小程序头像昵称填写功能

    自 2022 年 10 月 25 日 24 时后 xff08 以下统称 生效期 xff09 xff0c 用户头像昵称获取规则将进行如下调整 xff1a 自生效期起 xff0c 小程序 wx getUserProfile 接口将被收回 xff
  • mysql 5.7设置数据库大小写敏感

    1 此处讲的是windows环境下的mysql配置 xff0c 小编用的是win10系统 xff1b 2 安装完mysql后 xff0c 数据库默认是大小写不敏感的 xff1b 3 修改my ini文件 xff1a C ProgramDat
  • eclipse 护眼色设置

    1 调整eclipse editor区域背景色 背景颜色向你推荐 xff1a 色调 xff1a 85 饱和度 xff1a 1 2 3 亮度 xff1a 2 0 5 文档都不再是刺眼的白底黑字 xff0c 而是非常柔和的豆沙绿色 xff0c
  • Js apply方法详解,及其apply()方法的妙用

    Js apply方法详解 我在一开始看到javascript的函数apply和call时 非常的模糊 看也看不懂 最近在网上看到一些文章对apply方法和call的一些示例 总算是看的有点眉目了 在这里我做如下笔记 希望和大家分享 如有什么
  • 如何安装双系统之ubuntu安装

    如何安装双系统之ubuntu安装 1 首先在Windows下对磁盘分出一块空闲分区大概100G左右 2 然后下载Ubuntu16 04镜像 xff0c 制作启动盘 3 重启电脑 xff0c 按住对应的键 xff08 不同电脑型号可能不同 x
  • 场景分类综述——Remote Sensing Image Scene Classification Meets Deep Learning

    一 场景分类面临的挑战 场景分类的挑战包括 xff1a 1 类内多样性大 xff0c 2 类间相似性高 也称为类间可分性低 xff0c 3 对象 场景尺度的差异大 就类内的多样性而言 xff0c 挑战主要来自于在同一个语义类中出现的地物的巨
  • 配置服务器的磁盘阵列并正确分区

    磁盘阵列 xff0c 即独立磁盘冗余阵列RAID xff08 Redundant Array of Independent Disks xff09 xff0c 其实就是一个将多块独立磁盘结合在一起 xff0c 从而提高数据的可靠性和I O性
  • 软件项目组织架构安排

    这个主题涉及到三个方面 xff0c 项目计划管理 组织管理和技术管理范畴 项目计划管理是项目管理中的一个大篇章 xff0c 包括时间计划 成本计划 费用计划等在内的各类计划管理 xff0c 不是本文章所谈的范围 xff0c 只是本文主题涉及