[原创] 敏捷软件开发管理实践 (一) ——让人的资源多起来

苍狼敏捷软件开发团队建设指南-3-干系人管理 本指南的组成结构为了便于博客阅读,拆分成如下3部分: 1. 苍狼敏捷团队模型 2. 团队建设 3. 干系人管理干系人管理基础干系人管理是为了帮助团队在计划阶段识别组织内外部的干系人,在团队全生命周期当中计划并跟踪干系人的参与活动,以保障团队的成功。干系人又称为相关利益者。下文交待了干系人的基础说明,列举了潜在的干系人,给出了干系人管理策略和典型的干系人参与的活动。说明了如何识别干系人及其 阅读详情

敏捷软件开发管理实践 (一) ——让人的资源多起来

第1部分   开篇语

         项目管理作为一门独立的学科,已经发展了很多年,并为实践提供了丰富的理论依据。而软件开发的项目管理,虽然也属于传统项目管理的范畴,但是由于软件工业本身的特点,很多在传统项目管理理论中被证明行之有效的理论和方法,拿到软件开发的项目实践中却常常达不到预期的效果。软件开发的项目管理与传统项目管理的这种差异究竟在哪里呢?这个问题已经有很多人在研究并成果丰富,一致的结论性的原因就是:软件开发中的项目管理本质是人的管理。

       人作为项目管理的主要素主导着整个项目的成功和失败,所以对于软件项目开发管理者来说,需要引起足够重视的一点就是要重视人——在软件开发中,这将主导技术、效率、质量。


      人在项目中的决定作用

 

       本文内容上没有阐述敏捷项目管理与普通项目管理的区别,也没有完全按照计划——分工——执行三个环节来论述,更多的是作者随想随写的一些经验之谈。软件的项目管理也是整个软件工业没有“银弹”的一个重要方面,很多时候,经验比理论占据更重要的地位。文中的很多内容对于有实际项目管理经验的同行来说,可能能够产生一些共鸣,如果这样,本文就起到总结经验的作用。对于那些尚未有取得这些经验的同行来讲,本文中的实际案例和场景可以帮助增进这些读者的感性认识。

第2部分   让人的资源多起来

       软件项目开发的核心资源就是人,在一定的项目规模和资本规模下,人的资源是受限的。项目中考虑人的资源常常以人数来计,但是实际中我们都清楚,工作量是以任务来分解和总和的。这就说明人和任务之间存在一个关系,这个关系就是角色。

1.1. 角色(Role)

角色是对工作任务的职责抽象,与具体的职位有着区别。一般情况下,角色和职位是多对一的关系。敏捷风格的项目管理认为在产品(软件)开发过程中,成员所承担的角色虽然有其固定的一面,但是可以赋予它更多变化来改变工作的分配模式。举例来说,A的职位是项目经理,但是同时也是优秀的设计师,那么,可以认为A承担了项目经理和设计师两个角色。

在软件开发管理中,角色其实非常丰富。常见的角色如:项目经理、需求分析师、系统设计师、开发工程师、测试工程师。对于大型项目,比如基于J2EE的项目,根据实际项目中的技能需求,需要各种类似专家的角色,比如人机界面工程师,部署工程师,配置管理员,DBA等。

敏捷的项目管理中要求角色不是固定的,一人可以担任多个角色,这样才可以充分利用已有的资源。如同电网的电力资源一样,资源的存在和分布有时是难以改变的,但是其是否充分利用依赖如何调度。

角色是项目中任务的具体承担对象,从角色角度而不是职位角度考虑资源的分配,有利于合理分工,保持资源的平衡。对于存在多个项目并行工作的情况,这一点非常有意义。我们知道,一个公司的DBA不会太多,多个项目并行工作的时候,可能各个项目都需要DBA的协助,但是从人员编制上,DBA可能仅隶属于某个具体的项目组。这个时候如何解决资源的分配呢?同样,优秀的架构师对于整个公司来说也会是稀缺资源,我们如何让这些稀缺资源发挥更大的作用呢?当然,可以考虑从人力资源编制上解决这个问题,比如成立独立于跨项目组的专门的架构师组,总体设计组等。但是,实际情况往往是人力资源制度的改革步伐永远会远远落后于实际需要。况且,从资源模型本身来看,资源本质上是与角色捆绑的而不是与职位捆绑的。

资源和角色并非捆绑
    
    从管理的角度,我们希望资源可以最佳利用。绕过人力资源编制,实际上可以采取特殊的运作模式来达到这一目的。方法就是,赋于比职位多得多的角色,让人具备多个可分配的单位。在这一点可以用
CPU的多线程来比喻。

案例:

2001年的时候,公司有Milkyway和Apollo两个项目在同时运行,两个项目都是电子政务项目,采用J2EE技术实现。当时公司是首次接手电子政务项目,对于Web页面所需要的大量美工虽有考虑,但是最终只招聘到一个合适人选。在Milkyway项目组中,大家都知道开发人员Alen喜好摄影,其实是一个图形制作爱好者,Photoshop高手。当美工资源已经成为事实上的开发瓶颈时,我给领导提出了一个建议:是否可以让Alen也充当美工角色呢?可以在开发任务上为Alen消减一半,让他有另一半的时间去让我们的工作产品漂亮起来。后来跟Alen商量让他兼美工这一角色,他愉快地答应了。我想,对于一个图形制作爱好者来说,还有什么工作比干自己喜欢的事情更愉快呢!

1.2. 虚拟团队(Virtual Team)

虚拟是相对现实而言。虚拟团队一经发明,已经在互联网上广泛流传。所谓虚拟团队,是指没有实际的组织形态,但是有具体的任务目标;团队成员虽然来自各方,但是为着共同的任务目标而进行工作。

虚拟团队和实际团队比较,优势在于:组建灵活,反应快捷。

实际的团队往往根据长远的任务目标而设立,一经设立,成员即往往有了固定的身份。比如,项目组往往根据产品模块的任务目标而设立,一般来说在项目的生命周期中会一直存在下去。但是实际的项目工作开展过程中,一方面存在很多跨项目组的工作要做,另一方面存在很多短期的任务需要调度资源完成,这个时候固定的团队就难以胜任工作任务的分配。

虚拟团队本质上是根据任务对资源的临时性组建。前面我们已经通过角色把资源独立化了,现在通过虚拟团队,我们可以把独立的资源再通过任务目标而集中起来。

案例:

在上面谈到的Milkyway和Apollo两个项目案例中,当Milkyway项目推进到开发完成60%的时候,系统的基础框架已经基本可以在浏览器中看到。这个时候,架构师发现系统的响应很不理想,这个发现其实并不出乎意外。尽管公司是首次接手基于Web的项目,根据多年的经验还是预测到了可能存在的性能瓶颈。目前的任务就是需要立即组织部分专家来诊断性能瓶颈的准确所在,并敦促项目组成员调整代码。可是面临的问题是公司的测试工程师并不熟悉基于Web项目的性能测试,如何寻着额外的资源呢?另外,还有一个问题,性能问题来源于架构和代码,需要对系统结构和代码最熟悉的系统设计师和开发人员参与才行。这个时候Apollo项目正进入详细编码开始阶段,根据任务分配情况,管理层觉得部分设计师可以抽调部分时间来参与Milkyway项目的性能优化。为此,成立了Milkyway项目性能优化虚拟团队。

Milkyway性能优化虚拟团队

组成成员:

1.          所有Milkyway项目的开发成员和设计师

2.          Apollo项目组的Wiki和Polo(两位经验丰富的设计师)

负责人:

Wiki担任负责人和组织者。

目标:

         全方位优化Milkyway的性能,达到客户认可的各项系统响应时间指标

任务:

1.          一周内给出Milkyway项目的性能测试报告和性能优化具体指标

2.          三周内给出一期优化分析报告

3.          持续跟踪性能,从第四周起,每两周给出性能测试报告

执行:

1.          Milkyway的所有成员需要配合Wiki的组织工作,并接受安排的合理任务

2.          Milkyway项目经理Cobo协助Wiki安排工作

3.          测试部经理Anny,配合Wiki安排测试设备和数据准备。

 

 

<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/javascript> </script>
敏捷项目管理 与传统项目管理有什么关系? 在理解敏捷项目管理之前,我们先看一下它与传统项目管理之间有什么联系和差异。 传统项目管理模式,一般指瀑布模式。它必须完成上一阶段工作并通过检验才能启动下一阶段工作,将整个项目过程划分为五大过程组。 而敏捷项目管理模式,一般包含迭代和增量。它将整个项目过程拆分为若干个迭代,每个迭代完成一部分用户可感知的完整功能。一般情况下,每个迭代内的项目过程均遵循五大过程组。 传统项目管理模式与敏捷项目管理模式之间存在的差异,可以总结如下: 瀑布模式 .. 阅读详情

相关推荐

【原创】基于禅道的敏捷开发管理实践

以下是我在一个长期项目研发过程中采用敏捷思想进行项目开发管理的成功实践,供大家参考   一、项目背景     1、这是一个长期维护,需要不断扩展功能的O2O平台,系统本身包含多达13个子系统,且还在不断增加中 2、系统采用了“组件化架构”,各个组件之间实现了脱藕,可以各自单独扩展 3、开发资源严重匮乏,程序员严重不足,且其中能独立工作的程序员比例很低  

lsx78的专栏 2255

项目资源管理的重要性以及全过程指南

资源管理是项目管理的一部分,负责规划、组织、管理和评估工作。目标是尽可能高效地规划、分配和安排公司资源,通过最大化资源的使用率达到目的。简而言之,项目资源管理的目的是确保最佳地使用组织的资源,保障项目各环节顺利且高效运行。它帮助回答这个问题:为了按时、符合预算交付项目,需要做什么?以最高效的方式规划、组织、安排和管理项目的资源——包括人员、工具、设备、技术和设施,以最大化资源使用率,确保项目各要素的最佳利用。资源被定义为为了完成任务或项目可以规划或预定的任何事物或任何人。资源的类型根据不同行业而异。

柚橙论 1203

强烈推荐:10本关于敏捷项目管理的书籍

敏捷软件开发宣言的宣言中使用后,在其标题中带有“Aglie”一词的书籍开始出现在IT专家和其他行业专业人士的书架上。Agile描述了一种软件开发方法,其特点是生命周期短,快速频繁的产品发布。 今天,这种迭代或增量方法影响着开发和业务的各个方面,包括项目管理。学习敏捷的最佳来源是什么?这篇文章涵盖了10本强大的书籍,可以提高项目经理及其团队的技能。 你读过的关于敏捷方法或项目管理的最新书是什么...

Rubin智造社|关注AI,AI驱动制造的先锋阵地,聚焦大模型、智能制造、智能电子产品三大核心 6771

软件开发项目管理秘籍:策略解析与实战指南

项目主管应利用资源利用图等报表,衡量每个团队人员的工作饱和程度,关键时刻给出正确的决策,以确保项目资源的合理分配。因而,软件开发的时候需要有项目主管等角色,统一协调和处理各种开发任务,避免群体认知偏差,确保团队人员可以积极开展项目,共同推进项目的不断发展。为了确保项目的成功,项目经理必须与开发团队进行深入有效沟通,确保团队人员不但掌握,并且与客户建立一致的视角和项目目标。但是,在敏捷和积极的执行过程中,这类单独的思维模式是不可行的,甚至可能导致项目偏离轨道。,给软件开发项目管理团队的一些宝贵的经验,例如。

dunniang的博客 455

敏捷开发-Scrum和实践

软件开发所面临的挑战和任务是在现有的时间和有效的资源范围内,寻找解决实际问题的切实可行的方案。在众多软件项目中,缺乏合理的时间进度是造成项目滞后的最主要的原因,它比其他所有因素加起来的影响还大。导致这种普遍性灾难的原因是什么呢? 首先:我们对估算技术缺乏有效的研究,更加严肃地说,它反映了一种悄无声息,但并不真实的假设一切都将运作良好。 第二:我们采用的估算技术隐含地假设人和月可以互换,错误地将进度与工作量相互混淆。 第三:由于对自己的估算缺乏信心,软件经理通常不会有耐心持续地进行估算这项工作。 第四:对进

福如意的博客 1万+

一人公司的敏捷财务管理与预算控制

一人公司的敏捷财务管理与预算控制 关键词: 敏捷财务管理、预算控制、一人公司、数字化工具、自动化、成本管理 摘要: 本文旨在探讨敏捷财务管理与预算控制在小型一人公司中的重

AI天才研究院 831

敏捷项目中的资源管理

作者 Vikas Hazrati 译者 郑柯 发布于 2009年6月23日 下午9时47分 社区 Agile 主题 敏捷实施, 企业级敏捷 标签 最佳实践 很多人都知道:敏捷项目可以解决快速变更带来的问题。这些变更可能来自市场、系统 需求或是具体实现技术。然而,敏捷项目似乎对一种变更处理不好,就是项目人员的频繁变化。在实施敏捷的组织中,人们要想在项目间分配人力,经常面...

ds590的专栏 249

一人公司的敏捷开发:快速响应市场需求

一人公司的敏捷开发:快速响应市场需求 敏捷开发,一人公司,市场需求,快速响应,个体工作,质量管理,风险管理,持续集成 本文将探讨敏捷开发在一人公司中的应用,分析敏捷开发的基础、流程、风险管理以及一人公司面临的挑战与应对策略。通过具体案

AI天才研究院 731

Scrum敏捷项目管理

Scrum 敏捷开发,敏捷方法是一类软件开发流程的泛称;敏捷方法是相对于传统的瀑布式软件过程提出的;敏捷方法可以用敏捷宣言(4条)、敏捷原则(12条)来概括;敏捷原则通过一系列的敏捷实践来体现出来;敏捷方法有很多种。敏捷的方法(Agile Mthods):Extreme Programming (XP)极限编程ScrumAdaptive Software Development (ASD)自适应软件开发。

kong7906928的博客 4013

一人公司如何实现产品的快速迭代开发和敏捷上线

《一人公司如何实现产品的快速迭代开发和敏捷上线》 关键词: 快速迭代开发 敏捷方法论 产品开发 一人公司 持续集成 持续部署 团队协作

AI天才研究院 905

敏捷软件开发:原则、模式与实践详解

Scrum是一种迭代式增量的敏捷软件开发框架,其核心概念包括角色、事件和工件三大组成部分。角色包括产品负责人(Product Owner)、Scrum Master和开发团队(Development Team)三个关键角色。产品负责人负责维护产品待办事项列表(Product Backlog),优先级排序,确保团队的工作和产品目标保持一致。Scrum Master是团队的教练和辅助者,负责移除阻碍团队进展的障碍,确保Scrum过程的顺利执行。开发团队则是自组织和跨功能的,负责实际的开发工作。

weixin_42128315的博客 1571

[原创] 敏捷软件开发管理实践 (三) ——尽可能并行工作

作者:李文华注:本文为原创,任何使用必须经得本人同意.尽可能并行工作1.1. 各种角色可以协同工作       敏捷的特征就是要是使工作更加高效。很少有公司仔细考虑过项目成员在工作流程上的优化可以为项目提高多大的工作效率。但是,只要我们想一想,项目中的每个成员其实都是一颗能够独立计算并完成任务的CPU,那么我们是否会像IBM的网格计算专家一样去不断优化这些CPU的工作流程以达到一个新的

云雀的理想 2004

敏捷软件开发:原则、模式与实践实战

本文还有配套的精品资源,点击获取 简介:敏捷软件开发是一种以人为本、迭代、逐步交付的开发方式,强调适应变化和持续改进。本课程设计项目经过测试,旨在帮助学生掌握敏捷开发的原则、模式和实践。学生将通过实践任务,提升在Scrum、极限编程、精益开发等敏捷模式方面的能力,并在迭代开发、用户故事、持续集成等实践中,提升团队协作和软件质量。 1. 敏捷软件开发简介 敏捷软件...

weixin_36288992的博客 1536

敏捷开发管理实践-让人的资源多起来

第1部分   开篇语  项目管理作为一门独立的学科,已经发展了很多年,并为实践提供了丰富的理论依据。而软件开发的项目管理,虽然也属于传统项目管理的范畴,但是由于软件工业本身的特点,很多在传统项目管理理论中被证明行之有效的理论和方法,拿到软件开发的项目实践中却常常达不到预期的效果。软件开发的项目管理与传统项目管理的这种差异究竟在哪里呢?这个问题已经有很多人在研究并成果丰富,一致的结论性的原因就是

Raindrop的专栏 1222

Cursor Agent模式下如何优雅切换conda环境运行Python脚本?3种实用方法实测

本文针对Cursor Agent模式下运行Python脚本时环境错配的痛点,实测了三种优雅切换conda环境的实用方法。通过Shell全局配置、项目级.cursorrc文件定制以及对话中直接指令,开发者可以确保AI助手在正确的虚拟环境中执行代码,从而提升开发效率和协作流畅度。

redis7keeper的博客 597

软件破解逆向安全(一)初识内存地址和偏移

工具:CE 内存:数字->存访在电脑中->内存 实例:如何修改植物大战僵尸阳光 内存搜索最核心:过滤数据 先用CE加载植物大战僵尸,如下图 我们可以看到目前我们的阳光数是50,我们尝试在ce里搜索精确数值,4 byte是int整数的表示。 我们发现有很多数据,尝试收集一个阳光变成75再次搜索: 我们发现就一个了,这时我们可以双击Value随便修改阳光的数值了。 这里我们说一下动态和静态地址 动态地址:临时用于存放数据的地址,黑色。特征:重新启动游戏地..

weixin_43781139的博客 2591

敏捷软件开发原则模式与实践资源下载介绍:一本实用的软件开发指南

敏捷软件开发原则模式与实践资源下载介绍:一本实用的软件开发指南 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在当今快速变化的软件开发领域,敏捷开发已成为提升项目效率与质量的重要方法。《敏捷软件开发-原则、模式与实践.pdf》作为专为软件开发人员设计的资源,旨在帮助读者深入理解敏捷开发的精髓,并通过系统的原则、模式和实践,提高软件开发的能力和效率。 项目技术分析 本书...

gitblog_06789的博客 890

【车载开发系列】ParaSoft单元测试环境配置(一)

bdf是数据文件的一种类型,表示一种数据库文件。在ParaSoft当中,可以使用bdf文件来快速创建一个测试项目。

千月星跡 2147

PMP项目管理知识点-⑳敏捷项目管理、敏捷方法、实践指南

敏捷项目管理摘要 敏捷项目管理涵盖多个方面:项目经理角色灵活多变,可兼任产品负责人、Scrum Master等职责,在混合型项目中尤为重要。范围管理强调产品待办事项的梳理与优先级排序,冲刺内范围固定。进度管理通过产品路线图层层分解,速度指标仅用于团队内部预测。质量管理由开发团队负责,采用内建质量机制。团队管理推崇仆人式领导和3-9人的自组织团队。其他方法包括看板(可视化流程、限制WIP)、极限编程(TDD、结对编程)等。组织转型需考虑变革准备度,合同管理突出价值交付,PMO转向价值驱动型。敏捷强调面对面沟通

希望个人学习及经验总结,能帮您解决学习中工作中所遇到的问题. 1101

FileZilla Server 1.2.0 TLS证书过期问题

FileZilla Server TLS证书过期后重新生成

Wigle的备忘录 7526

【Unity】 预制体Prefab使用说明

在 Unity 中,Prefab 是一个可以预先制作并重复使用的 GameObject 或组件集合,Prefab 中的 GameObject 可以有子对象和其他组件。

灵境引路人 2849

《敏捷软件开发.pdf》资源文件简介

《敏捷软件开发.pdf》资源文件简介 去发现同类优质开源项目:https://gitcode.com/ 《敏捷软件开发.pdf》是一部深入探讨敏捷软件开发理念的著作。本书内容全面,涵盖了敏捷开发的各个方面,从个体到团队,从沟通到合作,从方法集到敏捷与自适应,旨在帮助读者更好地理解和实践敏捷软件开发。 资源文件内容概览 本书分为以下几个主要部分: 认知与表达:探讨了沟通的复杂性及聆听的三个层次,为...

gitblog_06718的博客 751

YOLO26引入ECA-Net的改进版变体:1D卷积在2026目标检测的极致压榨

摘要: 2026年发布的YOLO26通过移除DFL模块、支持无NMS推理等革新成为边缘计算新标杆。为进一步提升性能,研究聚焦轻量级通道注意力机制ECA-Net,其核心创新在于用1D卷积替代传统全连接层,仅需5个参数即可实现高效通道交互。数学分析表明,ECA模块在ResNet50上仅增加80个参数,却能带来2%以上的精度提升。这种"极致压榨"的设计理念与YOLO26的轻量化特性高度契合,为在几乎不增加计算开销的前提下提升模型性能提供了可行方案。技术验证显示,该组合在COCO数据集上实现了检测精度与推理效率的双

ZDQ58818的博客 262

得物千人规模敏捷迭代实践分享

PMO 是干什么的?不就是个拉会的嘛?这种根深蒂固的误解,就像,你说你是学计算机的,别人以为你是修电脑的。如果你是这么想的,那这篇文章应该会重新认识项目管理,以及PMO这个角色。

SmartCodeTech的博客 2070

优化dalsa相机检测界面

上节实现了使用qt结合dalsa相机显示检测到缺陷的画面,由于窗口过于简陋,本节将进行一个界面优化。

A1983Z的博客 987

论文复现5:UMI Universal Manipulation Interface

UMI 采用手持式夹具,加上精心的界面设计,可实现便携式、低成本和信息丰富的数据收集,以进行具有挑战性的双手和动态操作演示。配备这些功能后,UMI 框架解锁了新的机器人操作功能,只需更改每个任务的训练数据,即可实现零样本可推广的动态、双手、精确和长视野行为。我们通过全面的现实世界实验展示了 UMI 的多功能性和有效性,其中通过 UMI Zeroshot 学习的策略在对不同的人类演示进行训练时可以推广到新的环境和对象。项目主页:https://umi-gripper.github.io/

github_38060285的博客 1972
上一篇: 昨日网摘--微软在IP电视上的构想
下一篇: 缺陷的状态转化图---为你设计更好的缺陷管理软件
cloudward
博客等级 码龄23年 18粉丝 51原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值