2012-11-28:

今天晚上下班回家后,用3个小时系统的把一些对敏捷持正反两方面的博文看了一遍,零零碎碎的整理了一些自己的想法。

客观的说,我在一个敏捷团队里呆过半年的时间。当时的教练也是从TW中国请来的,算是对敏捷有一个相对比较全面的认识了。但是由于当时主要做QA工作,TDD以及结对等开发实践并不是很充分,总体认识上对于敏捷提升开发效率的观点是有很大的质疑的。

主要原因:

  1. 团队在使用了敏捷开发过程后,在每7个工作日一个迭代过程中依然有持续不断的有很多低级的错误;
  2. 单元测试用例爆炸式增长,随之而来维护的负担非常大,结果可想而知。

敏捷的很多思想我是非常认同的,但是具体的实践方法是否应该教条化,就需要严格的区分了?业界最多的问题是:真敏捷还是假敏捷?

这个问题很难求同存异,但毋庸置疑的是如何高效的做出高质量的产品是我们共同的目标。

本周末准备花时间把自己的思路整理下,写一篇博文,太晚了,休息啦。希望做一个夜猫子程序员,但是身体还很重要的。

问题和思考列表:

1.

如何考量团队成员的职业度?
如何给团队成员制定目标并考核?
2.
如何控制松散的时间观念?
现象描述:
(1)在没有上下班时间监督的情况下,我所在的公司员工迟早早退情况非常严重,某些人基本上只能保证5小时/天的工作量。
(2)某些工作由于时间的不同步导致效率低下和延误。
(3)申请加班,但是实际工作时间根本不够,或者时间只有申请的1/2。
3.
如何在有效的时间内提高合作的效率?
4.
如何将不同team之间的利益趋同形成解决问题的合力,避免互相推诿责任和拆台。
5.

应理解每日立会、计划会、评审会、反思会这些会议,都只是沟通过程的仪式化的补充,若沟通本身不畅,而只是指望这些会议完成沟通,肯定会陷入两难的境地。

6.

最佳的软件开发团队应该是什么氛围?

(1)管理者角色弱化,成员共同成长,共同实现团体价值和自我价值

(2)良性的竞争机制

(3)成员具有高度责任感和成就感


7.

敏捷团队中弱化开发和测试的角色方法?

(1)无差别Title, 统一称呼:软件开发工程师,软件测试也是开发的重要组成部分;

(2)角色互换:周期性更换角色,增强开发和测试双方面的技能;

(3)鼓励角色间结对和讨论:开发和测试角色之间共同完成一项任务。


8.

角色互换是否会给项目增加风险?

在一个团队合作融洽和目标统一的团队这个问题应该不会存在,而且项目中多能型人才的培养对于团队的健康度非常重要。

角色互换的另一个时机是:各人完成高质量完成自己的任务,然后拼命的去帮助别人。


9.

敏捷实践中如何减少时间浪费?

不成熟的敏捷团队效率低下的一个重要原因是受限于规则而浪费大量的时间,而这些浪费的时间竟然是为了所谓的沟通。

敏捷中真正的沟通不是在开会中完成的,诸如以下注意事项:

(1)诸如每日例会、回顾会、计划会必须有明确的议题和目标,培养在规定时间内完成沟通的习惯。

(2)技术问题应该小组内讨论并明确问题后,再作为议题在相关人员范围内开会讨论,避免浪费非相关人员的时间。

(3)故事描述必须清晰,避免不必要的混淆。

(4)不要把所有得讨论机会都安排在会议内,真正的讨论和沟通时在会议以外完成的。

(5)培养沟通和讨论技巧,提高工作相关的沟通效率。


10.

影响力是将有价值的思想传递给团队、客户,更多人乃至社会。

将影响力作为一个重要的指标考虑团队成员:

  1. 能够被正确的思想影响?(这个洗脑式的培训是完全不同的,现在很多敏捷推广搞的像传销一样,敏捷的推广要根据不同行业和产品的差异性,用实际的工程实践证明其有效性。)
  2. 主动学习新技术?
  3. 经常向团队提供本职工作外的帮助?
  4. 愿意向团队分享新技术新思想?
  5. Session 能力很强?

11.

认同的价值和作用?

敏捷团队的成功取决于大家对于敏捷的认同,即对敏捷价值观的认同。

如果团队大多数人没有接受敏捷思想的价值观,仅仅是在过程和实践上实行敏捷,团队注定正走在一条失败的路上。


12.

敏捷团队欢迎女性:

有数据表明女性在沟通能力、人际交往、耐心、细心等方面明显高于男性,而这些特质在以敏捷为代表的现代软件开发中直观重要。

13.

无私的团队能够培养无私的员工,能够吸引更多优秀的员工,而且成功的概率更高。

14.

在中国实行敏捷,首先必须克服中国传统的官本位思想。

15.

鼓励团队成员读书并分享,分享是激发创新的最佳途径。

16.

鼓励辩论且不仅限于技术。辩论是正向刺激大脑思考和锻炼思维的好方法。

每周开始第一天往往精力不是太集中,可以通过安排一场技术辩论的将大家的思维调动起来。

每周最后一个小时可以组队安排一个非技术议题辩论,不但可以增强团队建设,还可以放松一周工作的紧张情绪。

17.

注意信任的重要性:

团队凝聚力不是体现在融洽度上,而是在相互对彼此的信任度上。

团队成员之间的信任并非在于个人情感上,而是体现在工作上彼此之间的理解和无条件的支持。

(理想状态下,既是两个人之间个人情感上有冲突,但是对于工作上仍然百分百的信任和支持)

在培养并形成团队充分信任之前,必须由大家一起制定团队的行为准则和价值基础。

例如:在共同目标(高质量的软件和客户价值)的前提下,鼓励善意的提醒,不提倡奉承,不允许团队内部的小利益体等。

18.

测试人员和开发人员的关系处理:

测试人员方面,对于一个表象问题,即使只有50%的可能性是研发问题,不成熟的测试人员一般也会100%的确认是问题,并且在情感上和沟通语言上处于上风。

研发人员方面,对于同样的疑似bug,研发人员往往以代码最近未改动或者前一个版本没问题为借口,先排除自己的责任,然后自然和测试人员之间开始例行的拉锯。

对于这样的问题,必须消除各自的考核机制对于双方抵触情绪的影响,如果条件允许,组建测试开发融合的团队,以交付的质量作为对团队的考核。

其次,建议首先从测试人员角度改善沟通,对于非确定性问题,应该以温和的方式确定其原因,减少由于误报导致彼此之间信任度问题。

最好,开发必须建立完善的构建流程,及质量保证机制,确保每天新增代码的质量。

19.

敏捷测试中自动化测试应该和探索性测试结合。

并且任务划分时必须考虑测试需要的时间和节奏,如果特殊情况下迭代内不能完成本迭代故事的验证,可以推迟到下个迭代,但是需要在本迭代明确测试用例准备及计划完成时间点。在进行了必要功能和部分探索性测试情况下,也可以提交演示,但是未充分测试的故事不应视为完成。

20.

盖洛普优势识别器

推荐使用这个心理学上普遍任何的一种测试方法,测试团队内个人的优势,根据优势来安排工作。亦或者在选择团队的时候也可以采用这个测试作为一个非决定性的参考。

21.

测试部门和开发部门的融合:
称呼的转变:招聘人员的时候,不区分开发工程师和测试工程师,两种工作都需要去做。
项目最初即确立自动化测试目标
自动化测试的持续投入
CI的优先级
专人来支持自动化测试
团队共同来计划自动化测试任务
开发人员提供编程或者可测试支持
开发人员写自动化测试用例
跨团队的测试

22.

看不懂的测试用例
自动化测试脚本的可读性不好,不好维护:
采用统一的自动化测试框架
关键字驱动
好的框架:Robot Framework
改进Case可读性:
好的测试用例标准
测试用例的评审机制
重视测试用例的可读性
老用例的重构
23.

代码走查

代码走查的必要性不必讲,这里只说明一下代码走查的时机。

新代码:每天下午下班前,必须把当天完成的代码进行必要的走查,最好是结合了测试程序。当然功能不完整的代码,开发人员一般不太愿意让别人走查,毕竟容易出丑。但是这里我要说一下,对功能未完善的代码走查,更有必要,结合了结对编程和头脑风暴的功效,对开发效率和错误率有重要的作用。

对于每天下午的代码走查,没有人是完美的,是时候放下面子的时候了,呵呵

此外,代码走查不应该是一锤子买卖,应该像复习单词一样,周期性的走查。根据个人经验,百行新代码一周内走查两次,半个月后再结合其所属模块再走查1-2次。

代码走查如果掌握正确的方法,找到乐趣,不仅可以提高代码质量,对于团队建设是有非常有利的作用。

24.

团队人员构成:

经验和认知上觉得7个人的开发团队是最合适的,当然我说的开发团队是包含测试的。
这7个人分别是:
Team Leader: 主要负责人事管理,以及负责和R&D Manager之间的沟通协调。
Tech Leader: 负责技术难点的攻关,以及总体监督和指导架构的设计(架构设计不应该是Tech Leader一个人说了算,应该团队共同决策)。
Developer: 初期投入2-3个人开发,后期随着单元测试能力以及编码质量的提高,最佳状态下投入4个人。
Tester: 初期投入3-2个人测试工作,前期投入测试多的原因是在架构设计之初和编码初期,尽可能的把需求和原型系统中致命和影响架构的Bug分析完整。一旦架构成熟,开发步入正轨,且开发人员单元测试能力的提高,最佳状态下测试人员仅需要投入1个人。

敏捷技术和管理方法思考列表---长期维护相关推荐

  1. 浅谈芹菜种植技术与管理方法

    "导读"芹菜是人们餐桌上的常见蔬菜,但是大部分年轻人都不太喜欢吃,就像排斥香菜一样排斥芹菜,网上甚至网络投票芹菜和香菜.鱼腥草你更讨厌哪个?其实芹菜营养价值是非常高的,下面一起学习 ...

  2. PDM系统在技术状态管理中的应用研究

    摘要:PDM(产品数据管理)技术以及相应的应用软件是上世纪80年代出现的,以技术管理为依托,具有四大内容即技术状态标识.技术状态控制.技术状态纪实和技术状态审核,形成自动化的办公流程,随着国民经济的不 ...

  3. 敏捷开发绩效管理之一:序言及“敏捷开发是否考核个人”(绩效考核)

    这是敏捷开发绩效管理的第一篇.(之一,之二,之三,之四,之五,之六,之七) "敏捷开发绩效管理"本身是个伪命题,因为敏捷开发本身不想涉及绩效管理,这就像"C++绩效管理& ...

  4. 软件需求管理用例方法 pdf_德国易用的需求管理方法-tenowork敏捷管理

    德国易用的需求管理方法 [bjknskj3] 没有实施和服务系统无法落地是需要提供实施和服务才能正式使用的,而实施需要厂商和终用户的紧密协调合作,不同企业对的要求不同,实施难度也不一样,有的包含不同程 ...

  5. 如何做好技术管理的思考

    如何做好技术管理的思考 本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/ex_net/article/details/8592574 作者:张建波 ...

  6. 技术债务管理_管理技术债务

    技术债务管理 DevOps Essentials DevOps基础 介绍 (Introduction) Technical debt is one of the most insidious and ...

  7. 敏捷开发绩效管理之九:阿米巴经营之软件团队经营什么(上)

    这是敏捷开发绩效管理的第九篇.(栏目总目录) 若正在为长期没有得到职务提升而感到困惑,下面的内容可能会有所帮助.因为越向上的职位越不像一个打工者,而是像一个企业的经营者. 何为经营 对一个开发团队而言 ...

  8. 【工业4.0】第四次工业革命潜在的市场变化,随之萌生的机遇,以及构建企业敏捷能力的实践方法。...

    商业与科技之间的关系正面临着一场变革.这次变革的浪潮,将迫使企业各部门必须以前所未有地方式紧密合作.有备而来也好,随波逐流也罢,挑战已经不由分说地摆在眼前.接下来,我们从三个方面对这场转型进行解读:潜 ...

  9. 对于软件价值管理的思考--《PMO论文集2019》(电子版)

    原创:PMO评论 特约作者:胡乔治 摘要:传统项目管理,无论是典型的软件销售服务公司,还是互联网软件公司,在过程管理中,通常是从需求输入开始.这当中造成的误判范围.过度承诺.信息传递变形甚至信息黑洞的 ...

  10. 独家 | 数据科学家对可复用Python代码的实用管理方法(附链接)

    作者:Matthew Mayo, KDnuggets翻译:殷之涵校对:欧阳锦本文约3000字,建议阅读5分钟本文为大家介绍了四种关于复用Python代码的管理方法,以提高代码的效率及可读性等. 标签: ...

最新文章

  1. 四代 DNA 测序技术简述*
  2. haproxy负载均衡
  3. s3c2440地址分配
  4. java.util.Date转换成java.sql.Date
  5. Servlet与JSP间的传值问题
  6. python爬取appstore的评论数据的步骤_python数据抓取分析
  7. mysql创建表有则删除_MySQL创建表和删除表
  8. 营收增速环比放缓 Okta高歌猛进的那股劲去哪了?
  9. Windows | 快速删除大量回收站文件
  10. python数列求和_python练习--数列求和
  11. 淘宝首页和详情页的规范
  12. 阿里P6员工炫耀:年薪60万,哪家外企接的住阿里的员工?
  13. CYQ.Data、ASP.NET Aries 百家企业使用名单
  14. 05月12日三支有望飙涨股与操盘策略分析
  15. UE Gameplay Learning Record
  16. 授人以渔系列----如何win10安装ffmpeg
  17. 手机电池电量剩余通知
  18. 解决专为旧版android打造
  19. 双向循环链表:始终保持被频繁访问的结点总是靠近表头结点
  20. google收购列表

热门文章

  1. 分布式事务方案Seata
  2. 小程序第三方平台初体验(上)|微专辑
  3. 「磨金石教育学员插画作业」什么是日系插画?
  4. golang实现微信公众号发红包功能
  5. 群晖搭建discuz论坛
  6. 几步操作即可实现WhatsApp群发
  7. React初尝试-仿写CNode社区
  8. 【回声状态网络ESN预测】基于粒子群优化回声状态网络ESN实现数据预测附matlab代码
  9. 【DeepLearning】【环境配置】Ubuntu 下手动调节 Nvidia 显卡风扇转速
  10. android模拟器高德地图,【高德地图电脑版】高德地图电脑版官方下载 含安卓模拟器 车机版-趣致软件园...