Git命令扫描频繁修改代码热力图以提高代码质量

对于大型复杂架构的产品代码,如何知道哪些是被频繁修改的?哪些不稳定或蕴含了潜在的缺陷或者需要频繁的回归测试,以保证持续交付的质量?如果能根据代码痕迹画出热力图或云图。据此就能找到那些不稳定的模块和代码,调动人员review这些代码,分析导致变动的原因,解决那些不稳定因素,不管是耦合问题,还是抽象层次问题,那么代码的质量会直线上升,程序员工作量就会直线下降。

Git Log加命令行管道

git log命令的结果中包含了所有的提交信息,可以通过参数只筛选出文件名,然后先按照文件名进行排序(sort),然后用(uniq)命令来统计每个文件名出现的次数,然后再按次数排序(sort),最后是(head)命令来找出提交次数最多的10个,即是那些被频繁修改的代码文件。

git log --pretty=format: --name-only | sort | uniq -c | sort -rg | head -10

管道命令可以任意拼接,比如只想从所有C#代码里面来扫描,就再加一个grep管道来过滤即可:

git log --pretty=format: --name-only | grep .cs$ | sort | uniq -c | sort -rg | head -20

Git Effort

如果你在安装GIT命令行时安装了附加工具包git-extras,就可以用git-effort命令来扫描, 它会列出你的仓库中所有文件及提交次数。例如,你可以用下列命令来忽略少于4次提交的文件:

git-effort --above 4

新加坡一家银行的数字化创新:DBS走出石器时代的十条敏捷转型经验

作者:2017年4月4日,Paul Cobban, DBS星展银行首席数字化及转型官

中文版授权翻译团队信息(译者:刘文举;审校:赵瑜、李国彪)

原文链接:http://sina.lt/f2wY
译文链接: https://www.uperform.cn/digital-innovations-singapore-bank-10-lessons-learnt-when-dbs-came-out-of-the-stone-age/

我们在团队创新中吸取的经验

还记得我在DBS的第一天。当我告诉新加坡出租车“叔叔”我要去DBS时,他说道 “DBS-慢得要死。”(“Damn, Bloody, Slow.”)

毫无疑问,2009的DBS银行因其官僚作风盛行、想象力缺乏、反应迟钝而享有盛誉。

我们当时也有了一位新的行政长官Piyush Gupta。他下定决心要扭转这种局面。我们都知道我们该做点改变,但不知道从何入手。

银行业以外的汽车行业给我们带来了灵感,尤其是Kaizen持续改善的理念。Kaizen是由日本管理大师Masaaki Imai 今井正明提出的,它强调的是持续改进的过程,最初应用于汽车生产线。这也是今天我们所读到的精益管理的基础。

在参观日本工厂期间,我们有机会幸会了Masaak imai本人,也看到了持续改进过程在现代制造业中的影响力。但它是否适用于银行呢?我们决定一试。

Read More

敏捷项目迭代过程中测出缺陷要不要在看板加一列Bug List?

说说我对于迭代过程中测出bug这件事的看法:先不论开发测试是不是独立团队,也不争论Scrum与看板方法(两者都是遵循精益思想),测出的bug分几种情况处理:

  1. 如果产品负责人/产品经理判断立刻要改,那么就是个阻塞项,贴红色标记,留在当前列里面不回流,不修好这个item不能称为完成
  2. 如果判断说根本不是bug,那么直接丢弃
  3. ROI不高的鸡肋,狠心丢弃(断舍离),实在太纠结就重新回到Product Backlog待办列表一列,待将来重新排期(虽然很可能再也不会改了)

为什么这么做?

Read More

大公司里技术专家转做基层敏捷Product Owner,前途何在?

同一般小公司或互联网公司的产品不同,电信设备行业软件系统很复杂,动辄几千人做一个系统。即便在敏捷模式下,为了支持Scaling Agile, PO也是分层次的。三层很常见,越往上,越倾向于管理和协调,越往下,越倾向于实际需求管理和技术。最基层的PO往往是从技术专家转型而来,在初任PO的几个月里常常存在不少困惑,比如:无法投入更多时间花在自己喜欢的技术上;需要同很多人打交道,不仅花费了很多时间,争吵也是常有的事,很多看似简单的事情并不容易推动,很不适应这种工作状态,常有想回到过去纯做技术的冲动。

PO到底是个什么职位呢?在互联网类的公司里,PO做为产品经理是科技,商业与用户体验的综合体,有权决定产品的未来。但在电信设备类的公司里,情况稍有不同,我总结为PO乃技术、管理和人性的综合体。

Read More

霍金带你逃离时间的黑洞

摘要:时间黑洞带来拖延症,Scrum敏捷工作方法基于时间盒理念,帮助你高效搞定工作,达到事半功倍的效果。

2018年3月14日,霍金飞去浩瀚的宇宙了

斯蒂芬·威廉·霍金(StephenWilliam Hawking),1942年1月8日出生于英国牛津,英国剑桥大学著名物理学家。主要研究领域是宇宙论和黑洞,证明了广义相对论的奇性定理和黑洞面积定理,提出了黑洞蒸发理论和无边界的霍金宇宙模型,在统一20世纪物理学的两大基础理论——爱因斯坦创立的相对论和普朗克创立的量子力学方面走出了重要一步。他21岁时患上肌肉萎缩性侧索硬化症,全身瘫痪,不能言语,手部只有三根手指可以活动,仍然在轮椅上坚持为人类带来《时间简史》、《果壳中的宇宙》、《大设计》等科普巨著。作为那些书的读者,也看过2014年上映的霍金传记电影《万物理论》,其成就和经历颇令人唏嘘感动。

时间黑洞就在每个人手中

根据热力学第二定律,时间是单向,正如每个人从出生、长大、老去,是不可逆转的方向。时间对每个人都是公平的,好过歹过都是这一生。

Read More

【懒人包】三分钟了解最新Certified Scrum认证和CSP体系-2018年Scrum Alliance

[TOC]

什么是Scrum ?

Scrum是一个实现了敏捷思维的框架,帮助团队快速前进和学习,是一种把事情搞定的敏捷方法,Scrum常常与其他敏捷框架结合起来使用。全球70%以上的组织选择了Scrum进行敏捷软件开发和敏捷项目管理。

什么是Scrum联盟认证体系 ?

Scrum Alliance总部位于美国,是一个为Scrum和敏捷实践者提供教育、资源和支持的组织。深入一步,你会发现Scrum联盟是观念和变革运动的一部分。Scrum联盟提供主张、社区参与、研究、人际网络和关注组织变革,这些变革正在改变着全球的工作方式。Scrum是一个非盈利组织,由全球超过50万认证者组成,驱使我们的不是商业,也不是什么财务盈亏;我们的动力正是来自于全球社区的成员,以及寻求实现真正工作与生活平衡的每个人。

Scrum认证体系由国际Scrum联盟(ScrumAlliance.org)制定和维护,针对个人职业发展的敏捷认证体系,Scrum认证证书由Scrum联盟官方统一颁发和维护。其中基础级认证面向Scrum的三个角色:ScrumMaster、Product Owner和交付团队。UPerform敏捷学院是中国领先的Scrum认证及敏捷培训授权服务机构。

自2018年起,最新Scrum认证体系更新如下:

Read More

更多实惠!Scrum Alliance导师级CTC认证于2018年全面升级

全新CTC认证更多实惠

2018年CTC认证项目升级后:

  • 作为“通过教练来获得认证”(Certification via Coaching)的一部分,CTC持有者每年最多可以推荐50个人成为CSM/CSPO,被推荐者需要接受至少25小时 面对面,1对1或者小组(每组不超过8人)形式的Scrum教练辅导。CSM受推荐者必须通过CSM考试。CTC本人必须持有CSPO认证才能推荐他人成为CSPO。
  • CTC也将受邀参加在Global Gathering期间举办的Trainer/Coach Retreat活动。
  • CTC将加入TCC邮件讨论组(目前包括全球所有CST、CEC认证者)
  • CTC需要每2年进行续期

Read More

专注要事、把手弄脏、高效优雅是对抗规模化焦虑的好办法--读Getting Real(达成现实)和 Rework(重塑工作)

飞机上读完了来自著名敏捷产品开发小公司–37signals的两本书,Getting Real《达成现实》和 Rework 《重塑工作》,后一本是前一半的升级版。作者是大名鼎鼎的Jason Fried / David Heinemeier Hansson / Matthew Linderman。讲述在VUCA(乌卡)互联网时代,用聪明、快速、容易的方式构建一个成功的产品。

最能够引起共鸣的,第一个是专注,专注于问题的关键,专注于客户价值,专注于要事,分清轻重缓急,敢于说“不”。第二个是“动手,别吵吵”,把手弄脏同时拥抱变化,迅速决定下一个小目标,然后完成它,从成功的成就感和经验中迭代前行。第三个是高效的适量工作远好于过量的低效工作,轻松优雅地平衡好生活与工作,在路上要不时地抬头望望天。

Read More

你的Scrum迭代够精益吗?看完就全明白了

Scrum与产品创新

VUCA时代的产品

产品(Product)是用来满足人们需求和欲望的物体或无形的载体(服务)。虚拟产品和服务将会越来越多占据人们的时间。然而产品研发中,需求文档永远没法完全被理解,实际用户在看到实物之后可能都不知道自己要什么,充满交互的系统(软件系统,以及近在眼前的AI人工智能、VR虚拟现实)永远无法被精确定义和测试。产品及产品研发从来都是创新,没有哪个产品会和昨天完全一样,那样的话只要复制就行了。既然难以复制,所以如果太过关注于效率,就很难有好的效果。在充满变化和不确定性的情况下,产品研发工作会迅速地进入Cynefin框架中的复杂和混沌领域并不断进化。

VUCA和互联网时代,问题、方案、人员、环境很多都越来越难以琢磨,昨天的成功不可重复,甚至昨天的经验可能是明天的阻碍。所谓不确定性,其实是没有加上时间维度。学会做时间的朋友,从不确定中找到确定性,一切就容易多了。在物理学中,单独测量一个光子的偏振方向,每次得到的结果都是随机的,但是结合时间维度长期来看,测量结果是有规律的、符合概率的,于是人类就可以“控制”量子了,从不确定中获取确定的收益了。大家也可以看看《反脆弱》这本书,期权投资获利也都是这个道理。

“尊重人”与“持续改进”

30年前,流水线制造是工业社会主流,成本效率优先。两位学者Takeuchi和Nonaka于1986年在“哈佛商业评论”发表论文《新的新产品开发游戏》(用了game一词,现在的Scrum实践也称为Game Rule,这不是巧合)。开篇提到“在当今快节奏,激烈竞争的商业新产品开发世界中,速度和灵活性至关重要。 公司越来越意识到,开发新产品用旧式、顺序的(比如Waterfall/PMP/CMMI或任何预先计划的方法论)方法根本无法完成工作。需要一种整体类似英式橄榄球(Rugby)打法,球队作为一个整体,不断传球的方式。”

Read More