所谓小型化全功能团队,其成员人数应该控制在10人左右。团队作为一个整体,可以完全端到端的完成一个特性需求或一个独立的业务逻辑单元,cover住端到端的开发流程。所以,这就要求团队内的成员技能全面。要求团队成员可以覆盖住开发、测试、环境管理、持续集成等环节的要求。同时,还需要具备1-2名专家,他们技术能力强,技术的知识深度厚。可以在团队遇到关键问题的时候,解决技术难题,带领团队前进,同时鼓舞团队士气。这就要求团队成员既要有深度的技术知识储备,也要求有相应广度的技术知识储备。通过成员组成,达到互补的作用,这就使得团队具备了端到端完整交付的能力。
团队的主要组成应该包括:1个leader、1个架构设计人员、1个敏捷辅导员(可以多个团队共享)、8人左右的成员(1-2人偏重测试)。
团队成员中的角色要求:
1、leader:团队的带领着,思考团队的定位,可创造的价值。为团队的发展提供前进的目标,也是配合外部交互的主要责任人,第一入口。主要配合产品经理规划产品,负责构建有竞争力的产品。同时,负责团队的运作管理,保障团队高质量、高节奏的完成交付任务。
2、架构设计者:负责产品架构的合理性和可持续发展性,其所负责的架构设计要满足:
1)产品当前的需求;
2)产品未来演进的需求,主要考虑架构的兼容性,以及面对变化的容忍性;
3)产品DFx方面的需求;
4)负责产品架构的核心代码或框架的编码。
同时,需要及时的审视当前架构的代码,识别风险点。结合当前的需求和演进识别主要的矛盾点。及时有效的对架构进行重构,保证架构的持续发展。
3、辅导员:负责运作流程的顺畅运作,对整个团队的开发过程进行监控,确保团队在良好的流程下运作。
虽然强调了架构设计者对架构的重要性,但是我认为并不是意味着架构就是完全由架设构建。实际上,团队成员都对架构负有责任,同时共同国建架构。好的架构师团队交付成功的关键,架设只对架构负有首要责任,并且在具有争议的情况下进行技术的选择和实现方案的决策。因为,架构师多样性的。每个人对技术和需求的理解是不一样的。在这种情况下,通过团队全员参与,群策群力保障架构的完整性。架设就需要在这种情况下及时明确方案(抉择)。这样的方式,团队所有成员全部参与。作为团队,按照一个整体进行运作。
开发人员除了要具备开发的素质外,还需要具备环境管理、持续集成构建、测试的能力。在面对一个分解的任务时,首先可以做到对其的分析和设计。在此基础上,进行单元测试的设计和实现,最后才是真正的开发。同时,开发还需要配合测试提供相应的测试建议和测试用例建议和素材。
下面再来谈谈团队的运作方式。我曾经尝试团队使用Pipeline的方式来运作。
所谓Pipeline,就是一个交付的管道。一个需求orTask任务经过分析后满足入口条件,即可放入一个交付Pipeline中。一个Pipeline可以分配相应的开发人员,同时,分配的人员数量也就决定了这个Pipeline可以承担的工作量。Pipeline的周期,建议在1-2个迭代,不建议太长。通过Pipeline的方式,将全体成员进行了划分。Pipeline分配的需求,可以由Pipeline来自己选择。一个成员在归属于一个Pipeline内,如果Pipeline到期,则Pipeline的人员自动释放。团队设置多少个Pipeline,Pipeline的性质都由leader根据当前团队的情况决定。通过Pipeline就可以对开发过程做到可视化、精细化管理。设计Pipeline对Leader来说,是一种挑战和考验。设置Pipeline就体现了Leader对当前团队工作重心的体现。例如,在产品开发的初期。团队需要集中精力完成新需求、新特性的开发。这个时候,就可以将所有Pipeline都设置为功能开发型:可以承担新的特性需求任务的开发。而随着迭代的不断演进,功能不断的被开发出来。不可避免的会产生问题,这个时候,为了解决问题同时兼顾功能开发。就可以设置一半的Pipeline为问题修复型,一半为功能开发型。再后来,问题大面积爆发。这时,leader需要首要保证问题的修复。因此可能只保留1个功能开发的Pipeline,其他的全部为问题修复的Pipeline。通过Pipeline的动态设置,来应对团队在不同阶段需要关注的主要矛盾点和问题点,集中进行解决。
下面再来聊聊迭代,一个迭代周期建议控制在1-2周,太长太短都不利于团队的稳定运作。太短,会发现团队实际用于聚焦主要职责工作的时间太少(开发面临着需求的传递澄清、环境的搭建、CI集成等事情)。而太长,则又不利于对团队工作细化的监管和把控。同时,迭代中承接的需求的量级要足够小,以便可以在一个迭代中完成。同时,还要考虑一个发布版本周期内,完成特性的完整性。
除了考虑需求的量级,还要考虑需求之间的关系。作为一个Pipeline的输入,可以合并需求为一个需求包。要求,这些需求必须是清晰的,可交付的,可验收的。举例来说:1、提供业务Case的管理能力。如果把这个作为一个需求,其范围就有点大。而且,描述也不够清晰。虽然,可以通过提供描述的方式来附加说明。但是,我认为一个需求如果可以通过一句话来描述清楚。就证明这个需求是足够小,也足够清晰的。上例就需要进行需求的拆分,这里我拆分如下:1.1 提供业务Case列表展示功能,以列表视图展示当前系统内的Case信息;1.2 业务Case具备在列表上维护的功能,要求有删除、新建、修改属性的视图和功能。通过这样的拆分,就可以确保需求的粒度和清晰性,并在一个迭代中完成。总结一下,一个需求是否需要拆分,主要可以从以下两点来分析:1、是否可以在1个迭代内完成;2、是否完整,且描述清晰(一句话描述)。以上可以由团队和产品经理一起共同完成分析和分解。分析和分解的过程就是一个产品需求讨论和传递的过程,当满足后,需求就可以纳入到Pipeline的需求包中。
可视化和精益管理
Task统计分析
相关推荐
在IT行业中,前端开发是构建Web应用...综上所述,小型前端团队的成功运作依赖于良好的团队协作、有效的项目管理、标准化的代码实践以及不断的技术学习。通过以上策略,团队可以高效地完成项目,交付高质量的前端产品。
通过采用LTCC技术,可以在有限的空间内集成更多的功能元件,从而实现功分器的小型化目标。 #### 设计过程 - **理论分析**:首先,通过对传统Wilkinson功分器的电路原理进行深入分析,确定了可以进行优化的方向。...
中小型图书馆自动化建设的问题与思考.pdf
《中小型图书馆自动化建设的问题与思考》是一份深入探讨图书馆自动化建设议题的重要资料,主要针对中小型图书馆这一特定领域。在当前信息化社会中,图书馆自动化建设已成为提高服务效率、优化管理流程的关键环节。...
例如,国人通信的射频部门提出了一种可行的RRU(远程射频单元)改型方案,在保持传统天线与RRU之间的功能不变的情况下,通过变长变薄的设计,使得RRU与小型化基站天线在外观上更匹配,实现了一种新型的一体化基站...
小型银行数字化转型实践及安全思考.ppt
中小型医院数字化、信息化建设解决方案.ppt
《关于小型医疗建筑功能流线及空间设计的思考》 文章编号:1009-6825(2020)11-0031-02,作者王元,探讨了小型医疗建筑的功能流线和空间设计。在医疗设计领域,功能流线设计是关键,它直接影响到项目的成功与否。...
小型高标准农田水利工程建设思考.doc
【团队建设】是组织发展和人力资源管理中的重要环节,旨在提升团队协作效率,增强团队凝聚力,促进团队成员之间的有效沟通,以及达成共同目标。本文档主要分为三个部分,分别是理解团队、组建团队以及如何看待团队...
中小型汽车快修店品牌化运作计划书.ppt
标题中的“行业文档-设计装置-一种多功能小型化办公平台.zip”表明这是一份关于设计装置的行业文档,重点在于介绍一种集多种功能于一体的小型化办公平台。这个平台可能是为了适应现代办公环境的需求,追求高效、便捷...
某小型企业信息化建设规划.docx
很抱歉,根据您提供的信息,"班组建设团队建设附件安全检查站共4页.pdf.zip" 和 "赚钱项目" 这些关键词并未直接指向特定的IT知识点。然而,我们可以推测这可能涉及到企业内部的工作流程管理、团队协作以及可能的安全...
基于MSP430和RFID的小型化智能农业监控系统设计.zip电子设计项目毕业设计及产品设计资料论文,源代码及PCB资料 基于MSP430和RFID的小型化智能农业监控系统设计.zip电子设计项目毕业设计及产品设计资料论文,源代码及...
本文介绍了一种应用在智能变电站中...FPGA的Xilin~Zynq系列芯片,在成本、数据处理速度、功耗及可扩展性方面能够满足就地化安装继电保护设备的需求全 文从软件和硬件方面详细阐述了嵌入式小型化继电保护平台的设计方法
文章结合当今社会家庭人口结构,居住方式的变化和住宅商品化的需要,提出了家庭小型化的发展趋向和煤矿住宅设计的一些建议,并论述了近阶段煤矿住宅小型化与公寓化的可行性,对矿井建设"先生产后生活"的理念提出了新的...
中小型汽车快修店品牌化运作计划书.pdf
Linux小型化技术主要关注如何将Linux操作系统精简到最小化,以便在资源有限的嵌入式设备上运行。这一技术的出现使得Linux可以应用于各种小型网络设备,如路由器、智能家居设备、工业控制系统等。以下是对Linux小型化...
课程内容设计科学,涵盖了项目管理的基础概念、项目启动、阶段划分、项目经理角色、团队建设、需求管理、变更控制、风险管理及项目时间管理等诸多方面。通过实际操作、案例分析和小组讨论等多样化的教学方法,参与者...