面向对象软件设计原则(二) —— 软件设计的腐化
我们如何知道软件设计的优劣呢?以下是一些拙劣设计的症状,当软件出现下面任何一种气味时,就表明软件正在腐化。僵化性(Rigidity):很难对系统进行改动,因为每个改动都会迫使许多对系统其他部分的其他改动。脆弱性(Fragility):对系统的改动会导致系统中和改动的地方在概念上无关的许多地方出现问题...
Scrum为什么不喜欢“来自客户的频繁变更”?
Scrum 是一种流行的敏捷开发模式,倡导团队开发的理念,重视团队的整体协作,团队成员包括客户方的代表,所以本文标题中的“客户”并不是通常意义上的外部客户,这有点像一个集团公司中的不同子公司之间的关系,但这并不是说,可以容忍“来自客户的频繁变更”,为什么呢?(下面的文字来自SCRUM节外生枝(二)h...
读《敏捷个人-认识自我,管理自我》之Scrum的核心价值观
有些语句来自原文。 在 Agile Software Development with Scrum 一书中指出,Scrum 的核心价值观是:承诺、专注、公开、敬重和勇气,它提倡自我管理、涌现机制、可视性和评估/适应循环的根本原则,这些价值观对个人管理依然非常有效。 1. 承诺(Commitment)...
[Specification by Example][ch2 key process patterns]-[读书笔记]
Specification by Example 是由一组过程模式组成的,这组过程模式能够应对软件产品中的变化,以便有效的研发出来正确的产品。 主要过程和关系如下图所示: Just in time: Successful teams don’t implement the entrie sequen...
使用Moles框架实现HttpWebRequest与HttpWebResponse的单元测试
有时程序使用HttpWebRequest与HttpWebResponse实现HTTP的访问,但我们想测试它们不太容易实现。现在我们可以使用Moles框架来实现对它的单元测试。如果您还不了解Moles,可以先到官方网站看这个文档。下面我们来看片段代码: [TestMethod][HostType(&q...
转发:8个Scrum原则
--------------------------------------------------------------在世界杯的历史上, 这个团队是最成功的,曾获六次冠军。在荷兰女子曲棍球队主教练Marc Lammers演讲中,我意识到为什么这个团队可以取得如此卓绝的成就。她们的成功,在很大程...
项目管理沙龙第十二次会议纪要--为没有共识的项目组定制敏捷方法
项目管理沙龙第十二次会议纪要本次会议的主题是为没有敏捷共识的项目组定制一个敏捷的实施方法。这是一种普遍存在的情况,和其他的新事物一样,总会有一些人对“敏捷”这两个字比较敏感,究其原因,无外乎偏见、误解和不了解(无知),部分人则是恐惧或自大。当然,不了解是绝大多数人的原因。但是,面对“没有共识”的人们...
11 款用于优化、分析源代码的Java工具 --转载
本文将提供一些工具,帮助你优化代码以及检查源代码中的潜在问题。 1. PMD from http://pmd.sourceforge.net/ PMD能够扫描Java 源代码,查找类似以下的潜在问题: 可能的bug——try/catch/finally/switch语句中返回空值。死代码——未使用的...
敏捷实践:比每日会议更疯狂的半日会议!
每日会议是说了最近一天干了啥,将来一天准备干啥吗?每日会议已经够“变态”了,半天会议是不是发“神经”了?俺不是会议控,所谓“每日会议”、“站立会议”、“半日会议”只是一种形式,关键是为什么开会?开会对项目成功有什么帮助!本文将为你分享如何让会议更加有效的一些心得体会...
项目管理沙龙第十一次聚会纪要--当敏捷没有共识的时候
项目管理沙龙第十一次聚会纪要本来这次聚会要讲一下项目管理的流程概貌,同时对第一个阶段进行一次试探性的深入探讨。可惜这次缺席人数太多,变成了“锵锵三人行”,原定想要谈的内容,也就弱化了。其实每周一次的沙龙,并不需要太多的负担,就当是每周一次的茶会吧,大家紧张了一整周,放松个90分钟,也是应该的。不过“...
项目管理沙龙第十次聚会纪要-AOM项目的敏捷实践
项目管理沙龙第十次聚会纪要会议一开始,就有人跟我们分享了一个名词,“分析瘫痪”,意思是不断地追求完美,结果始终在设计状态,无法到下一步去。详细可参考这个 http://hi.baidu.com/parad1se/blog/item/8724472a71b87e25d52af1a3.html 和 go...
关于O'Reilly Velocity China 2011 Web性能和运营大会的一些资料
1.1.1 摘要 随着Web 1.0到2.0的发展,PC到移动端的扩展和最近炙手可热的Html5的推出,使得互联网担当着越来越重要得角色——Web未死犹生,而且作为开发者的我们必须在有限...
Agile Tour——敏捷,在厦门落地 笔记小结
今天去参加了“敏捷之旅”厦门站的活动,觉得敏捷这个想法挺有意思的,当然这是软件工程方面的东西,主要说的是在软件开发方面的一套理论。但是我觉得其中一些在团队管理方面还是会给人一些启发的,我对自己的笔记(不是很完整滴)进行了小小的总结,跟大家分享一下:1.敏捷的几点要求: 不惧怕改变 尽早交付 面对面交...
[软件工程]Scrum 学习笔记
敏捷火了很长一段时间了,但是一直没有机会实践,现在开始组队实践了,哈哈,先好好研习下规则~~什么是 scrumScrum是一个敏捷开发框架,是一个增量的、迭代的开发过程。在这个框架中,整个开发周期包括若干个小的跌代周期,每个小的的跌代周期称为一个 Sprint,每个 Sprint 的建议长度2到4周...
项目管理沙龙第九次聚会纪要
项目管理沙龙第九次聚会纪要前不久在腾讯举行了2011敏捷大会,但是因为加班或者报名的原因,沙龙里只有一个人参加了敏捷大会,所以本次聚会由夏勇分享参加大会的心得。对大家印象比较深刻的首先是雅各布森给出的一系列敏捷卡片,我们拿到的这一系列卡片有四组,基本覆盖了敏捷过程的方方面面,对于敏捷过程的指导作用还...
单一职责原则(SRP)------《敏捷软件开发:原则、模式与实践》 (二)
从这一篇开始,讲一讲消除这种设计弊端的一些方式。如果一个类,承担的职责过多,就等于把这些职责耦合在了一起,一个职责的变化可能会削弱或者抑制这个累完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭到意想不到的破坏。那么,什么是职责呢?在SRP中,职责被定义为“变化的原因”---a r...
(转)开发人员一定要加入收藏夹的网站(.NET JAVA SQL等)
该文章是转载的,因为是直接拷贝的doc文档过来的,所以没源地址。 http://www.gotapi.com/ 语言:英语 简介:HTML,CSS,XPATH,XSL,JAVASCRIPT等API的查询网站。http://www.w3schools.com/ 语言:英语 简介:W3C制定的标准诸如X...
你的UI Automation有多快?
随着Scrum的引入,测试被提到很重要的地位,特别是自动化测试,UI Automation是其中一个重要的部分,用来模拟用户的操作,来发现可能存在的问题,除了测试用例的有效,质量,速度也是必须考虑的。现在有这么一个场景,如果你有时间,并且感兴趣的话,不妨试一试,如果你的总体运行时间小于或者等于2秒的...