博客园 - 菜阿彬
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=32829
2013-09-03T12:46:53Z
菜阿彬
https://www.cnblogs.com/CaiAbin/
feed.cnblogs.com
https://www.cnblogs.com/CaiAbin/p/3299708.html
博客搬家了 - 菜阿彬
因为学习并喜欢上了使用Markdown写作喜欢Github喜欢Ruby喜欢Twitter的Bootstrap喜欢开源……所以有了http://johncai.github.io程序员就应该每天用git push来发表博客。欢迎围观。http://johncai.github.io
2013-09-03T12:43:00Z
2013-09-03T12:43:00Z
菜阿彬
https://www.cnblogs.com/CaiAbin/
【摘要】因为学习并喜欢上了使用Markdown写作喜欢Github喜欢Ruby喜欢Twitter的Bootstrap喜欢开源……所以有了http://johncai.github.io程序员就应该每天用git push来发表博客。欢迎围观。http://johncai.github.io <a href="https://www.cnblogs.com/CaiAbin/p/3299708.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/CaiAbin/archive/2012/09/09/2677393.html
泰国行敏捷培训第一天:欣赏式探询(Appreciative Inquiry)(上) - 菜阿彬
9月3号到9月7号,部门到泰国华欣offsite meeting。其中有两天是Daniel Teng给我们做的敏捷培训,很多人本以为培训就是老师讲,我们听,结果完全不是这样,那两天都是需要每个参与者积极参与,完全没有打酱油的机会。 9月4号是敏捷培训的第一天,主题是欣赏式探询(Appreciative Inquiry),以下简称AI。什么是AI 传统上,当一个组织反省过去时,总是去总结出过去做的不好的地方,避免以后再犯。而AI反其道而行之,它聚焦在过去做的好的地方,继续强化。——这就是“欣赏式”的意思所在。(AI focuses on increasing what an organi...
2012-09-09T05:23:00Z
2012-09-09T05:23:00Z
菜阿彬
https://www.cnblogs.com/CaiAbin/
【摘要】9月3号到9月7号,部门到泰国华欣offsite meeting。其中有两天是Daniel Teng给我们做的敏捷培训,很多人本以为培训就是老师讲,我们听,结果完全不是这样,那两天都是需要每个参与者积极参与,完全没有打酱油的机会。 9月4号是敏捷培训的第一天,主题是欣赏式探询(Appreciative Inquiry),以下简称AI。什么是AI 传统上,当一个组织反省过去时,总是去总结出过去做的不好的地方,避免以后再犯。而AI反其道而行之,它聚焦在过去做的好的地方,继续强化。——这就是“欣赏式”的意思所在。(AI focuses on increasing what an organi... <a href="https://www.cnblogs.com/CaiAbin/archive/2012/09/09/2677393.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/CaiAbin/archive/2011/11/24/2262323.html
我的常识——程序员应该“道”“术”双修 - 菜阿彬
“道”和“术”分别是什么?设计模式是“道”还是“术”?你写的或者读的博客,有多少是关于“术”的?有多少是关于“道”的?
2011-11-24T14:16:00Z
2011-11-24T14:16:00Z
菜阿彬
https://www.cnblogs.com/CaiAbin/
【摘要】“道”和“术”分别是什么?设计模式是“道”还是“术”?你写的或者读的博客,有多少是关于“术”的?有多少是关于“道”的? <a href="https://www.cnblogs.com/CaiAbin/archive/2011/11/24/2262323.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/CaiAbin/archive/2011/11/12/2246551.html
我的常识—— Do it early, do it often, do it automatically - 菜阿彬
1,不要完全依赖人来测试我们的代码——用代码来测试我们的代码。
2,不要完全依赖人来验证我们系统的集成——用自动化脚本,用持续集成软件。
3,不要依赖人工一次性的劳动来确保软件的正确——用分而治之、迭代开发来“反复确保”。
4,不要等软件腐化后再来“重写”软件——时时刻刻“重构”它。
5,不要期待设计/架构可以一步到位——时时刻刻进化它。
Do it often。
2011-11-12T13:02:00Z
2011-11-12T13:02:00Z
菜阿彬
https://www.cnblogs.com/CaiAbin/
【摘要】1,不要完全依赖人来测试我们的代码——用代码来测试我们的代码。
2,不要完全依赖人来验证我们系统的集成——用自动化脚本,用持续集成软件。
3,不要依赖人工一次性的劳动来确保软件的正确——用分而治之、迭代开发来“反复确保”。
4,不要等软件腐化后再来“重写”软件——时时刻刻“重构”它。
5,不要期待设计/架构可以一步到位——时时刻刻进化它。
Do it often。 <a href="https://www.cnblogs.com/CaiAbin/archive/2011/11/12/2246551.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/CaiAbin/archive/2011/05/09/2041578.html
为什么要让我们的“领域模型”裸奔?(下) - 菜阿彬
上篇文章引起不少有价值的回复,我也学到不少东西,谢谢大家。 在此对上篇做下补充说明: 1,因本人毕业以来从事的项目全是业务逻辑复杂的企业应用软件,ERP,SCM,HRP,CRM……,这种系统,如Martin Fowler在PEAA一书中所说,是适合使用Domain Model的,上文和本篇讨论的都是基于这样的场景和前提。 2,正如一哥们回复中说的,天下没有绝对的东西,我们都在写随笔,不是写论文。这两篇文章只是提供一种看待问题的视角,看问题的视角多了,到了具体的项目,就会有更多的选择。 3,写上篇时没想到要分上下篇,导致整个上篇没有说明啥叫“裸奔”,不过从评论看,大部分人都读懂了:就是让“领域.
2011-05-09T14:22:00Z
2011-05-09T14:22:00Z
菜阿彬
https://www.cnblogs.com/CaiAbin/
【摘要】上篇文章引起不少有价值的回复,我也学到不少东西,谢谢大家。 在此对上篇做下补充说明: 1,因本人毕业以来从事的项目全是业务逻辑复杂的企业应用软件,ERP,SCM,HRP,CRM……,这种系统,如Martin Fowler在PEAA一书中所说,是适合使用Domain Model的,上文和本篇讨论的都是基于这样的场景和前提。 2,正如一哥们回复中说的,天下没有绝对的东西,我们都在写随笔,不是写论文。这两篇文章只是提供一种看待问题的视角,看问题的视角多了,到了具体的项目,就会有更多的选择。 3,写上篇时没想到要分上下篇,导致整个上篇没有说明啥叫“裸奔”,不过从评论看,大部分人都读懂了:就是让“领域. <a href="https://www.cnblogs.com/CaiAbin/archive/2011/05/09/2041578.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/CaiAbin/archive/2011/05/08/2040026.html
为什么要让我们的“领域模型”裸奔?(上) - 菜阿彬
三层架构里,往往认为中间的业务逻辑层(BLL)依赖于最下面的数据存储层(DAL),可是每个应用系统的“业务逻辑”才是应用系统存在的理由,才是开发它的目的所在。而UI展现、数据库存储、Cache等都是为了实现“业务逻辑”这个目的所提供的手段,都有成熟的框架、模式可用,都可以是雷同的。那么为什么“业务逻辑”要依赖于“存储技术”?为什么“目的”要依赖于“手段”?
2011-05-07T16:03:00Z
2011-05-07T16:03:00Z
菜阿彬
https://www.cnblogs.com/CaiAbin/
【摘要】三层架构里,往往认为中间的业务逻辑层(BLL)依赖于最下面的数据存储层(DAL),可是每个应用系统的“业务逻辑”才是应用系统存在的理由,才是开发它的目的所在。而UI展现、数据库存储、Cache等都是为了实现“业务逻辑”这个目的所提供的手段,都有成熟的框架、模式可用,都可以是雷同的。那么为什么“业务逻辑”要依赖于“存储技术”?为什么“目的”要依赖于“手段”? <a href="https://www.cnblogs.com/CaiAbin/archive/2011/05/08/2040026.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/CaiAbin/archive/2011/04/09/2010706.html
大家是怎么做Code Review的? - 菜阿彬
先说说我们公司现在的做法,一个团队被人为地分为两个阵营:Senior Developers和Junior Developers,比例差不多是1:1,Senior Developers就担负着对Junior Developers的代码进行Review的职责,每天Review一次,对有问题的代码写上comments,然后也check in到代码库中。这种comments有特殊格式(比如//\\CodeReview:blah blah),要求Junior Developers每天下班前一小时去代码库中找这种格式的comments,然后修复自己的有问题的代码,修复时删除Reviewer留下的Comm.
2011-04-09T11:25:00Z
2011-04-09T11:25:00Z
菜阿彬
https://www.cnblogs.com/CaiAbin/
【摘要】先说说我们公司现在的做法,一个团队被人为地分为两个阵营:Senior Developers和Junior Developers,比例差不多是1:1,Senior Developers就担负着对Junior Developers的代码进行Review的职责,每天Review一次,对有问题的代码写上comments,然后也check in到代码库中。这种comments有特殊格式(比如//\\CodeReview:blah blah),要求Junior Developers每天下班前一小时去代码库中找这种格式的comments,然后修复自己的有问题的代码,修复时删除Reviewer留下的Comm. <a href="https://www.cnblogs.com/CaiAbin/archive/2011/04/09/2010706.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/CaiAbin/archive/2010/10/26/Team_Learning_0.html
团队学习日记(0)——用wiki来记录团队的学习日记 - 菜阿彬
准备尝试一个实践:团队作为一个整体,来写“工作日记”,记录一切跟工作相关的、让我们团队成长的知识点,包括写代码、做事的方式方法、敏捷实践、团队建设、团队学习……而这篇文章——“用wiki来记录团队学习日记”,就当做我们团队的第一篇“团队学习日记”吧(传说中的递归?!)。
2010-10-26T14:42:00Z
2010-10-26T14:42:00Z
菜阿彬
https://www.cnblogs.com/CaiAbin/
【摘要】准备尝试一个实践:团队作为一个整体,来写“工作日记”,记录一切跟工作相关的、让我们团队成长的知识点,包括写代码、做事的方式方法、敏捷实践、团队建设、团队学习……而这篇文章——“用wiki来记录团队学习日记”,就当做我们团队的第一篇“团队学习日记”吧(传说中的递归?!)。 <a href="https://www.cnblogs.com/CaiAbin/archive/2010/10/26/Team_Learning_0.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/CaiAbin/archive/2010/10/15/1852613.html
我在敏捷中国Open Space上发起的讨论主题——如何激励,用绩效考核吗? - 菜阿彬
第五届敏捷中国大会刚刚落幕,两天听了14场演讲(因为每天的下午都有两个分会场,有8场演讲没有听到),整体还是不错的,给我印象比较深的是Mary的《Making Change Happen and Making Change Stick》、Jean Tabaka的《敏捷运用之12种成功模式》、阳陆育的《大型企业应用系统的敏捷需求管理》,其它演讲也可圈可点,尤其是我今天听的最后一场Alan Atlas...
2010-10-15T14:25:00Z
2010-10-15T14:25:00Z
菜阿彬
https://www.cnblogs.com/CaiAbin/
【摘要】第五届敏捷中国大会刚刚落幕,两天听了14场演讲(因为每天的下午都有两个分会场,有8场演讲没有听到),整体还是不错的,给我印象比较深的是Mary的《Making Change Happen and Making Change Stick》、Jean Tabaka的《敏捷运用之12种成功模式》、阳陆育的《大型企业应用系统的敏捷需求管理》,其它演讲也可圈可点,尤其是我今天听的最后一场Alan Atlas... <a href="https://www.cnblogs.com/CaiAbin/archive/2010/10/15/1852613.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/CaiAbin/archive/2010/09/25/1834797.html
我的JavaScript之旅——this到底是啥? - 菜阿彬
下图是在ASP.NET中为button挂上客户端onclick事件的两种办法:图中的2和3/1。结果发现两种方式调用同样一个函数clickMe,this却不一样。 如果采用3或1的做法,那么点击button1后将alert出[object DOMWindow];而采用2的做法,将alert出[object HTMLInputElement](在chrome下测试。) 显然,在1的做法中,t...
2010-09-25T14:17:00Z
2010-09-25T14:17:00Z
菜阿彬
https://www.cnblogs.com/CaiAbin/
【摘要】下图是在ASP.NET中为button挂上客户端onclick事件的两种办法:图中的2和3/1。结果发现两种方式调用同样一个函数clickMe,this却不一样。 如果采用3或1的做法,那么点击button1后将alert出[object DOMWindow];而采用2的做法,将alert出[object HTMLInputElement](在chrome下测试。) 显然,在1的做法中,t... <a href="https://www.cnblogs.com/CaiAbin/archive/2010/09/25/1834797.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/CaiAbin/archive/2010/09/18/1830388.html
QA不是QC,兼谈Lean、Kanban和TDD(下)——对所在团队的反思 - 菜阿彬
上篇文章说了QA与QC的区别,以及一种不太好的流程所造成的浪费,这篇对我所在团队的状况进行反思。为什么这么多bug? 1个月200多个,按工作日平均下来1天10个,触目惊心。我认为原因很多,列举如下:环境。在进度第一的观念下,代码库中渐渐充斥着设计拙劣、充满陷阱的代码。殊不知慢就是快,而表面上的快实际上严重拖慢了团队的脚步。造成的结果不仅bug多,而且被fix后,不知哪天又冒出来了。程序员习惯。...
2010-09-18T13:09:00Z
2010-09-18T13:09:00Z
菜阿彬
https://www.cnblogs.com/CaiAbin/
【摘要】上篇文章说了QA与QC的区别,以及一种不太好的流程所造成的浪费,这篇对我所在团队的状况进行反思。为什么这么多bug? 1个月200多个,按工作日平均下来1天10个,触目惊心。我认为原因很多,列举如下:环境。在进度第一的观念下,代码库中渐渐充斥着设计拙劣、充满陷阱的代码。殊不知慢就是快,而表面上的快实际上严重拖慢了团队的脚步。造成的结果不仅bug多,而且被fix后,不知哪天又冒出来了。程序员习惯。... <a href="https://www.cnblogs.com/CaiAbin/archive/2010/09/18/1830388.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/CaiAbin/archive/2010/09/14/1826287.html
我的JavaScript之旅——“闭包”是什么时候创建的 - 菜阿彬
[代码]对于这样一个简单的闭包函数,下面两种调用方式有什么不一样的地方?[代码][代码]此篇试图解答这个问题。先复习一下:上篇文章说到,每次执行一个function时,就会进入一个新的“执行上下文”(execution context)。context的几个重要属性: 1, 有一个对应的variable object;在global context中就是global ob...
2010-09-14T13:43:00Z
2010-09-14T13:43:00Z
菜阿彬
https://www.cnblogs.com/CaiAbin/
【摘要】[代码]对于这样一个简单的闭包函数,下面两种调用方式有什么不一样的地方?[代码][代码]此篇试图解答这个问题。先复习一下:上篇文章说到,每次执行一个function时,就会进入一个新的“执行上下文”(execution context)。context的几个重要属性: 1, 有一个对应的variable object;在global context中就是global ob... <a href="https://www.cnblogs.com/CaiAbin/archive/2010/09/14/1826287.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/CaiAbin/archive/2010/09/11/1824111.html
QA不是QC,兼谈Lean、Kanban和TDD(上) - 菜阿彬
如果QA总是在Verify的阶段发现缺陷。那么有缺陷的不仅是你的软件,更是你的流程——Mary Poppendieck。有一家很糟糕的餐厅,里面的厨师几乎总是把盐放得过多。顾客少的时候,他炒好菜会自己尝一下,发现太咸了,就再倒回锅里再加工一下;顾客多时,就不管那么多了,直接上菜,然后等不能忍受的顾客把菜拿回来,再加工,而就算那些能忍受的顾客呢,下次也不会再来了。这样的餐厅有...
2010-09-11T12:08:00Z
2010-09-11T12:08:00Z
菜阿彬
https://www.cnblogs.com/CaiAbin/
【摘要】如果QA总是在Verify的阶段发现缺陷。那么有缺陷的不仅是你的软件,更是你的流程——Mary Poppendieck。有一家很糟糕的餐厅,里面的厨师几乎总是把盐放得过多。顾客少的时候,他炒好菜会自己尝一下,发现太咸了,就再倒回锅里再加工一下;顾客多时,就不管那么多了,直接上菜,然后等不能忍受的顾客把菜拿回来,再加工,而就算那些能忍受的顾客呢,下次也不会再来了。这样的餐厅有... <a href="https://www.cnblogs.com/CaiAbin/archive/2010/09/11/1824111.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/CaiAbin/archive/2010/09/05/1818493.html
我的JavaScript之旅——从Scope Chain到Closure - 菜阿彬
[代码]执行上面这段代码的过程中,有哪些事情发生?Inner函数为什么可以引用Outer函数的参数x?closure是怎么实现的?本文试图回答这些问题。术语本文虽然所讲理论并不复杂,但用到不少名词,初读时相对比较晦涩,下面列出术语和简短解释,便于阅读时随时查看。global:engine预先创建好的一个object,里面有所有built-in objects的属性。globalContext:本文...
2010-09-05T08:46:00Z
2010-09-05T08:46:00Z
菜阿彬
https://www.cnblogs.com/CaiAbin/
【摘要】[代码]执行上面这段代码的过程中,有哪些事情发生?Inner函数为什么可以引用Outer函数的参数x?closure是怎么实现的?本文试图回答这些问题。术语本文虽然所讲理论并不复杂,但用到不少名词,初读时相对比较晦涩,下面列出术语和简短解释,便于阅读时随时查看。global:engine预先创建好的一个object,里面有所有built-in objects的属性。globalContext:本文... <a href="https://www.cnblogs.com/CaiAbin/archive/2010/09/05/1818493.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/CaiAbin/archive/2010/08/25/1808285.html
我的Javascript之旅——new关键字的玄机,以及其它 - 菜阿彬
(接上)先看张对老手不新鲜但对菜鸟很有趣的图: What the heck is that? 简直是luan lun。new抛开上面的图,先看看上篇文章留下的第二个问题,让我们在构造器的函数体内加点东西,看会发生什么。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->function A(){this.p =1}var a =new A()会得到如下结果: 为什么用new关键字构造出来的a,会获得p这个属性?new A()这行代码做了什么...
2010-08-25T08:29:00Z
2010-08-25T08:29:00Z
菜阿彬
https://www.cnblogs.com/CaiAbin/
【摘要】(接上)先看张对老手不新鲜但对菜鸟很有趣的图: What the heck is that? 简直是luan lun。new抛开上面的图,先看看上篇文章留下的第二个问题,让我们在构造器的函数体内加点东西,看会发生什么。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->function A(){this.p =1}var a =new A()会得到如下结果: 为什么用new关键字构造出来的a,会获得p这个属性?new A()这行代码做了什么... <a href="https://www.cnblogs.com/CaiAbin/archive/2010/08/25/1808285.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/CaiAbin/archive/2010/08/25/1808001.html
我的Javascript之旅——对象的原型链之由来 - 菜阿彬
本人是Javascript菜鸟,下面是前几天学习Javascript的旅程心得,希望对和我一样的入门者有点用,也希望高手批评指正。以问题开始:[代码]上面两行代码会创建几个对象(object)?要回答这个问题,先明确一下Javascript里object的概念。Objects在Javascript里,几乎一切都是object(Arrays、Functions、Numbers、Objects&hel...
2010-08-25T03:30:00Z
2010-08-25T03:30:00Z
菜阿彬
https://www.cnblogs.com/CaiAbin/
【摘要】本人是Javascript菜鸟,下面是前几天学习Javascript的旅程心得,希望对和我一样的入门者有点用,也希望高手批评指正。以问题开始:[代码]上面两行代码会创建几个对象(object)?要回答这个问题,先明确一下Javascript里object的概念。Objects在Javascript里,几乎一切都是object(Arrays、Functions、Numbers、Objects&hel... <a href="https://www.cnblogs.com/CaiAbin/archive/2010/08/25/1808001.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/CaiAbin/archive/2010/07/25/1784845.html
如何增强Scrum Teams之间的协作(三)—— Product Owner Council(PO委员会) - 菜阿彬
众所周知,Scrum Team里只有三种角色:Product Owner,Scrum Master,Team Members。因此谈到多个Scrum Team之间的协作时,CounterPart之间的协作问题就会顺理成章地浮现出来。本文先谈谈Product Owner之间的协作。 如果在一个产品团队,不同Scrum Team的PO连对方最近的Sprint做了什么功能都不知道,那他们显然缺乏最基本...
2010-07-25T13:21:00Z
2010-07-25T13:21:00Z
菜阿彬
https://www.cnblogs.com/CaiAbin/
【摘要】众所周知,Scrum Team里只有三种角色:Product Owner,Scrum Master,Team Members。因此谈到多个Scrum Team之间的协作时,CounterPart之间的协作问题就会顺理成章地浮现出来。本文先谈谈Product Owner之间的协作。 如果在一个产品团队,不同Scrum Team的PO连对方最近的Sprint做了什么功能都不知道,那他们显然缺乏最基本... <a href="https://www.cnblogs.com/CaiAbin/archive/2010/07/25/1784845.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/CaiAbin/archive/2010/05/19/1739556.html
如何增强Scrum Teams之间的协作(二)——Feature Team的挑战 - 菜阿彬
上文提到,对等的Feature Team,比有专属的Maintenance Team的划分方法更有优势,然而,天下无免费午餐,在废弃专属Maintenance Team,组建对等的Feature Team的过程中,也会有不少的挑战需要面对。 一,需要团队成员有更广的技术知识和产品知识。尤其是对从Maintenance Team转移到Feature Team的成员来说,很可能需要加强对产品知识的学...
2010-05-19T12:59:00Z
2010-05-19T12:59:00Z
菜阿彬
https://www.cnblogs.com/CaiAbin/
【摘要】上文提到,对等的Feature Team,比有专属的Maintenance Team的划分方法更有优势,然而,天下无免费午餐,在废弃专属Maintenance Team,组建对等的Feature Team的过程中,也会有不少的挑战需要面对。 一,需要团队成员有更广的技术知识和产品知识。尤其是对从Maintenance Team转移到Feature Team的成员来说,很可能需要加强对产品知识的学... <a href="https://www.cnblogs.com/CaiAbin/archive/2010/05/19/1739556.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/CaiAbin/archive/2010/05/18/1738635.html
如何增强Scrum Teams之间的协作(一)——Feature Team的优势 - 菜阿彬
上海的两个Scrum Team,一个是专门开发新的模块的,另一个是maintenance team,专门负责Customer Issue 和Customer Enhancement。这样分工的初衷也许是为了有一个全勤的服务团队来应对紧急的Customer Issue,提高市场反应能力;而且由于两个Team各司其责,慢慢的都会对各自的领域更为熟悉,做起事情来也就更快更好。可惜从效果上来看,这显然陷入...
2010-05-18T13:35:00Z
2010-05-18T13:35:00Z
菜阿彬
https://www.cnblogs.com/CaiAbin/
【摘要】上海的两个Scrum Team,一个是专门开发新的模块的,另一个是maintenance team,专门负责Customer Issue 和Customer Enhancement。这样分工的初衷也许是为了有一个全勤的服务团队来应对紧急的Customer Issue,提高市场反应能力;而且由于两个Team各司其责,慢慢的都会对各自的领域更为熟悉,做起事情来也就更快更好。可惜从效果上来看,这显然陷入... <a href="https://www.cnblogs.com/CaiAbin/archive/2010/05/18/1738635.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/CaiAbin/archive/2010/05/18/1738616.html
如何增强Scrum Teams之间的协作——引子 - 菜阿彬
本人所在项目组分为3个Scrum Team,其中上海2个,南京1个。上海的其中1个Team在最近的一次Retrospective meeting中提出一个问题:Team之间的知识分享和协作不够,A Team在解决一个问题时,研究了好几天后才知道B Team也在解决一个类似的问题,并且早已有了方案。 这个问题只是冰山一角,事实上,3个Team之间交流甚少,在一个Team的成员往往不知道其它Team...
2010-05-18T12:54:00Z
2010-05-18T12:54:00Z
菜阿彬
https://www.cnblogs.com/CaiAbin/
【摘要】本人所在项目组分为3个Scrum Team,其中上海2个,南京1个。上海的其中1个Team在最近的一次Retrospective meeting中提出一个问题:Team之间的知识分享和协作不够,A Team在解决一个问题时,研究了好几天后才知道B Team也在解决一个类似的问题,并且早已有了方案。 这个问题只是冰山一角,事实上,3个Team之间交流甚少,在一个Team的成员往往不知道其它Team... <a href="https://www.cnblogs.com/CaiAbin/archive/2010/05/18/1738616.html" target="_blank">阅读全文</a>