03 2011 档案
摘要:最近换了个笔记本电脑,系统从XP SP3变为Win 7,IIS版本也变为7.5。但是原来演示用VS2008来创建Web Service的程序不工作了,在调用Web Service时出现了2个问题。1. 出现 500.19 Error 。错误提示:不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(overrideModeDefault="Deny"),或者是通过包含 overrideMode="Deny" 或旧有的 allowOverride="false" 的位置标记明确设置的。发现是在安装II
阅读全文
摘要:原文:http://www.infoq.com/cn/articles/agile-contracts敏捷合同作者 Allan Kelly 译者 郑柯 发布于 2011年3月28日 上午12时0分 社区敏捷主题客户及需求 , 许可证 , 法律案件 , 商业 标签合同与谈判 对于敏捷方法,人们常常提出这样的问题:“如果基于敏捷工作方式,应该如何签署合同?”传统的瀑布式模型,与公司采购的方式完全契合:先整理出需求,一家供应商提供一个报价(基于他们对需求的阐释和对成本的估计),大家都签署一个法律上的捆绑协议。一旦合同签署之后,接下来就是一段开发时间段,大家争论到底哪些功能在范围之内,哪些在范围之外,
阅读全文
摘要:原文:http://www.infoq.com/cn/articles/agile-goal-setting-appelo敏捷目标设定作者 Jurgen Appelo 译者 金明 发布于 2010年11月22日 上午12时0分 社区 敏捷 主题 敏捷技术 标签 Scrum 敏捷文库中关于远景、使命和目标设定的文章已经是汗牛充栋,但似乎很少有专家在“究竟如何才是以敏捷的方式设定目标”方面取得一致的看法。辞典与百科全书上的解释不一致,过程框架与领导顾问的意见也不尽相同,甚至相悖。这篇文章是我“唯恐天下不乱”的尝试,并因此提议了一个稍作修改的方式以设定敏捷目标 。给人们共同的目标我有时交替地使用“目
阅读全文
摘要:今天下午参加了SCRUM中文网(www.scrumcn.com)举办的第四期敏捷沙龙。本着学习和交流的目的而去,带着些许收获而归。 先点评一下今天的各项活动。 - 活动计划有50人参加,报名的60多,实际到场还要多。说明SCRUM还是很受欢迎的。 - 主持人Jim Wang先生阅历深厚,口才出众。而且能严格控制每项活动时间,不超时,难能可贵。 - 二位演讲嘉宾(SYNNEX李忠利和百度李连华)稍显紧张,尤其在回答有些听众的问题时,不是很成功。 - Open Space环节设计得很不错,要是在今天的活动前就告知这个环节的内容,让参与者事先了解并有所准备更好。 - 最后抽奖名额有点少,运气不行,没
阅读全文
摘要:最近在与一位总经理交流的时候,他谈到他们公司的软件研发管理,说:“我们公司最大的问题是项目不能按时完成,总要一拖再拖。”他问我有什么办法能改变这个境况。从这样一个问题开始,在随后的交谈中,又引出他一连串在软件研发管理中的遇到的问题,包括:. 现有代码质量不高,新来的开发人员接手时宁愿重写,也不愿意看别人留下的“烂”代码,怎么办?. 重构会造成回退,怎样避免?. 有些开发人员水平相对不高,如何保证他们的代码质量?. 软件研发到底需不需要文档?. 要求提交代码前做Code Review,而开发人员不做,或敷衍了事,怎么办?. 当有开发人员在开发过程中遇到难题,工作无法继续,因而拖延进度,怎么解决?
阅读全文
摘要:对于初识XML Web Service并想快速上手的人,可能希望快速了解它的创建和调用方法。本文将用一个小例子来讲述如何用Visual Studio 2008来创建Web Service以及如何来调用它。例子中的Web Service将根据客户程序的请求来返回一幅图像。 1. 创建Web Service项目 打开VS2008,选择File/New/Project菜单项,在打开的New Project对话框中,依次选择Visual C# -> Web -> ASP.NET Web Service Application,然后输入项目名称(Name),存放位置(Position)和解决
阅读全文
摘要:上接:SCRUM节外生枝(四)5. Bug!Bug!Bug!理想中的SCRUM世界,不需要验收测试阶段,因为每个Sprint结束,都会交付一个可发布的版本。但是,现实中每个Sprint结束后都会不断涌现新的Bug。所以《硝烟中的Scrum和XP》说:“你大概没法取消验收测试阶段”。但正是这Sprints之外的验收测试阶段,把我们拖入了万劫不复的境地。产品原本计划1年Release,但1年半时我们仍在修复不断涌现的Bug。我们的目标是修复所有Priority 0和1的Bug,并使Bug修复率达到至少80%,才能宣布到达Beta 这个Milestone。但每轮Full Test发现的Bug总是与修
阅读全文
摘要:本人对于C#只能算是初学者,写此随笔,也只为和大家一起讨论,共同进步。我看到过一些用C#语言泛化单件(Singleton)的文章和代码,里面有个问题,即用new来创建对象,比如类似下面这段代码:if(_instance==null){_instance=newT();}要想让其工作,你必须让T的构造函数为public。但是,如果T的构造函数为public,那任何客户代码都可调用new T()。你无法用语言本身限制其只能被创建最多一次和只有一个全局访问点,这样也就无法保证你的单件成为“单件”。C++里有友元(friend),T的构造函数可是设为non-public,然后用单件的模板类作为友元去访
阅读全文
摘要:如果你在你的某个系统中增加了一个子类,你要创建这个子类的对象,但又不想改变任何原有代码,有可能么?答案是肯定的,用“对象工厂”设计模式。对象工厂(Object Factory)是GoF 23种设计模式之外的模式,它既不是抽象工厂(Abstract Factory),也不是工厂方法(Factory Method),尽管可能跟它们有些渊源。我第一次看到介绍“对象工厂”的书是《C++设计新思维(Modern C++ Design)》,但我第一次看到对象工厂的代码,却比看到这书早,但我当时不知道它叫“对象工厂”。《C++设计新思维》(下载地址:http://d.download.csdn.net/do
阅读全文
摘要:上接:SCRUM节外生枝(三)4. 太多的外界干扰很多公司,都面临一个问题,在研发新产品的同时,还要应付对旧产品的维护任务。另外,来自市场、客户服务、人力资源等部门的事情不断地打断专注于研发的SCRUM团队。比如:市场部门需要技术人员参加展览展示会做技术后备,客户服务部门要请技术人员到现场解决在客户那出现的严重问题,人力资源部门布置的工作总结、目标制定、绩效评定等等。这些问题本身跟SCRUM无关,但SCRUM框架需要有一些应对办法来解决这些问题。《硝烟中的Scrum和XP》第十章描述了一些办法,见下(我简化了一下):1) 减少Sprint投入程度。2) 把干扰因素记录得更清楚(以有针对性地减少
阅读全文
摘要:上接:SCRUM节外生枝(二)3. 一个程序员卡壳了有了一些工作经验的程序员(也许可以扩展到所有的技术人员),都遇到过这样的情况:在一个本以为容易的技术实现上遇到未能预测到的难关,长时间无法逾越。本来一个小时能完成的Feature,可能因为一个Severe 0 的Bug,折腾得一天下来也无法完成,而后的一段时间,可能还在这个问题上绕来绕去,后续的工作都因此停滞,更糟糕的是,别人的任务也会因为依赖于他的任务而被拌住(Blocked)。相对于程序员的“顺流”状态,我称这时候的程序员“卡壳”了。一个程序员卡壳了,是个微观问题。但是,你卡壳耽误3天时间,过两天他卡壳耽误2天时间,整个项目的交付在不知.
阅读全文
摘要:上接:SCRUM节外生枝(一)2. 在Sprint中间改变目标我曾经应聘过一个SCRUM Master的职位,面试官问我这样一个问题:“在一个Sprint进行中,如果用户想改变某个正在这个Sprint中实现的User Story,你觉得应不应该改变它?”SCRUM的规定在我脑海中明明白白的印着:“在Sprint里不许改变任何任务,团队在第一天承诺一系列工作,然后期望它们在整个Sprint保持不变。”我照本宣科地叙述了SCRUM的这个规定,面试官跟着下一个问题来了:“你如果不改变,那么2周以后,当Sprint结束以后,你会发现你这些日子所做的工作完全是徒劳,因为用户有可能已经完全期望一种完全相.
阅读全文
摘要:每个接触SCRUM的人,可能很快被SCRUM框架所描绘出的美好景象所吸引,SCRUM所运用的方法和流程不难被理解,很容易被拥戴者拿来试验或实施。但当到达某个微观步骤时,一些节外生枝的事情总会发生,SCRUM的圣经里没有药到病除的良方,有的只是过来人亲身体验的痛苦和有关成败的感慨。1. 抵触SCRUM的实施者,最先碰到的节外生枝的事情莫过于在实施刚刚开始时(亦或刚刚被提出来讨论时)来自团队内部的抵触。MountainGoatSoftware的创始人Mike Cohn在《Succeeding with Agile: Software Development Using Scrum》(中译名《Sc.
阅读全文
摘要:入园两年了,头一回写博客。最近赋闲在家,忽对敏捷开发重燃兴趣。借着过去3年SCRUM的经验,外加上新买的几本书和网上的一些资料,自觉应总结一下,理清自己头脑里的东西。先列列敏捷站点的网址,以便以后查询。敏捷软件开发宣言http://agilemanifesto.org/极限编程http://xprogramming.com/xpmag/whatisxp/ControlChaoshttp://www.controlchaos.com/ScrumAlliancehttp://www.scrumalliance.org/MountainGoatSoftwarehttp://www.mountaing
阅读全文