当谈论工程师文化时我们在谈些什么

“工程师文化不是谈论出来的…” “事实胜于雄辩. 但什么是事实, 则需要雄辩一番. “ 综下所述, 工程师文化是一种能力型文化, 关注可能性, 理性决策. 打造工程师文化有这么几件事可以做......
阅读(2029) 评论(0)

A la Carte Pattern, Consulting Pattern Series

扁鹊见蔡桓公,立有间,扁鹊曰:“君有疾在腠理,不治将恐深。”桓侯曰:“寡人无疾。”扁鹊出,桓侯曰:“医之好治不病以为功。”居十日,扁鹊复见曰:“君之病在肌肤,不治将益深。”桓侯不应。扁鹊出,桓侯又不悦。居十日,扁鹊复见曰:“君之病在肠胃,不治将益深。”桓侯又不应。扁鹊出,桓侯又不悦。居十日,扁鹊望桓侯而还走。桓侯故使人问之,扁鹊曰:“疾在腠理,汤熨之所及也;在肌肤,针石之所及也;在肠胃,火齐之所及...
阅读(3216) 评论(0)

Problem Driven Pattern, Coaching Pattern Series

无中生有道生一, 一生二, 二生三, 三生万物兵来将挡, 水来土掩见招拆招模式名称问题驱动模式意图通过从问题出发引出实践, 而不是生搬硬套既有实践, 避免"强加给团队既有方案"带来的负面问题, 包括争执, 怀疑等; 更重要的是, 可以真正获得改进.动机当团队试图从从一种开发模式转换到另一种时, 往往有一个效率(按原先的定义)大幅降低的阶段, 而团队也对日常的工作表现出各种不适应, 从而对整个改进工...
阅读(3049) 评论(0)

Baseline Pattern, Coaching Pattern Series

人类社会能进步,就是因为它学会了既要叛逆也要服从,发现了在漫长岁月里平衡两种品性的社会机制 --斯莫林, 物理学的困惑模式名称基线模式意图通过从整个团队都同意的一组原则和实践开始,避免"强加给团队既有方案"带来的负面问题, 包括片面的理解机械的遵守带来的争执等.动机开发过程中经常有一些关于实践纪律的争论, 比如修复失败的构建是否是优先级最高的事情, 比如是否严格遵守WIP Limits等. 一边是...
阅读(2976) 评论(0)

Framework Pattern: Consulting Pattern Series

模式名称框架模式意图使工作的vision, roadmap 以及 tradeoff 更清晰, 以使咨询师自己的工作更有条理, 并以此减少客户的困惑, 使之对将要发生的事情有一致的心理预期, 从而在碰到问题的时候可以齐心协力解决而不是横加指责, 或者因此半途而废动机咨询项目中经常面对一种情景: 所需要完成的目标与现状之间有很长的路要走. 咨询师可能对这条路比较熟, 也可能不熟. 不熟的话, 一个常见...
阅读(2946) 评论(0)

Meta Pattern, Consulting Pattern Series

no problem can be solved from the same level of consciousness that created it -- albert einstein模式名称Meta Pattern, 元模式 (元模式并不是模式的模式, 而是一种叫做"元"的模式 :) )意图通过突破/超越问题的当前层次, 在更广阔的视角下审视问题, 这样即使面对不熟悉的问题, 也依然可以...
阅读(3086) 评论(0)

Methods, Not Methodology (5): Predict without Estimation

Estimation is the most disputed practice in software development. The reasons include:It's difficult. We can't know every atom in the universe.It's easy to be out of date. Things changed frequently.Bu...
阅读(3030) 评论(0)

Methods, Not Methodology (4): Effective Meetings

The ProblemsTwo problems:Even there're already tons of articles and books talking about the meeting efficiency and effectiveness, but "too many meetings", "meeting takes too long" are still the most p...
阅读(3235) 评论(0)

Methods, Not Methodology (3): Knowing Everything at the Beginning?

Knowing all details at the beginning is considered impossible, or not necessary, so BDUF (Big Design Up Front) is considered harmful.It's usually true, but in some cases, we do need to know details as...
阅读(3394) 评论(0)

Methods, Not Methodology (2): Effective and Validated 5 Whys

As a brainstorming method, the 5 Whys are hard to beat. This technique is inexpensive, easy to implement. Because it is so elementary in nature, it can be adapted quickly and applied to almost any pro...
阅读(3198) 评论(0)

Methods, Not Methodology (I): Validated Code Review

See Also: AntiPattern: Batch Code ReviewCode review, specially daily code review, is considered a good practice. I've participated lots of code review meetings, and something concerns me. It's the low...
阅读(3385) 评论(0)

AntiPattern: Batch Code Review

所谓批量code review是指一段时间, 通常是一个迭代或几周之后, 团队坐在一起集中code review. 这种方式有几个问题:有一些通过code review能发现的bug因此而潜伏下来, 有可能被发布, 就算运气好发布前通过各种测试被发现, 依然带来一些overhead像发bug, 定位问题, 修bug等额外的工作.有一些通过code review能共享出来的知识因此而很长时间之后才被...
阅读(3527) 评论(1)

关于学校教育, 晓庆说: 不收你们钱就不错了

背景本学期我们(娴静, 唱鑫, 光磊)在北航开了一门课, 研一, 软件学院, 两学分, 十次课, 每次三小时, 周日下午上, 课程名原来叫 现代软件工程, 后来被学校改为 一级实践, 是在机房上的实践课, 我们主要练习了极限编程中几个跟编程密切相关的实践, TDD, 重构, 结对, 简单设计, 持续集成等.我们打算讲一下我们碰到的问题. 这不同于做开发项目. 我们可能是软件开发的熟手, 但学校教育...
阅读(3847) 评论(3)

学习的逻辑: 知识经济学

万物有始皆有终. 我们的逻辑链条起源于为什么要持续学习, 然后是学习什么, 怎么证明学到了, 最后是为什么只学一门不够为什么要持续学习 -- 知识通胀时代来临大家大部分都是在职的, 平时应该会存钱. 存钱最害怕什么? 对, 通货膨胀. 一旦央行开动印钞机, 并大量放贷制造流动性, 我们辛苦多年的积蓄就会被迅速稀释甚至蒸发. 然而现在有一样东西, 正以前所未有的速度被制造出来, 这就是知识. 并且其...
阅读(4357) 评论(3)

SoS: Story over Solution, Coaching Pattern Series

模式名称SoS, Story over Solution意图当改变相对复杂时, 通过一个故事或场景引导团队参与方案的推导过程, 而不是枯燥的说应该这么做, 以使团队对复杂的改变更加支持.动机当一种改变看起来与直觉不符, 通常会遇到一些抵制, 典型的反对意见比如”没必要”, “自找麻烦”, “现在这样已经足够了”. 而这些反对意见有时是源于对新改变背后的原理不够了解. 此时如果强制推行, 在实际操作...
阅读(3426) 评论(0)

CoC: Context over Code, Coaching Pattern Series

Code is cheap, show me the talk. -- from 力岩.模式名称CoC, Context over Code意图通过讲解背景问题和历史, 而不是目前的方案, 使新人(新换入的pair)更快速和透彻的理解目前的代码动机当新人加入项目开始Pair, 或者交换Pair后, 留守Feature的人要负责向新Pair讲解目前的设计和代码. 而一个坏味道是, 留守的人往往急于开...
阅读(3170) 评论(0)

SAD Pattern: Simple API for Datagram

模式名称SAD, Simple API for Datagram意图分离网络报文的解析和处理, 使解析代码和处理代码不再耦合在一起, 便于扩展. 类似SAX(Simple API for XML)将XML文档的解析和处理分离到不同的单元中动机在网络通信软件的开发中, 经常要处理网络上接收到的各种数据报文. 而收到某种报文后, 需要进行的处理逻辑上可能不止一件事情. 处理过程中会用到报文中的数据,...
阅读(3344) 评论(0)

Navigator Pattern: 导航者模式

模式名称Navigator/导航者, 一种通信软件报文处理模式意图封装报文数据复杂的内部结构, 通过提供有业务含义的寻址操作来避免危险的指针运算, 以减少重复和出错的可能, 并提供更清晰的业务意义动机在网络通信软件的开发中, 为了传输效率或完整性的考虑, 通常在应用层协议的定义中, 一次可以发送多个单位的净荷数据, 其具体数量可用报文头中的某个字段来描述. 另外一些时候报文体的长度是不定的, 通常...
阅读(3898) 评论(0)

On Knowledge Inflation: 知识通胀时代来临, 及为什么员工动力不足是伪命题

客户提到说我们也希望员工能提高自己, 可总是有人动力不足. 徐昊又讲了一遍如何散布恐慌. 基本的论述如下:知识在加速贬值. 你花了几年时间积累的知识, 现在学校都已经开始教了, 比如有的学校都开始讲敏捷了, 作为软件工程的课程内容. 换句话说, 一个毕业生在技能上已不输一个工作几年的人, 而起薪要低的多.事实上, 知识通胀时代已经来临. 大家知道货币超发会引发通货膨胀, 可现在每个行业每天都在产生...
阅读(5125) 评论(0)

On Simple Design III

简单 != 可以有Bug“这种错误情况先不用处理了吧, 简单设计嘛!”简单不是偷懒的借口. 简单设计是一种宏观的设计策略, 并不意味着微观上的偷工减料:你可以没有这个功能, 但有的话必须是不能出错的.是对无法预知的需求推迟设计决定, 而不是对已知的需求视而不见这种错误情况可能确实不需要现在处理, 但理由不应该是简单设计, 而是价值和优先级分析简单 != 功能不完整“这个功能先不用做了, 简单设计嘛...
阅读(3318) 评论(0)
107条 共6页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:386693次
    • 积分:5384
    • 等级:
    • 排名:第4882名
    • 原创:105篇
    • 转载:0篇
    • 译文:2篇
    • 评论:186条
    我的新博客
    最新评论
    亲密爱人
    文学艺术