敏捷开发管理实践(1)让人的资源多起来
软件开发岗位实习报告之敏捷开发方法实践

软件开发岗位实习报告之敏捷开发方法实践敏捷开发是一种软件开发方法论,近年来在行业中得到广泛应用。
它强调快速响应变化和快速交付价值,通过迭代和增量的方式进行开发,以满足用户需求。
我在某公司完成的软件开发岗位实习中,也有机会亲身实践了敏捷开发方法。
一、敏捷开发背景敏捷开发起源于20世纪80年代的软件开发领域,当时传统的瀑布模型已经不能满足快速变化的市场需求。
敏捷开发的理念最早出现在《敏捷软件开发宣言》(Agile Manifesto)中,提倡个体和互动、工作的软件、客户合作和响应变化的价值。
二、敏捷开发原则与实践敏捷开发有一系列原则和实践,我将根据自身经验分别进行介绍。
1. 客户参与敏捷开发追求与客户密切合作,通过与客户的频繁交流和反馈,确保软件系统符合客户的需求。
在实习期间,我们每周举行项目进度会议,邀请相关客户参与,了解他们的需求和期望,并及时调整开发计划。
2. 迭代开发敏捷开发使用迭代的方式进行开发,将项目划分为多个较小的周期,每个周期称为一个迭代。
在每个迭代中,团队会根据客户需求和优先级确定开发任务,并在迭代结束后交付可用的软件版本。
我在实习期间参与了多个迭代,通过这种方式不断完善软件系统。
3. 自组织团队敏捷开发中强调团队成员之间的协作和自组织。
团队成员根据自身专长和兴趣,自主选择任务,并根据项目进度和需求分配自己的工作。
这种工作方式有效地促进了团队合作和创新。
在实习期间,我与团队成员密切合作,通过协商和讨论解决问题,并尽最大努力发挥个人的优势。
4. 快速反馈和持续改进敏捷开发强调根据反馈及时调整和改进软件系统。
在我们的实践中,我们使用了持续集成和自动化测试工具,以确保每次修改都不会引入新的错误,并及时发现和修复问题。
通过这种方式,我们能够快速获得用户的反馈,及时做出调整。
三、实践案例在实习期间,我所参与的项目主要是一个在线教育平台的开发。
我们采用敏捷开发方法,通过迭代和增量的方式不断完善系统,满足用户的需求。
敏捷开发模式的实践和管理方法

敏捷开发模式的实践和管理方法在当前快速变化的市场竞争环境下,越来越多的企业开始采取敏捷开发模式,以提高产品的开发效率和质量。
敏捷开发是一种适应变化且重视人与交互相处的方法,其核心理念是通过快速反馈循环、高度的客户参与和自组织的小团队来不断调整方向,跟进变化的需求。
在敏捷开发模式中,如何实施和管理成为了很多企业面临的挑战。
本文将从实践和管理两个方面,分享一些敏捷开发模式的实施和管理方法。
一、实践方法1. 选择合适的敏捷框架敏捷开发模式中有很多不同的框架,如Scrum、XP、Kanban 等,企业需要根据自身的情况来选择适合的框架。
例如,Scrum 适用于需求明确且团队成员稳定的项目,而Kanban更适合于需要不断优化流程的项目。
2. 定义用户故事用户故事是敏捷开发模式中的重要一环,它是用户需求的具体表述。
定义好用户故事可以帮助团队把注意力集中在用户的需求上,增强团队对产品的理解。
3. 保持频繁的迭代和产品演进敏捷开发模式要求不断迭代,通过频繁的反馈和调整来逐步提高产品质量。
因此,重要的是要保持频繁的迭代和产品演进,及时处理团队和用户的反馈,以便在第一时间发现问题并进行修正。
4. 注重团队的自组织和协作敏捷开发模式强调团队的自组织和协作。
团队需要具备高度的自治能力和自我管理能力,以便快速做出决策。
同时,团队成员之间需要更好的沟通和协作,以实现更高的效率和质量。
二、管理方法1. 建立敏捷文化敏捷开发模式需要建立一种敏捷文化,让敏捷理念渗透到全员的日常工作中。
这意味着要全员参与,不仅仅是技术人员和开发者。
同时,也需要依据敏捷文化的理念,制定相应的管理流程和架构。
2. 建立高效的团队建立高效的团队是敏捷开发模式成功的关键。
这要求领导者需要积极营造团队的氛围,鼓励成员之间交流和协作,并积极为团队提供支持、指导和资源。
3. 提供足够的资源和支持采用敏捷开发模式需要给予团队足够的资源和支持。
这包括技术、工具、时间等方面的支持,以确保团队能够快速响应变化,高效地提供产品和服务。
Scrum敏捷开发实践(1)

如何估算时间: 玩poker game(扑克游戏)这个方法估算出来的工作时间比
较准,参与扑克游戏的最好有专家和开发涉及到的人员(杜绝阿猫阿狗, 酱油男等参与)
扑克游戏玩法: (1)每个人发一些便条纸, 针对具体任务,每个人根据经验写出时
如何进行Scrum开发?
Scrum步骤二
product owner 对产品建议表进行筛选,做减法提炼最 核心的需求。在确定了需求后,这个时候由scrum master 进行输出prd (product requirement document) , 这里就和传统的瀑布流一样了,该有的文档都必须有了 ,必须由scrum master 和product owner 确定好需求, 包括业务逻辑,功能流程等。
Scrum
敏捷开发介绍 实用篇
scrum是有效管理未知因素和不断变化的产品需求,结束混乱,着重于如何驱动项目实 现最高的投资回报。
敏捷开发介绍
什么是敏捷开发? 敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。
怎么理解呢?首先,我们要理解它不是一门技术,它是一种开发方法,也就是一种软件开发的流程,它会指导我们用规定的环节去一 步一步完成项目的开发;而这种开发方式的主要驱动核心是人;它采用的是迭代式开发;
如何进行Scrum开发?
Scrum步骤四
好吧,经过大家纠结讨论了好久,终于把任务量化到具体 多少时间完成了!
恭喜!接下来,把n个任务按照开发的重要度,组合 成n个sprint( 冲刺),每次执行一个sprint.
每个sprint 都是独立的,一般先做主要功能,再到次要功 能,再到小功能,最后的sprint 一般是修复bugs。
软件开发岗位实习报告:敏捷开发实践经验

软件开发岗位实习报告:敏捷开发实践经验一、简介在我进行软件开发岗位实习期间,我加入了一个团队,负责参与一个敏捷开发项目。
敏捷开发是一种以迭代、循序渐进的方式进行软件开发的方法论,旨在响应变化、快速交付有效软件。
通过这次实习,我深刻体会到了敏捷开发的实践经验,下面我将对这个过程进行详细介绍。
二、团队组建与角色分配在项目开始前,我们的团队进行了组建和角色分配。
我们采用了敏捷开发的核心原则之一——跨功能团队。
团队成员来自不同的专业背景,每个人具备多个技能,可以在开发过程中互相协作和取长补短。
另外,我们选择了一个项目经理、一个产品负责人和一个敏捷教练来组建我们的团队。
项目经理负责协调各个团队成员,并确保项目按计划顺利进行;产品负责人负责明确产品需求,并与开发团队紧密合作;敏捷教练则负责指导团队在敏捷开发中的实践经验,促进团队的自我学习和提高。
三、Sprint计划与迭代开发在敏捷开发中,时间被划分为多个Sprint。
每个Sprint持续一段固定的时间,我们的团队选择了两周为一个Sprint的周期。
在每个Sprint的开始,我们会召集团队成员进行Sprint计划会议。
在这个会议中,我们会回顾上一个Sprint的成果,评估和反思团队的工作。
然后我们根据产品需求和团队能力确定本Sprint要完成的任务,并将它们添加到Sprint Backlog中。
Sprint Backlog是一个记录着本Sprint需完成任务的清单,团队成员根据自己的技能与经验自愿承担任务,每个任务都有相应的预估工作量和优先级。
四、Daily Standup会议在开发过程中,我们每天举行一次Daily Standup会议。
会议的目的是提高团队成员之间的沟通和协作,确保项目按计划进行。
会议通常持续15分钟左右,每个团队成员轮流回答三个问题:昨天我完成了什么?今天我将要完成什么?有什么问题或障碍需要解决?通过这样的方式,我们及时了解到每个成员的进展情况和困难,并协助解决问题,保持项目的进展顺利。
软件工程中的敏捷开发与项目管理实践(一)

软件工程中的敏捷开发与项目管理实践引言:软件工程是一个复杂而庞大的领域,要在这个领域中取得成功,敏捷开发和项目管理实践起到了至关重要的作用。
敏捷开发和项目管理实践相互配合,可以提高团队的效率和质量,使软件开发过程更加顺利和可控。
本文将探讨敏捷开发和项目管理实践在软件工程中的作用和重要性,并对其具体内容进行讨论。
一、敏捷开发与项目管理的概念敏捷开发是一种根据需求快速响应和快速迭代的软件开发方法。
它强调团队合作、快速反馈和不断改进,通过不断调整项目计划和需求来适应不断变化的软件市场。
敏捷开发具有迭代、增量和灵活性的特点,能够更好地满足用户需求。
项目管理是一种将项目目标、资源和风险进行有效规划、组织、协调和控制的过程。
它通过明确项目的目标、范围、进度和成本等方面的要求,确保项目能够按时、按质按量地完成。
项目管理注重规划、执行和监控,通过各种技术和方法帮助团队达成预期的目标。
二、敏捷开发与项目管理的相互关系敏捷开发和项目管理是相互依赖且相互促进的关系。
敏捷开发注重团队协作和高效迭代,而项目管理则提供了工具和方法来规划、组织和监控工作。
敏捷开发通过开展多次短期迭代,可以更好地适应需求变化,而项目管理则能够确保每次迭代都能按时交付,并控制项目的质量和风险。
在敏捷开发中,项目管理的作用可以体现在以下几个方面:1.需求管理:项目管理可以帮助团队有效管理需求,明确需求的优先级和变更,确保团队按照用户的期望进行开发。
通过需求管理,可以避免需求的混乱和变化给项目带来的不利影响。
2.进度管理:项目管理可以帮助团队进行项目计划和进度控制,确保项目按时交付。
通过对项目进度的监控和调整,可以避免项目的延期和资源浪费,提高团队的工作效率。
3.风险管理:项目管理可以帮助团队识别、评估和处理项目风险,降低项目失败的风险。
通过风险管理,可以及时发现和解决项目中的问题,保证项目的顺利进行。
三、敏捷开发与项目管理实践1.敏捷开发实践:敏捷开发包括一系列的实践方法,如Scrum、XP(eXtreme Programming)和Lean等。
敏捷开发在项目开发和管理中的实践和应用

敏捷开发在项目开发和管理中的实践和应用摘要敏捷开发已深入互联网产品的研发和团队管理过程,当前互联网+时代要求软件研发企业在面对市场需求是要能够做到快速响应,传统的瀑布开发模式已经不能满足互联网企业一系列的需求。
敏捷开发提倡拥抱变化、高效沟通、持续交付、紧密协作,强调团队的自组织,本文根据实际应用情景,谈一谈在敏捷开发过程中,通过简化工作流,提升团队协作和沟通,来提高项目管理的效率,降低成本、实现产品的快速交付。
关键词敏捷开发;信息系统;项目管理;软件开发敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方式,目前主要有Scrum、XP和看板模式。
敏捷采用的是迭代式开发,主要驱动核心是人。
目前许多敏捷开发在实际应用还处于摸索阶段,只注重“形”,为不注重“神”,通过多个敏捷项目的实践,在采用一种新的模式的时候,最好结合实际进行本地化的适配。
1 敏捷项目的需求确认与任务分解敏捷项目是欢迎用户需求变化的,项目开始阶段不需要完整的需求,但也要能准确获取客户的需求,系统原型设计是使用最普遍的方法。
给客户演示原型并不断修改原型直至客户确认,可以有效地与用户针对系统的功能与可用性进行验证,节省开发前研发资源的投入,确保构建系统的正确性,开发初期原型设计的开支远低于开发实际系统的开支。
常用的原型设计工具:Axure RP、Microsoft Visio、网页制作工具。
在管理用户需求时,产品负责人(Product Owner,简称PO)要将需求整理成用户故事,用户故事通过product-backlog(产品backlog)进行记录。
在每个迭代开始之初,由团队负责人(Scrum Master,简称SM)召开sprint计划会议,PO负责需求的讲解,开发团队通过需求的理解,一起进行用户故事的估算。
在计划会议中需要确认需求优先级、分析和评估产品Backlog,确定迭代的目标,分解工作内容,形成迭代任务(Sprint backlog),然后为本次迭代任务做估算;团队成员从产品Backlog中挑选他们承诺完成的用户故事。
敏捷开发管理实践ppt课件
• 在球场上:靠平时训练中形成的素养见机行亊,达成目标。 • 在软件公司:具体执行的人选择如何去做。
Scrum简介
需求管理
需求管理中的常见问题
用户故事(User Story)
用户
➢ 对用户有价值的功能,如: • 用户可以搜索职位 • 公司可以发布新职位 • 用户可以限制浏览其简历的人
➢ 不理想的用户故事,如: • 这个程序用java语言编写 • 程序将通过连接池连接到数据库
理想用户故事特点-INVEST
I
• Independent:独立的
N
• Negotiable:可讨论的
V
• Valuable:对客户或客户有价值的
E
• Estimated:可估计的
S
• Small:小的
T
• Testable:可测试的
用户故事估算----扑克牌估算法
扑克牌估算法是几个潜在的仸务 承担者(如某个功能小组)共同 估算的方法,他们一起听产品负 责人讲解,一起估算,以达到利 用集体智慧解决问题的目的。
①每人各自估算后独立出暗牌,听口令一起开牌。 ②数值最大者与最小者PK,其他人旁听也可参与。 ③认论结束后重新出牌和开牌。 ④重复上述过程,直到结果比较接近。
在敏捷开发中,不同角色各自 对自己的工作内容拥有决策权 ,对于别人负责的事情,则只 起到辅助、建议等作用
做下面事情的时候,他们是
Product Owner
定义产品功能 定义产品发布日期和功能 对产品的投入和产出比负责 根据市场情况对需求排列优先级 如果需要,在每个迭代合理调整产品特性及优先级 接受或者拒绝开发团队的工作成果
✓ 一种人选是原来的项目经理转型 ,保留原有的管理和技术职能, 但弱化指派仸务、下达时间点指 令等内容,而增强其组细协课能 力。
敏捷软件开发项目管理实践
敏捷软件开发项目管理实践随着信息技术的快速发展,软件开发也变得越来越重要。
为了更好地贯彻软件开发,人们开始使用各种各样的项目管理方法。
其中,敏捷软件开发项目管理方法已经成为业内的主流,具有广泛应用的前景。
敏捷软件开发是一种注重团队合作、注重反馈、注重交付的软件开发模式,它将不同的工作流程组合在一起,从而明确了各个工作流程之间的分工和协作。
敏捷开发方法最早起源于20世纪90年代的软件开发实践,随着时间的推移,越来越多的企业和组织选择采用敏捷方法来开发软件。
敏捷软件开发项目管理方法的三大核心价值:1.客户至上敏捷开发方法允许客户随时参与项目开发,在开发过程中,客户可以随时提出意见和建议,从而确保软件产品能够真正地满足客户的需要。
在这种方法下,开发者可以更快地响应客户的需求,全力以赴地为客户提供最好的软件产品。
2.自我组织敏捷开发方法允许开发团队自我组织并自我管理,从而提高工作效率和工作质量。
具体来说,团队可以根据自身特点和需求决定如何完成任务,搭建自己的开发框架,制定自己的开发计划。
3.迭代式开发敏捷开发方法采用迭代式开发的方式,每个迭代都是一个小的软件开发过程,可以让开发者更加关注客户的需求,更好地参与软件开发中。
在这个过程中,开发团队可以根据客户反馈的结果进行不断地调整并不断完善软件,从而提高工作效率和工作质量。
如何实践敏捷软件开发项目管理?要实践敏捷软件开发项目管理,我们应该采用一下几种方法:1.团队建设敏捷开发方法强调自我组织、互相合作的基本原则,因此,必须建立一个高度团结的团队来共同完成任务。
在团队建设过程中,必须注意以下几点:(1)建立强大的领导力。
领导者必须拥有高超的技能、良好的组织能力和交流能力,以确保团队高效运作。
(2)树立团队精神。
团队成员必须意识到自己是一个团队中的一员,并始终保持团结、协作的态度。
(3)采用权威方式来建立团队。
领导者必须建立权威、公正、透明的管理机制来保证团队内部的公平性。
软件开发实习报告:敏捷开发方法与实践
软件开发实习报告:敏捷开发方法与实践一、引言软件开发是一个复杂而又充满挑战的过程,传统的瀑布模型往往存在严重的问题:需求变更困难、开发周期长、产品质量无法保证等等。
为了解决这些问题,敏捷开发方法应运而生。
在本次软件开发实习中,我深入学习了敏捷开发方法,并且亲身实践,得到了许多宝贵的经验。
二、敏捷开发方法简介敏捷开发方法是一种以人为本、强调快速反馈、迭代开发的软件开发方法。
与传统的瀑布模型相比,敏捷开发方法更加具有灵活性和适应性,能够迅速响应用户需求的变化。
敏捷开发方法的核心价值观包括个体和互动、工作的软件、客户合作、响应变化。
其基本原则包括不断交付有价值的软件、面对面的沟通、可工作软件是进度的最佳衡量标准、迭代开发、团队在整个过程中密切合作、对需求变更持开放态度、频繁反思与调整。
三、敏捷开发方法的实践在实习过程中,我所参与的软件开发项目采用了敏捷开发方法。
下面我将从项目规划、需求分析、迭代开发、团队协作等方面介绍实践经验。
1. 项目规划在项目开始之前,我们首先进行了项目规划。
这包括确定项目的目标与范围、明确项目阶段和迭代计划、确定团队成员的角色分工等。
在规划过程中,我们充分考虑到项目的可行性、风险评估和资源分配等因素,确保项目有序进行。
2. 需求分析在敏捷开发中,需求是一个动态的过程。
我们与客户密切合作,及时收集用户的反馈和建议,并将其转化为明确的软件需求。
我们使用用户故事和用例模型来描述和分析需求,确保理解用户的真实需求。
3. 迭代开发迭代开发是敏捷开发的核心。
我们将整个软件开发过程拆分为多个迭代周期,每个迭代周期持续1-2周。
在每个迭代中,我们完成一部分功能的开发、测试和交付,以便及时获得用户的反馈。
通过这种方式,我们可以有效控制开发进度、降低风险,并及时响应需求变更。
4. 团队协作团队协作是敏捷开发的关键。
我们采用了每日站立会议的方式,每位成员都必须介绍自己的工作进展、遇到的问题和需要帮助的地方。
敏捷方法实践心得体会
随着信息技术的飞速发展,企业对软件开发的需求日益增长,传统的瀑布模型已无法满足快速变化的市场需求。
为了提高软件开发的效率和质量,敏捷开发方法应运而生。
近年来,我有幸参与了一个采用敏捷方法的软件开发项目,通过实践,我对敏捷方法有了更深刻的认识和体会。
以下是我对敏捷方法实践的一些心得体会。
一、敏捷方法的核心价值观1. 客户至上:敏捷方法强调以客户需求为导向,关注客户满意度,确保客户需求得到及时响应。
2. 快速迭代:敏捷方法将项目分解为多个迭代周期,每个迭代周期完成一部分功能,以便快速交付产品。
3. 团队协作:敏捷方法强调团队协作,打破部门壁垒,实现跨职能协作,提高团队整体执行力。
4. 反馈与改进:敏捷方法鼓励团队成员及时反馈问题,不断优化产品,提高软件开发质量。
二、敏捷方法的实践过程1. 需求管理在敏捷开发中,需求管理是一个动态的过程。
项目启动时,产品负责人(Product Owner)与客户共同确定产品愿景和优先级。
随着项目的推进,客户需求会不断变化,产品负责人需要与客户保持密切沟通,及时调整需求。
2. 迭代规划敏捷开发将项目分解为多个迭代周期,每个迭代周期持续2-4周。
在迭代规划会议上,团队共同确定本次迭代的目标和任务。
团队成员根据自身能力分配任务,并制定详细的工作计划。
3. 站会站会(Daily Stand-up)是敏捷开发中的重要环节,每天早晨进行一次简短的会议,团队成员分享工作进展、遇到的问题和需要帮助的地方。
站会有助于团队成员了解项目整体进度,及时调整工作计划。
4. 代码审查代码审查是敏捷开发中的关键环节,有助于提高代码质量,减少bug。
在迭代结束时,团队成员进行代码审查,确保代码符合规范,易于维护。
5. 测试与部署敏捷开发强调测试与部署的同步进行。
在迭代过程中,测试人员与开发人员紧密合作,确保每个功能模块都能通过测试。
迭代结束后,将产品部署到生产环境,供客户使用。
6. 反馈与迭代在迭代结束后,产品负责人收集客户反馈,对产品进行改进。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
敏捷开发管理实践(1)让人的资源多起来
第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.持续跟踪性能,从第四周起,每两周给出性能测试报告
执行:
kyway的所有成员需要配合Wiki的组织工作,并接受安排的合理任务
kyway项目经理Cobo协助Wiki安排工作
3.测试部经理Anny,配合Wiki安排测试设备和数据准备。