原文地址:http://www.infoq.com/cn/articles/hk-build-full-function-team-practice;jsessionid=F1BB5DCB034CA192D8664BD7D3F3CE6E
吃自己的狗粮
当开发人员坐在测试工作站前,你将会诧异于多少开发人员因为繁琐的步骤而不会安装/升级自己参与制作的软件,多少人认为自己设计的复杂配置是荒唐的。在很多情况下,这都不是安装、配置的问题,而是设计问题,将开发和测试过程分离把痛苦转嫁给了另一个团体(测试、用服、用户),开发人员丧失了亲身使用软件的机会,从而无法发现问题的存在。暴露并修正这些问题,是将开发人员和测试人员进行轮换的主要价值之一。从我们的经验数据看,开发人员可以在一周内掌握大多数的测试技巧,个人的建议是从经验丰富的开发人员开始轮换,一方面他们更能认识到测试的必要性,便于交流,也便于形成表率。另一方面丰富的经验更容易帮助他们察觉到问题的存在。其它的一些要点是:
- 一对一的充分交流,让开发人员认识到进行测试工作的价值和目的。
- 引导开发对痛点进行思考、改进。改变测试简单、重复的工作面貌,要对开发人员形成挑战。
- 一周轮换2天持续数周或连续轮换2星期为宜。
睁开眼睛看大象
开发人员习惯于正确性驱动,然而正确的返回结果却不一定是必须的,有时甚至是一种浪费。我们项目所需要处理形如1001的期货时间戳,10代表2010年,01代表一月份。开发人员自然想到了如何区分1910年、2010年、2110年的问题。于是复杂的内部表达被设计出来,用于推断正确年份。这是必须的么?如果我们能了解到客户最大的压力在于半年后项目能否成功上线替换掉现有无人能够维护的应用,而不是100年后才可能出现的问题,我们是否能在类似的技术决策中,做出更聪明的选择呢?帮助开发/测试角色获取更多的信息,让他们了解到制定需求的上下文,而不仅仅是需求是什么;让他们更高的层面认清各个故事之间的关联,能够分辨可以给客户带来最大价值的任务,这是将开发角色/测试角色与分析角色对换的主要价值。一些要点是:
- 在进行分析工作前,开发人员需要完成多个模块的开发,而测试人员最好完成开发轮岗,否则收效甚微。
- 分析工作可以兼职进行,我们认为比较有效的方法是每天下午花40分钟让开发/测试人员在教练的带领有重点的分析一、两个故事。
- 重点放在提供一套思考框架帮助新手梳理分析思路,我们发现一个有效的方法是结对工作、独立思考、演讲并点评。(参见结对工作,不止与结对一节)
根据我们的经验,两周全程跟踪式的结对分析足够帮助新手初步掌握分析思路,教练可以考虑逐渐减少在新手思考过程中的侵入,再经过大概2个月的练习,新手基本可以独立工作。
和客户对话
在进行过分析角色的轮换后,可以进一步利用需求管理作为主线让团队成员参与到客户交流中,慢慢削弱项目经理的客户联系人角色,其主要价值在于:
- 提升交流质量,一线人员常常比项目经理更了解产品。
- 展示开发人员的能力,增强客户信心。
- 弱化项目经理在客户眼中的重要性,为未来平滑的取代项目管理者,减少开销作准备。
- 帮助技术人员掌握交流技巧、提升团队能力。
个人建议是:
- 从例行的功能展示会(showcase)开始,让每个成员练习从客户的角度进行思考(客户想看什么?),锻炼语言能力,消除与客户交流的恐惧感,并且让客户熟悉开发团队的每个成员,习惯开发团队的交流方式。
- 由多人分别准备客户进行电话会议中需要讨论的议题,每人深入思考的一、两个问题,通过充分思考弥补经验、技巧上的不足。
- 结对完成发给客户的邮件,让另一双眼睛检查有没有把该说的问题点到,表达方式、方法是否得当。
- 提供一套与客户交流的思考框架,并在与客户的交流中不断强化它。我们采用的框架是“客户,交付,流程,员工”,团队成员在思考问题时,首先从这四个点出发再逐层展开。
这项练习需要贯穿项目始终,对于团队成员无差别的进行,我们的经验数据是经过5个月左右的练习,项目经理就不需要出现在与客户的例行电话交流中了。
写程序,我行么?
测试人员普遍编程技术能力欠缺,同时有常常对编程这一未知的经验产生恐惧。从经验看,如果测试人员不能编写、维护自动化测试,测试工作将很快成为交付瓶颈。通过编程,让测试人员掌握技术,避免瓶颈的出现是测试到开发角色转换的主要价值。我们所采取的步骤是:
- 与测试人员结对完成简单的编码任务,不断树立信心。在这个团队中,我们
分享到:
相关推荐
总结而言,网易大数据产品团队的研发实践包含了从团队构建、需求优化、技术创新、业务驱动测试到精益项目管理的全过程。通过这些实践,他们成功地将内部大数据平台转化为面向市场的解决方案,为中大型传统企业提供...
### 内外兼修,保障业务安全——腾讯安全运维实践 #### 概述 随着互联网技术的迅猛发展,网络环境中的安全威胁日益增多且复杂化,对于任何一家互联网企业而言,构建一套健全的安全运维体系至关重要。腾讯作为中国...
这份文档深入探讨了网上创业的各个环节,从项目选择到市场定位,从团队建设到运营策略,全方位解析了网络创业的全过程。 一、项目选择与市场调研 在互联网创业初期,选择合适的项目至关重要。网上创业实践强调了对...
### 大前端技术与管理——菜鸟技术团队全栈化(开发全栈前端)之路 #### 一、全栈化的背景 随着互联网技术的发展,企业对于技术团队的要求越来越高,特别是对于前端开发人员的需求更加多元化和复杂化。传统的前端...
- **逐步完善、快速验证——增量式开发**:增量式开发允许在项目早期就向客户交付部分功能,然后根据反馈逐步完善产品。 - **结合多种模式、灵活应用——混合方法**:根据项目的实际情况选择最合适的开发模式,有时...
CIIP平台具有八大核心商业功能,包括平台技术建设、建筑建造、资源采购、市场营销、国际战略、企业管理、产业金融和建筑文化等。这些功能被打乱并重组为协同、并联、互动的体系,以用户为中心,实现去中心化服务。...
6. **住宅小区WLAN宽带无线网络运营商业计划书.pdf**:这份文档可能涉及到了住宅区无线网络的建设和运营策略,包括市场调研、技术选型、成本预算、盈利模式等内容,对于理解智慧社区的建设和运维具有实践价值。...
在整个数据安全建设实践中,安全团队需要关注APT(高级持续性威胁)的防范,企业安全的全面布局,网络与基础架构的安全性,零信任模型的运用,数据分析在安全中的角色,以及安全众测等。安全众测主要是指通过外部...
《万方——论坛网站开发过程详解》 在互联网技术日新月异的今天,论坛网站作为用户交流互动的重要平台,其开发过程具有丰富的技术内涵和实践经验。本资料将详细阐述一个论坛网站从概念设计到上线运行的全过程,帮助...
【前端篇】 1. **Vue.js开发微信小程序:mpvue框架** mpvue是基于Vue.js构建的微信小程序开发框架,它使得开发者能够利用Vue的语法和开发流程来创建微信小程序,极大地提高了开发效率。mpvue的核心特性包括组件化...
秦皇岛作为北方的旅游明星城市,借助智慧城市的建设,成功实现了城市功能的现代化升级,提升了城市竞争力和市民生活质量。 **智慧城市顶层设计** 中兴通讯的顶层设计团队以城市发展和市民体验为导向,将公共服务、...
### 数据探索平台设计——“CheckStyle” #### 一、“CheckStyle”是什么? ##### 1. 背景 在大数据时代背景下,数据成为驱动企业决策的重要资源。为了更好地利用这些数据资源,各企业纷纷建立自己的数据团队,...
- **加强团队建设**:通过培训和交流活动增强团队成员的专业技能,提高整个团队的测试能力。 - **优化用户体验**:更加关注用户的实际需求,进一步改善测试平台的易用性和友好性。 #### 五、总结 通过孙鹰的分享...
5. 建设不同类型的实践基地,包括开放式实验室、综合性实训基地、校外实习基地、交叉学科实训中心和多功能创业园。 6. 建立三支队伍——学科队伍、教学队伍和创业导师队伍,确保教育质量和效果。 创新创业教育包含...
【标题】中的“梁志天施工效果图——上海凯德置地的...总的来说,这个压缩包文件是理解梁志天设计理念与上海凯德置地建筑实践的重要资源,也是施工团队执行任务的指南,它涵盖了从设计概念到具体施工细节的全方位信息。
- **平台功能**:建设一个集资源分享、项目发布、团队组建等功能于一体的综合实践平台,为学生提供全方位的支持和服务。 5. **优化师资队伍**: - **培养机制**:通过培训、研讨会等方式不断提升现有教师的实践...
另一方面,通过多样化服务、智育培养和德育活动,全方位提升社团的功能和影响力。 1. 能服务:爱心维修社建立了志愿服务队,提供高质量的服务。通过传统的电脑维修、答疑和培训,以及建立服务反馈机制,社团不断...
厦门市的海绵城市建设实践展现了政府主导、技术驱动、资金保障的综合模式,通过制度创新、技术创新和资金筹措,实现了城市生态功能的提升和资源的有效利用。这些经验对于其他寻求类似转型的城市具有重要的参考价值,...