08 2011 档案
摘要:这是敏捷开发与中医理论系列的第一篇。。(之一,之二)最近一个世交的中医朋友到梁冬的正安药坊上班,也去实地参观了一下。因为之前的一些经历和最近的几天的交流,一点点悟到一些中医理论与软件研发管理的共同之处,写在这里成一系列。这里的很多内容来自于与这位朋友沟通所得,并与之前更早听《冬吴相对论》的思考成果。内容将涉及中国文化与研发管理方法,团队的自组织管理,师徒制度/技能教育等内容。千年古籍这位朋友很精湛的一个解释是:为何西医教材每年都在变化,而中医却经常使用《黄帝内经》、《伤寒杂病论》这些千年古籍?到底是什么导致教材千年不变但依然有效?原来西医基于对外界变化的认知,比如发现了细菌,就有了抗生素;发现
阅读全文
摘要:package huawei.dao;import huawei.pojo.InspectionTranslate;import huawei.pojo.InspectionTranslateId;import java.util.List;import org.hibernate.LockMode;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.context.ApplicationContext;import org.springframework.orm.hibernate
阅读全文
摘要:1.配置文件对于刚刚接触这个网上问题单处理系统我来说,这个项目中的设计结构是最头疼。初略的看一下,和一般的项目设计结构没有什么区别。(Struct.xml 文件——>applicationContext-strust.xml文件——>applicationContext-Service.xml文件——>applicationContext.xml文件——DAO层)。如果细看的话,又会发现他还有Structs-chart.xml文件没有和Struts.xml文件关联起来,而是直接和ApplicationContext-Struts.xml文件直接关联起来。2.大体的框架:JSP
阅读全文
摘要:《程序员杂志》的文章,原帖位于http://www.programmer.com.cn/7760/写的很好,自己转贴存储一下,也符合Product Owner的要求,就是……要求太高了!本文是他回顾自己二十多年来从事软件产品管理工作的总结和经验分享,谈到了招聘产品经理的标准,以及产品经理应该具备的特质。文 / Marty Cagan,译 / 姜天纬寻找出色的产品经理“哪里能找到出色的产品经理?”CEO经常问我这个问题。Marty Cagan是享有世界声誉的产品管理专家,曾经担任网景副总裁、eBay产品管理及设计高级副总裁。我总是这样回答:出色的产品经理就在公司里,只不过在其他岗位上,有可能是软
阅读全文
摘要:这是敏捷开发绩效管理的第七篇。(之一,之二,之三,之四,之五,之六,之七) 续前文……功能点估算第一级简化上次说到只用数据+操作就能准确计算规模,听起来够简单了,但其实还不够。谁能在刚拿出2页纸的需求文档时(假设昨天老板在酒桌上刚从客户那记下来的),就猜出有多少个操作?而且还不遗漏?增删改查好猜,“加入角色”就不好猜了。NESMA早就遇到过这个问题了,他们这么解决:通过统计发现每个数据差不多有7个操作,所以刚才咱们找出了3个数据,那么:3个 × (数据7 + 操作4×7个操作) = 3 × 35 = 105,嘿,把角色和权限的操作问题也给解决了,不用猜了。如果有几
阅读全文
摘要:这是敏捷开发绩效管理的第六篇。(之一,之二,之三,之四,之五,之六,之七) 直接估天数或用故事点估天数,都很“程序员”。如果在项目的甚早期,面临与客户相关的报价问题,或高层领导要统计公司绩效并想进行项目乃至行业间的比较,这两种方法都很难使用。敏捷开发内部之所以没有进化出来能做项目间比较、行业间比较、用于早期报价的估算方法,是因为敏捷的发明者和后来的实践者多数都不管这些事情。而这三样事情,比天数、故事点,在老板眼中更接近生产率绩效。这时候就需要功能点估算。 功能点估算由来功能点估算是另外一个世界的事情。每100个懂敏捷的人中,可能才有1个懂CMMI;而懂CMMI的人中,可能才有100个懂功能点,
阅读全文
摘要:这是敏捷开发绩效管理的第五篇。(之一,之二,之三,之四,之五,之六,之七)度量敏捷开发的生产率一直是个难题,确切说度量任何开发方法的生产率都是一个难题,但它实际上有答案,这个答案是本文的主要内容。度量敏捷生产率的目的真正难以回答的是度量生产率的目的是什么?很多人都认为是考核绩效,发奖金。根据上一篇文章的内容我们可以知道,这完全是行不通的:客户并不购买我们的生产率,生产率高也并不能证明产品或项目盈利,应该为团队设立外部目标,否则很可能得到一个生产率很高,但是实际上很烂产品——质量上或易用性上很差,抑或其他想象不到但一定遇到的原因。这是我们说为什么用外部目标而非内部目标考核团队的原因。或许又有人说
阅读全文
摘要:最近在看STL,看到了auto_ptr,发现这个真的是个好东西,不敢自私,所以写篇博文和大家共享。C++标准程序库提供的auto_ptr是一种智能型的指针(smart pointer)。可以帮助程序员防止一些资源泄漏。我们都知道在C++中用new开辟的空间是在堆上开辟的。同时,我们还知道用new开辟的空间,必须用delete来释放,必须手动释放。其实就这个动态开辟内存空间,然后又手动释放,这个很纠结的事情就带来了很多纠结的问题。现在我打个比方:如果你动态开辟的空间,开辟成功了,然后也写了释放语句。这就是按照套路出发。是的,程序是对的,但是,你有没有想过这样的一个问题。/*
*......
*/
阅读全文
摘要:这是敏捷开发绩效管理的第四篇。(之一,之二,之三,之四,之五,之六,之七)最近在看德鲁克的书,发现其中很明确地写着“企业的绩效只存在于外部,而企业内部只有成本”的概念和说法,下面结合敏捷开发团队的绩效考核展开谈谈。敏捷开发有很多“外向型”思维,比如:关注客户价值,认为可交付的产品才是真正能表征工作进展的因素等等,但尚未直接与目标管理接轨。外向性思维可以防止部门间壁垒或踢皮球,而转而共同讨论对外交付价值,从下面的对比可以看出这点。“内向型”绩效及其导向进度:“各阶段按时完成率”会导致分析和设计人员草草结束工作,而将大量不确定工作推给开发人员;开发人员则如法炮制,把延期踢给测试人员。质量:“千行代
阅读全文
摘要:这是敏捷开发绩效管理的第三篇。(之一,之二,之三,之四,之五,之六,之七)如果有10个程序员,笔者相信至少有9个是勤奋的。但是如果有一个10人的程序员团队,其中1个人不是勤奋的,而且仍然拿到与其他人完全相同的报酬——大家猜这个团队会以90%的生产率运行,还是更低的生产率?不管大家信不信,我是相信后者的。这个是敏捷开发中对个体管理的出发点,并非我们看到有人在白拿老板的钱而要劫贫济富,而是要打造一个共进退的团队。本文的部分内容在之前的若干博文中提到过,因符合本系列的内容,在此处从另外一个角度加以说明。领导压力领导压力指那种直接由领导监督产生的压力,在“每个毛孔都流着血和肮脏的东西”的时代或企业非常
阅读全文
摘要:这是敏捷开发绩效管理的第二篇。(之一,之二,之三,之四,之五,之六,之七)团队管理是个由来已久的话题,各式各样的管理理论和方法层出不穷。笔者因为工作原因在过去16年里与100多家企业的团队或团队领导者有较为深入的交流,看到了听到了想到了很多相关的内容,下面做一个总结。不过受个人经历所限,这不是一个客观的全面的总结,而是带有本人的角度和主张,仅供参考。中医治病的原理中医和西医看待疾病的角度差别很大。中医受到当年条件所限,并不知道致病的原因是细菌、病毒还是其他什么。由于没有显而易见的敌人,中医采取的策略是扶正去邪,就是让让人体自身加强,从而自然地消灭”邪气“。比如中耳炎,西医的解释是:“多由感冒引
阅读全文
摘要:这是敏捷开发绩效管理的第一篇。(之一,之二,之三,之四,之五,之六,之七)“敏捷开发绩效管理”本身是个伪命题,因为敏捷开发本身不想涉及绩效管理,这就像“C++绩效管理”的搭配差不多。但是人们选择敏捷开发作为管理方法是有原因的:更高的交付保障,更高的生产率,更高的质量……这和人们选择C++(而不是C)的原因还是很接近的:都是为了更高的绩效。在下面的所有文章中,“敏捷开发绩效管理”都将不再是“敏捷开发中如何做绩效管理”,而是“如何利用敏捷开发提高绩效”。何为绩效管理绩效管理常常被片面理解为绩效考核,即如何确定个人的绩效,如何提工资和发奖金的问题。实际上绩效管理还包含制定绩效目标,制定绩效计划,制定
阅读全文
摘要:2011-08-18 新增Scrum概述1页,敏捷生态系统5页,中英文对照表1页。新增部分页面预览:本文仅做通知,请到主贴查看更新历史及下载链接:http://blog.csdn.net/cheny_com/article/details/6616794
阅读全文
摘要:这是敏捷生态系统系列的第五篇(之一,之二,之三,之四,之五)。本文是2009年刚刚提出敏捷生态系统的时候参与一个MSN讨论组时的对话,当时的想法与现在相比尚缺少系统性,但由于有问有答,也包含了本系列所没有包含的一些信息,仅供参考。删除了部分无关的对话。文章末尾有谷雨霖老师的博客地址,也在CSDN。“敏捷生态--Srcum敏捷开发”--msn群讨论 2009-08-25 13:52谷雨霖 说:时间差不多了今天我们的主题是“敏捷生态”有幸请到的是我的老朋友,敏捷专家陈勇先生M群-项目管理 说:【系统提示】AlexQin将昵称更改为AlexQin-QC-深圳不胜人生一场醉-N/A-海南 说:鼓 掌d
阅读全文
摘要:作者:梁斌原文:http://blog.sina.com.cn/s/blog_593af2a70100w0iv.html今天看到微博上@hellodba发的一个帖子:“内部晋升越来越困难,但是外部来的大P越来越多,所以很多人都选择跳槽”,之后我从三个方面简要的进行了回答:“外面来的总是有包装的,内部的都是肉身PK,此一输;外面来的总是小股人马,内部的一批批的,升谁都伤感情,此二输;外面来的通常都是大佬推荐的,没有特别重大机会,人不会来,内部的就不解释了,成果都被大佬吸收,难有机会,此三输”。之后讨论不断,我也余兴未了,继续写来。这个世界上有一类人特别苦逼,苦逼到什么程度呢?他们省吃俭用攒钱买房
阅读全文
摘要:这是敏捷生态系统系列的第四篇(之一,之二,之三,之四,之五)。一半内容属于需求管理生态,一半内容属于计划跟踪生态。在实际开发环境中,产品负责人常常和开发组存在潜在的利益对立。前者往往希望在更短的时间开发出更多的功能,而后者的绩效则多数来自于计划按时率/缺陷率这些会因“更短-更多”而下降的数据,于是两者的隔阂从此开始。敏捷开发中的计划跟踪生态II大致如此(黑体字即图片中的元素):☺ 产品负责人(PO)与团队的正确互动是自组织团队正常运转的核心机制之一。☺ 产品负责人的权利是统一管理和讲解需求以及需求优先级排序,而义务则是接受开发团队的估算,并承诺迭代期内不变更。☺ 团队的权利在于开发人员自己估算
阅读全文
摘要:在cshtml或aspx/ascx中制作链接时,若参数可能是中文,则需要使用HttpUtility.UrlEncode():@Html.Link("角色", "/SFC/Users/Users2Roles?user=" + HttpUtility.UrlEncode(User.Identity.Name))而在对应的Action中,一切照常,不需要"Decode”(也有帖子说需要,但本人实验的结果是不需要): public ActionResult Users2Roles(string user) { ViewBag.User = use...
阅读全文
摘要:好长时间没有更新博客了,特别是这个专栏,一是因为自己比较忙,二是因为我还是比较懒的缘故。让各位见笑了。今天在更新一篇。像什么strcpy、strcat等等字符串的操作和实现在面试中经常出现,不管是上机题还是笔试题。而今天在这里我将重点讲讲strcpy和memcpy的实现,而memset也会稍微提一下。 至于这几个函数,在实际的开发中,肯定不会让你亲力亲为的去实现,直接调用就ok了,但是在面试中这是一个考验你的编程基本功的过程。这三个函数的基本功能如下:strcpy:顾名思义,字符串的复制功能,这只是简单的这么说说memcpy:从名字也可以看出来,这个是内存的复制,这就说明,它不仅仅可以...
阅读全文
摘要:展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的10年的路程,有些心得体会你可以借鉴一下,觉得说得有道理的你就接纳,觉得说得没道理的,你就抛弃,以下是我发自内心的,给大家的忠告,特别是针对那些小弟弟妹妹们。01. 自己的户口档案、养老保险、医疗保险、住房公积金一定要保管好。由于程序员行业每年跳槽一次,我不隐瞒大家,我至少换过5个以上的单位,这期间跳来跳去,甚至是城市都换过3个。还好户口没丢掉,其他都已经是乱了,好几个城市里,都有交过三金,甚至是一个
阅读全文
摘要:这是敏捷生态系统系列的第三篇(之一,之二,之三,之四,之五)。产品负责人PO与团队的互动一直是一个难题。典型的问题在于:敏捷开发倡导“迭代期内无变更”以换取“团队承诺”,而实际上产品负责人却会不断地来提变更,打乱开发计划了。我们应该怎么办呢?产品负责人说“敏捷就是拥抱变化,我现在来提变化了,你们却关门了。”团队说“如果你总是变,下次我们怎么给你承诺。”敏捷开发中的计划跟踪生态II大致如此(黑体字即图片中的元素):☺ 产品负责人(PO)与团队的正确互动是自组织团队正常运转的核心机制之一。☺ 产品负责人的权利是统一管理和讲解需求以及需求优先级排序,而义务则是接受开发团队的估算,并承诺迭代期内不变更
阅读全文
摘要:经过一个多星期的折腾,终于基本完成了任务,贴几张图,聊以留作纪念····对了,剩下的20天真的分组要做项目了,fighting!设计的系统首页添加人员信息成绩查询
阅读全文
摘要:刚开始的时候非常认同asp.net中MVC的Action的布局方法:无论大小,只要是一个动词,都给一个单独的页面,比如Create/Edit/Detail/Index。编写了一段时间后,又发现这样很不方便,尤其是像“创建角色”这样的页面,就一个TextBox,其他什么都没了,单独编写一个Create一个Edit,不如在Index页面上方放一个TextBox,底下已经存在的角色也直接用TextBox而不是文本,这样想创建就创建,想编辑就编辑。又编写了一段时间,又发现这样有风险。因为在另外一个页面上我把所有信息也这样做的,但这个页面会有大量的用户访问,很容易出现大家同时编辑同时更新的问题,锁都锁不
阅读全文
摘要:这是敏捷生态系统系列的第二篇(之一,之二,之三,之四,之五)。如果说需求管理中尚有一些团队无法控制的因素导致实施困难,计划与跟踪过程总归就没有问题了吧?其实不然,笔者见过领导很放权的全团(很多是因为领导根本管不过来了),但在团队内部仍然存在很大的问题,一般最为突出的,就是每日立会开得毫无生机。这不完全是因为文化差异问题,而是生态系统出了问题。敏捷开发中的计划跟踪生态大致如此(黑体字即图片中的元素):☺跨职能团队的整体思路是“每个人可以做每个工作”。好处是消除了资源分配的瓶颈和造成队员无法互助的分工壁垒。☺任务应该先估算后分配给个人,以便整个团队(或至少其中的某个小组)都对其保持兴趣,才可能进行
阅读全文
摘要:这是敏捷生态系统系列的第一篇(之一,之二,之三,之四,之五)。所谓生态系统,就是指互相依赖方能生存的一系列生物。生态系统常常不是单向依赖的,而是互相依赖互相促进。敏捷开发中的实践也是如此。典型地,当一个实践很难实施时,一定不要认为简单的制度可以保证其实施,而是要思考是什么导致了它的失败。比如每日立会,如果发现大家都不按时开会甚至不开会,马上要做的不是要求大家按时开会+开会迟到给大家买水果+统计每月按时比例+……而是要想一想为什么这些人不按时来,他们一定觉得这个会议不是很重要,会上讲的东西听的东西不能帮助自己的工作,反而耽误时间。进而就能发现会议开不好的根本问题。敏捷开发中需求管理生态大致如下(
阅读全文
摘要:本文是IT职场人生系列的第八篇。软件公司五花八门,还分为很多行业,给选择公司带来更多困难。不过尽管行业很多,但却有一些相对简单的方法来理解其收入和晋升空间的差异,可以依据自己的个人情况作出正确选择。以下的分类有交叉,请注意选择。项目型公司项目型公司以合同为开发获得的主要起点,尽管经常拥有自己的产品,但往往是半成品,需要与客户签订合同后定制。欧美/对日外包行业是典型,一些电信/银行/政府/税务的集成商(SI)也是项目型公司。项目型公司的主要收入计算方法,是工作人天×单价。尽管有些项目可以报的比较虚,但是由于最终都落实到人天上,所以有以下特点:企业总收入与总人数相关,不会一夜暴富,管理者
阅读全文
摘要:最近有一篇“为什么Scrum不行”的文章很热,本来路过打酱油的时候看到过,但是后来在另外一个网站的敏捷诊室里边被要求评价一下,所以顺便转发到这里。为了不让大家再去找原文,原文发在这里(好像是由一篇外文翻译的?没找到原始出处):因为本人经常站在Agile的风口浪尖,所以我有必要也来一个“免责声明”。Shit!其实我想来的是“不免责声明”——下文中的九大原因是对中国的各种Agile实践者咨询师不注重实际只重方法论的批判,本人必然要和那种只以流程方法论为中心的软件开发斗争到底。其实我没有那么嚣张,我只是想说,下面的这些东西相当的现实。希望各种Scrum的实践者们认识到这些问题,从而可以让你们明白软件
阅读全文
浙公网安备 33010602011771号