- 博客(400)
- 资源 (21)
- 收藏
- 关注

原创 敏捷开发一千零一问系列之十九:提问帖
这是敏捷开发一千零一问系列的第十九篇。(在这里提问,之一,之二,之三,问题总目录)先说说一千零一问的来历。无论在培训、咨询中,还是在日常博客、邮件、QQ群中,都不断有人提出不同的敏捷开发问题,一一作答的时间消耗太大;如不作答,又知道这些不只是一个“感兴趣”的问题而已,而是关乎某个团队若干人月的工作,或一些人的职业生涯,或乃至企业的很多未来决策,虽然不怀疑大家迟早会找到答案,但以自己“曲折的经历”看
2012-05-14 12:11:24
13178
30

原创 【正式发布】火星人敏捷开发手册2012-12-25(基于Scrum的敏捷开发免费培训教材及公司内部宣传材料)
2012-12-25:新增松结对编程4页。预告:下一更新日期:2013-03-01(实际未发布)。致歉:因误以为新版本发布是4.1日,所以错过了发布期。作为普及读物,已经达到70页的上一版本版本已经基本满足需求。下一步计划可能是整合博客中的文章内容,出一本免费电子读物,把博客分门别类放整齐,以方便大家阅读。不过此事工程浩大,会不定期抽时间完成。感谢大家支持。 您可以在非商业场合免费使用(详见文档最
2011-07-19 14:04:02
68127
119
原创 编码消耗率CCR,“上帝代码”,反射,简洁代码
(32条消息) 陈旧语法密度之六——用Map消灭if-else if-else,“上帝代码”_陈勇的博客 - Scrum 敏捷开发培训咨询,绩效管理,团队管理,《火星人敏捷开发手册》-CSDN博客
2021-06-03 21:59:51
1392
原创 陈旧语法密度之八——使用多态消灭if-else if-else
用多态消灭if – else if - else如果说泛型消灭行为相同、类型不同的分支语句,多态则消灭(父)类型相同、行为不同的分支语句。我在1999年曾经写国庆阅兵的直升飞机编队指挥系统,其地面的核心是一个地图显示系统。地图的显示代码大致如下:public class PlaneMap { List<MapItem> items = new ArrayList<>...
2018-04-01 23:23:31
3620
2
原创 陈旧语法密度之七——用泛型消灭if-else if-else
用泛型消灭if – else if - else消灭if-else if - else的方法多种多样,其中看似远在天边的泛型是一种方法。这种方法多用在每个分支看上去非常相近,甚至有点眼花缭乱的情况。比如:public class FormulaValueOld { public enum Types {Integer, BigInteger, Float } //... 10 types...
2018-04-01 23:22:24
2084
原创 陈旧语法密度之六——用Map消灭if-else if-else,“上帝代码”
用Map消灭if-else if-else尽管三元表达式已经很简洁了,然而仍然不是最优解。此处的最优解是Map:public static final Map<String, String> operator2Revoperators = Map.of( "=", "!=", "==", "!=", "!=", &quo
2018-04-01 23:22:09
9549
原创 陈旧语法密度之五——用三元表达式消灭if-else if-else
用三元表达式消灭if-else if-else前例的三元表达式实现如下:public String getReversedOperator2() { return operator.equals("=") ? "!=" : operator.equals("==") ? "!=" : opera...
2018-04-01 23:21:56
1917
原创 陈旧语法密度之四——用直接删除switch case的方法消除switch case
用直接删除switch case的方法消除switch case以下的代码的代码看似极具娱乐性,然而却都是真实案例。第一个案例来自于2001年左右的一个C++产品,给人印象如此之深,以致于十多年来记忆几乎分毫不差:public int returnN(int n) { switch (n) { case 1: return 1; case 2: return...
2018-04-01 23:19:30
2414
原创 陈旧语法密度之三——用直接删除else的方法消除if-else if-else
用直接删除else法消除if-else if-else这几节先说一些简单的情况,在基本语法的层面,即使是仍然保持面向过程的编码,也能消除。请看下面的代码:public String getReversedOperator3() { if (operator.equals("=")) { return "!="; } else if (operator.equals("...
2018-04-01 23:18:55
1899
1
原创 陈旧语法密度之二——switch case和if-else if-else的坏处
switch case和if – else if - else的坏处要想写出超长方法,就写一个switch-case,如果觉得不够长,就再写一个。本人亲自重构过的有记录的最长的一个方法包含502个switch-case,加上每个case中一行实际工作代码,外加一些函数声明等,最终高达1030行。值得提一下的是重构后这个方法只有1行实际工作代码。实际上整个2000多行的模块重构后一共也只有180行。...
2018-04-01 23:18:18
1898
原创 陈旧语法密度之一——什么是陈旧语法
陈旧语法密度Why为何存在陈旧语法在面向过程的编程语言中(以C最为典型),有一些语法容易造成代码臃肿、重复、单个函数长度大、代码过于集中或过于分散造成编写、阅读和维护困难。在出现面向对象语言之后(以C++/C#,Java最为典型),一些新语法结构通过封装、继承、多态等措施根本上消除了这些存在问题的语法。然而为了直接调用原有代码模块(如C++调用C),或间接复用原有代码的结构(如将C语言的加密算法原...
2018-04-01 23:17:39
1770
原创 Java重构与TDD测试驱动开发实际案例一-陈勇-专题视频课程
本课程将高深的重构与TDD理论埋藏在一个实际案例中,深入浅出地演示了重构与TDD的完整步骤。在这个真实的案例中,一个银行项目的2000多行的模块,终被重构为仅有160多行,并实现了单元测试级别的自动化测试。实际重构耗时1天,本课程将1天的时间用近百个片段重现出来,并增加了一些新功能来演示更多重构所需的技术。...
2018-03-05 09:16:15
1621
原创 2015-11-24敏捷统一过程公开课的相关资料
公开课名称:产品研发敏捷统一过程AUP2.0官方链接:http://huiyi.csdn.net/activity/closed?project_id=2619本来今天答应大家在这里上传附件的,刚发现“您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net”,估计是个Bug。等解决后,我会上传课件和模板并把链接放置在这里。其中提到的关键需求分析技术在此免费
2015-11-25 00:24:04
9063
1
原创 火星人敏捷开发1001问(第一季)-陈勇-专题视频课程
此课程为敏捷开发的课程,聚焦于敏捷开发中似是而非的各种问题。每个问题都会有分析与解决的环节,从而令学员不但得到可行的答案,更能思考答案背后隐含的敏捷思想。...
2015-02-03 15:31:20
772
原创 火星人敏捷开发1001问(第二季)-陈勇-专题视频课程
此课程为敏捷开发的课程,聚焦于敏捷开发中似是而非的各种问题。每个问题都会有分析与解决的环节,从而令学员不但得到可行的答案,更能思考答案背后隐含的敏捷思想。...
2015-02-03 15:30:40
737
原创 火星人敏捷开发手册视频培训上线了!
CSDN教育频道上线说起来已经是旧闻了,《火星人敏捷开发手册》的网址是:http://edu.csdn.net/course/detail/164以前录制过一个1小时的版本,不过讲解得没有这次15分钟×8课时的好。
2015-01-18 21:13:58
11131
原创 火星人敏捷开发手册-陈勇-专题视频课程
本课程讲师是CSDN下载总量超过一万人次的《火星人敏捷开发手册》的作者,课程中将以PPT+视频方式讲解《手册》,适合个人学习、敏捷开发现场培训预习、企业推广敏捷开发等场景。除了《手册》中的原有内容外,还将包括讲师正式培训中相应的一些内容,以便深度了解Scrum敏捷开发的全过程。...
2014-11-27 12:31:08
1206
1
原创 《IT职场人生》百度阅读图书出版
本书是IT职场人生系列博客的改编版本,增加了若干新的章节。图书为免费,注册百度阅读用户(或用已有百度用户登录),即可领取。下载客户端后可在移动设备上阅读。图书链接:http://yuedu.baidu.com/ebook/af550a37561252d381eb6e1c###
2014-09-22 17:58:40
10624
2
原创 QUML建模第一层:角色-业务图实现愿景(3)
本书由本人编写,于2014-09-09在百度阅读首发,博客将转载试读部分的20%内容,以及非试读章节的某些片断。电子版链接:http://yuedu.baidu.com/ebook/c7a9a6dc680203d8ce2f24a6### 愿景取舍——高层优先级排序画完图后,产品经理和项目经理一起找到马总。马总:一口气画了4张?第4张好像很强大啊,我们提到的需求都涵盖了,而且还把评价分为了文字和数值
2014-09-15 18:01:55
10036
原创 QUML建模第一层:角色-业务图实现愿景(2)
本书由本人编写,于2014-09-09在百度阅读首发,博客将转载试读部分的20%内容,以及非试读章节的某些片断。电子版链接:http://yuedu.baidu.com/ebook/c7a9a6dc680203d8ce2f24a6### 角色-业务图(RB图)下面是QUML中使用的方法,称之为“角色-业务图”(Role-Bussness Diagram,简称RB图)。通过分析角色和主要业务,表达愿
2014-09-15 18:00:22
10305
原创 QUML建模第一层:角色-业务图实现愿景(1)
本书由本人编写,于2014-09-09在百度阅读首发,博客将转载试读部分的20%内容,以及非试读章节的某些片断。电子版链接:http://yuedu.baidu.com/ebook/c7a9a6dc680203d8ce2f24a6### 本章讲解如何将非常模糊的高层需求,也就是愿景,表达为一个清晰、简单、确定的模型。基于这种简单的模型进行开发,要比基于大段似是而非的文字更容易得到最终想要的结果。什
2014-09-15 17:58:09
9746
原创 《QUML系列图书》写作计划
QUML作为UML、功能点分析FPA、敏捷开发三种管理方法的集大成者,可以被应用于不同的场景。以下的图书各自侧重于一个方面,供不同领域的读者选择。《QUML:量化需求分析与建模》本书从需求分析与建模的角度,介绍QUML的结构、规则、使用方法,是QUML的基本图书。全书通过对一个电商网站的实例分析,分层次地介绍了QUML的结构、用途、规则和最佳实践;书中还概要地对如何将UML应用于早期估算、产品版本
2014-09-11 10:04:04
15717
原创 《QUML:量化需求分析与建模》节选之五:一个量化管理项目的一生(4)
本书由本人编写,于2014-09-09在百度阅读首发,博客将转载试读部分的20%内容,以及非试读章节的某些片断。电子版链接:http://yuedu.baidu.com/ebook/c7a9a6dc680203d8ce2f24a6### 第三个月结项度量第三个月月底,项目成功交付。看惯了文山会海,高层领导希望这个小项目做一个简短的总结。结果他看到了下面的表格:功能点耗时率是指完成每个功能点需要5
2014-09-11 09:08:50
8430
原创 《QUML:量化需求分析与建模》节选之四:一个量化管理项目的一生(3)
本书由本人编写,于2014-09-09在百度阅读首发,博客将转载试读部分的20%内容,以及非试读章节的某些片断。电子版链接:http://yuedu.baidu.com/ebook/c7a9a6dc680203d8ce2f24a6### 第二个月从图形到Word测试经理正在审视第一个迭代的测试用例——因为历史原因,他们还没有形成真正的开发+测试的混合团队,独立的测试团队还只能在每个迭代后期单独执行
2014-09-11 09:04:38
8302
原创 《QUML:量化需求分析与建模》节选之三:一个量化管理项目的一生(2)
本书由本人编写,于2014-09-09在百度阅读首发,博客将转载试读部分的20%内容,以及非试读章节的某些片断。电子版链接:http://yuedu.baidu.com/ebook/c7a9a6dc680203d8ce2f24a6### 第一个月从用例到用户故事,从用户故事到代码在敏捷计划会上——是的,他们采用敏捷开发,确切说是Scrum——产品经理正在给开发人员讲解需求。他并不是空手来的,而是带
2014-09-09 18:11:17
8224
原创 《QUML:量化需求分析与建模》节选之二:一个量化管理项目的一生(1)
本书由本人编写,于2014-09-09在百度阅读首发,博客将转载试读部分的20%内容,以及非试读章节的某些片断。电子版链接:http://yuedu.baidu.com/ebook/c7a9a6dc680203d8ce2f24a6### 一个量化管理项目的一生本章通过一个例子展示本书所述的量化需求分析与建模方法在项目中实际应用的情况。注意本章所有数字均只需要两个来源:本章中的配图,业界的数据。配
2014-09-09 15:28:05
8407
原创 《QUML:量化需求分析与建模》节选之一:序言
本书由本人编写,于2014-09-09在百度阅读首发,博客将转载试读部分的20%内容,以及非试读章节的某些片断。电子版链接:http://yuedu.baidu.com/ebook/c7a9a6dc680203d8ce2f24a6### 序言统一建模语言UML,量化管理,功能点分析FPA,三个令人敬畏的概念。只有被强制使用的时候,人们才会使用UML进行系统分析,而且多数止步于第一步:用例图。只有所
2014-09-09 15:26:27
9616
原创 敏捷开发一千零一问:如何处理重要但不明确的任务?
有一类任务,非常重要但是却不明确,该先处理还是后处理呢?如果先处理,该如何处理呢?如何保证模糊的任务不会无始无终呢?
2014-08-07 10:46:44
7876
原创 度量术语之二:应用类和开发类生产率(实际度量案例)
本文使用三个例子,来说明如何灵活使用不同类型的度量数据,来表征生产率在短期、长期、内部、外部的实际情况。
2014-07-07 11:48:49
12711
2
原创 度量术语之一:研发阶段(工作量分类)
为了能够统一进行工作量的比较,ISO、ISBSG(国际软件基准比对标准组)/CSBSG(中国软件基准比对标准组)采用了一些分类方法。
2014-04-02 16:14:07
12052
2
原创 简化功能点系列之一:什么是功能点
这是简化功能点系列的第一篇。目标功能点的目标,是估算工作量,进而估算成本和造价。俗话说:“店大欺客,客大欺店”,银行这么大的客遇上IBM这么大的店,会发生什么呢?那就是功能点。大约在1979年左右,IBM发布了对功能点的基本定义,后来随着业界的发展,逐渐成为当前唯一被广泛认可的软件规模度量标准。功能点最大的特点,就是它和工作量的比例关系很好(应该是,功能点就是为了这个目标而设置的,因此这个不是偶然
2014-04-02 14:26:31
28273
1
原创 火星人敏捷开发博客APP上线了
这段时间用做了一个移动APP,逐步收录本人在CSDN所写的博客,方便大家在路上阅读、查看。以后的博客会在CSDN首先发表,然后转移到APP上。注意里边有一个对话功能,可以与本人进行互动。以后会有一个更简短的“敏捷开发1001问”栏目,会以类似QQ聊天那种方式迅速回答一些问题,欢迎参与。整体上分了四个栏目:IT职场人生敏捷需求:这个收录了用户故事、产品管理等相关的博客。敏捷团队:这个收录了松结对编程
2014-03-30 10:44:45
16357
17
原创 火星人敏捷开发手册免费培训 By 火星人陈勇
感谢大家多年来对《火星人敏捷开发手册》系列博客和手册本身的关注。本周四晚上在QQ群234570791的群视频中将进行此手册的免费培训第一期,欢迎参加。
2014-03-04 16:31:56
10686
原创 FPA Function Point Analysis 功能点分析培训免费视频地址(by陈勇)
本系列培训旨在揭开功能点的神秘面纱,以本人实际使用、讲授功能点的经历,尤其是在编写“火星人”敏捷开发管理平台时对功能点的重新认识和扩展使用,力求推动“无为而至”的功能点估算和度量。即大家只要遵循适当的方法进行需求分解、表达和维护,那么无需额外的太多工作,功能点将自动跃然纸上。
2014-03-04 16:25:39
11061
1
原创 【火星人敏捷开发云】上线之二:产品驱动模式
前段时间火星人敏捷开发云做了Beta测试,已经上线运行了,网址位于:http://scrum.org.cn/,可以点击里边的沙盘项目体验一下。先介绍一下最简单的产品驱动模式,demo4~demo9中的缺省配置是驱动模式(两者在主页最左上角很容易切换的)。。以下数据是火星人系统自动生成的,受博客的空间限制可能显示不太完整,也可以在Demo中边阅读边体验。产品首页 [产品经理]用户故事首页 [产品经理
2014-01-23 11:33:22
9430
原创 【火星人敏捷开发云】上线之一:看板驱动模式
前段时间火星人敏捷开发云做了Beta测试,已经上线运行了,网址位于:http://scrum.org.cn/,可以点击里边的沙盘项目体验一下。先介绍一下最简单的看板驱动模式,demo1~demo3中的缺省配置是看板模式,其中第一个项目配置有看板驱动模式的数据。以下数据是火星人系统自动生成的,受博客的空间限制可能显示不太完整,也可以在Demo中边阅读边体验。 缺省团队1团队工作项共 16 项5新建
2014-01-23 11:16:04
7736
原创 敏捷开发一千零一问系列之三十八:计划扑克就是打不出个结果怎么办?
一个简单的问题,计划扑克就是打不出个结果,各持己见怎么办?也就是少数人无法说服大家,或者说根本无人去听回答:计划扑克的结束条件”近似一致“是个很有趣的标准,其实要回答”什么时候停止打扑克“,就要先解决”为什么要打扑克“的问题。如果打扑克的目的已经达到,
2014-01-21 22:13:36
8420
原创 敏捷开发一千零一问系列之三十七:进度与质量的冲突
众所周知敏捷实施中,每个task的时间是团队自己定的,才能保证团队有效的高质量完成,这是不是和客户要求的deadline冲突了呢,团队自己定的时间如果过多就会影响准时的交付,而如果不影响交付,必然会产生加班以至于质量问题。在实际中怎么去协调这个呢?
2014-01-21 14:05:49
5912
1
原创 敏捷开发一千零一问系列之三十六:跨平台开发的人员和代码复用
问题:团队里有不同专业的人员,例如开发iPhone和安卓的手机人员,他们一起召开每日会议的话意义有多大?因为iPhone项目的进度和安卓项目的进度看似关系不大,iPhone开发人员遇到的问题安卓开发人员也无法解决。
2014-01-21 13:20:26
4331
3
原创 敏捷开发产品管理系列之九:划分产品子系统
本文是敏捷开发产品管理系列的第九篇。(专栏目录)其实子系统不是一个严格的定义,这里指任何产品(当然还有一个问题,什么是一个产品……)的第一级功能目录,也就是最大尺度上的产品分解方法。由于业界一直缺少标准分解方法乃至一些简单规则,可能一百个产品有一百个分法。在开发火星人的过程中,“我们”偶然发现了一种易于掌握的方法。“我们”加上引号,是因为实际上是我在培训课的学员看了我们实际的分解结果后发现的;被他一语道破之后,我本人也恍然大悟。
2013-12-15 22:52:12
5766
功能点需求模板
2015-11-26
产品研发敏捷统一过程 AUP2.0
2015-11-26
火星人敏捷开发早期估算
2013-07-14
火星人敏捷开发手册 2012-12-31(修正了页眉)
2012-12-31
Top100案例征集表
2012-10-09
火星人敏捷开发手册 2012-08-15
2012-08-14
火星人敏捷开发手册 2012-06-30.pdf
2012-07-01
火星人敏捷开发手册 2012-05-06
2012-05-06
火星人敏捷开发手册 2012-04-30
2012-04-30
火星人敏捷开发手册 2012-02-29
2012-02-24
火星人敏捷开发手册 2011-12-31
2011-12-31
火星人敏捷开发手册 2011-10-14
2011-10-15
火星人敏捷开发手册 2011-09-12
2011-09-12
火星人敏捷开发手册 2011-08-18
2011-08-18
火星人敏捷开发手册 2011-08-18
2011-08-17
火星人敏捷开发手册-免费的Scrum开发过程手册 2011-07-21
2011-07-21
火星人敏捷开发手册-免费的Scrum开发过程手册
2011-07-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人