浅谈极限编程
为什么出现极限编程 ?敏捷方法论有一个共同的特点,那就是都将矛头指向了“文档”,它们认为传统的软件工程方法文档量太“重”了,称为“重量级”方法,而相应的敏捷方法则是“轻量级”方法。正是因为“轻量级”感觉没有什么力量,不但不能够有效体现灵活性,反而显得是不解决问题的方法论似的。因此,就有了一次划时代的会议,创建了敏捷联盟。
在敏捷方法论领域中,比较知名的、有影响力的,是拥有与 Microsoft 的操作系统相同缩写语——XP的极限编程(eXtreme Programming)。极限编程方法论可以说是敏捷联盟中最鲜艳的一面旗帜,也是被研究、尝试、应用、赞扬、批判最多的一种方法论,也是相对来说最成熟的一种。
这一被誉为“黑客文化”的方法论的雏形最初形成于1996—1999年间,Kent Beck、Ward Cunninggham、Ron Jeffrey 在开发 C3 项目(Chrysler Comprehensive Compensation)的实践中总结出了 XP 的基本元素。在此之后,Kent Beck 和他的一些好朋友们一起在实践中完善提高,终于形成了极限编程方法论。
什么是解析极 ...
浅谈死海效应
什么是死海效应?Bruce F. Webster 在 2008 年写了一篇文章「The Wetware Crisis: the Dead Sea effect」, 翻译过来是死海效应。
Bruce 在文章中阐述了一个概念:一个团队可能陷入一种反模式,称之为死海效应。 死海是位于约旦的一个高盐分水域,由于水分被蒸发,这里的盐度是正常海水的 8 倍。 将水分比喻为高质量人才,盐分比喻为低质量人才。 水分容易被蒸发,而补入不足,盐分不容易蒸发日积月累,进而导致整个团队的人才质量劣化。
借用经济学里面的一个概念:劣币驱逐良币。
为什么会有死海效应呢?在一个正常运作的团队中,整个人才系统应该是循环的。有新的成员加入,也有老的成员离开。 只要市场上人才质量不发生剧烈的波动,团队内人才质量应该是平稳的。 但死海效应中不这样,好的人才不断流失,低质量人才被留存,这个团队素质越来越差。 形成这种状况的原因其实挺简单:环境恶化,高质量人才有更强的实力,可以自由地选择满足自己期望的团队。 而低质量人才没有更多选择空间,从而只能在当前的环境下继续生存。
死海效应导致的恶劣后果是显而易见的。 现代组织中人是 ...
浅谈技术债
技术债是什么?出自于沃德·坎宁安之口,他首次将技术的复杂比作为负债,简称技术负债(技术债)。软件开发本来就是一项很复杂的工程,所以很多人都软件开发当作软件工程看待。开发出来的软件是用来服务于各个领域(金融,医疗,购物等),我们程序员不一定能完全了解某个领域(术业有专攻),所以就没法很好的把控这个领域的软件架构,必然就会产生技术负债。技术债是无法避免的,只是产生技术债或多或少的问题。
为什么会有技术债呢?
我认为技术债大概分为三大类。
文档负债(包括需求分析负债,开发文档负债,测试文档负债)
需求分析负债不懂需求分析的软件开发工程师不是好的软件开发工程师,遇到问题一定要与上级领导或者客户及时反馈,及时沟通,某些需求不能做就是不能做,要持有一种质疑的心。找正确的途径去反馈问题而不是背地里去发恼骚,要懂得有效的沟通方式,让客户或者是领导理解技术实现痛点。从项目开始就必须要做好调研,不然软件开发工程师没有理解好项目需求而盲目开发项目,必然导致领域业务与开发业务不匹配, 从而付出更多的时间与精力去开发项目。不仅仅如此,调研期间必须要跟开发的经理做好沟通。
开发文档负债软件开发文档不齐全,或 ...