- 浏览: 1153897 次
- 性别:
- 来自: 火星郊区
博客专栏
-
OSGi
浏览量:0
文章分类
- 全部博客 (695)
- 项目管理 (48)
- OSGi (122)
- java (79)
- Vaadin (5)
- RAP (47)
- mysql (40)
- Maven (22)
- SVN (8)
- 孔雀鱼 (10)
- hibernate (9)
- spring (10)
- css (3)
- 年审 (6)
- ant (1)
- jdbc (3)
- FusionCharts (2)
- struts (4)
- 决策分析 (2)
- 生活 (10)
- 架构设计 (5)
- 破解 (2)
- 狼文化 (4)
- JVM (14)
- J2EE (1)
- 应用服务器 (1)
- 我的链接 (5)
- 数学 (2)
- 报表 (1)
- 百科 (6)
- Flex (7)
- log4j (2)
- PHP (1)
- 系统 (2)
- Web前端 (7)
- linux (6)
- Office (1)
- 安全管理 (5)
- python (2)
- dom4j (1)
- 工作流 (3)
- 养生保健 (4)
- Eclipse (8)
- 监控开发 (1)
- 设计 (3)
- CAS (1)
- ZK (41)
- BluePrint (3)
- 工具 (1)
- SWT (7)
- google (2)
- NIO (1)
- 企业文化 (2)
- Windoes (0)
- RCP (7)
- JavaScript (10)
- UML (1)
- 产品经理 (2)
- Velocity (10)
- C (1)
- 单元测试 (1)
- 设计模式 (2)
- 系统分析师 (2)
- 架构 (4)
- 面试 (2)
- 代码走查 (1)
- MongoDB (1)
- 企业流程优化 (1)
- 模式 (1)
- EJB (1)
- Jetty (1)
- Git (13)
- IPV6 (1)
- JQuery (8)
- SSH (1)
- mybatis (10)
- SiteMesh (2)
- JSTL (1)
- veloctiy (1)
- Spring MVC (1)
- struts2 (3)
- Servlet (1)
- 权限管理 (1)
- Java Mina (1)
- java 系统信息 (6)
- OSGi 基础 (3)
- html (1)
- spring--security (6)
- HTML5 (1)
- java爬虫搜索 (1)
- mvc (3)
最新评论
-
Tom.X:
http://osgia.com/
将web容器置于OSGi框架下进行web应用的开发 -
chenyuguxing:
你好, 为什么我的bundle export到felix工程中 ...
在Apache Felix中运行bundle -
string2020:
<niceManifest>true</ni ...
Bundle Plugin for Maven -
jsonmong:
OSGI,是未来的主流,目前已相当成熟。应用OSGI比较好的, ...
基于OSGi的声明式服务 -
zyhui98:
貌似是翻译过来的,有很少人在linux上做开发吧
如何成为“10倍效率”开发者
编者按:Ashley Moran 是一名软件开发人员,最近在其关注的邮件列表中看到了一些有趣的观点,所以他做出了相应回应。(以下是全文)
一些有趣的观点出现在我所关注的邮件列表中。下面是其中的一些。原始评论将以蓝色字体显示,下面是我的回应。这不是对相关问题的彻底看法,只是我所想到的一些相关的回应。注:我已加以编辑,以改善流程(flow),并加以阐述。
在软件开发中,我们不能对任何单独的任务作出时间的估算,是由于工作性质是创造新知识。
软件开发的目标是实现流程(Process)自动化。只要一个流程实现了自动化,便可以针对大多数情况在可预期的时间内反复运行。源代码就好像生产蓝图,而电脑就好像生产工厂,输入(数据)好像原材料,输入(数据)就像制成品。而使用另一种类比,星巴克可以重复迅速地制作咖啡的原因就在于他们花费很多时间在流程的设计上,使得该流程成为了一个复杂且昂贵的作业。星巴克的个人经营者不必再去重新研究该流程,只需买下此蓝图便可。我会让各位读者练习推断我对COSTA咖啡制作过程的意见。
事实上,不可预期的开发时间并不总是坏事,因为它所带来的价值也是如此。一款成功的软件可以制造或节省的价值远超过其成本。Tom DeMarco之所以赞成关注高成本项目,正是基于这个原因。能注意到这点,需要一种价值增长的理念,而不是广泛而又普遍的成本控制理念。这是很重要的问题。
目前为止,Don Reinertsen的《Principles of Product Development Flow / 产品开发流程原理》,是我所看过的对可变性与为价值而开发的最好解释,该原理在日常流程管理中大量使用PatchSpace Bible。我所说的“目前为止最好的”是指超越我所看过的其他解释一个档次,不包括约束理论(Theory of Constraints)的著作。
这就是我的最近开发项目的数据。直方图中的R表示5个小时的量:横轴表示的是User Case 的持续时间——0-5小时,5-10小时,等等;纵轴表示的是占此时续时间的User Case数量。我以90分钟为间隔,工作并将其记录在Wave上,这样我们就能清楚地知道任务持续时间。
我们这么做既为了与客户沟通,又为了账单。结果是:我们的开发时间的可预知程度跟放射性衰变一样,但却是始终如一的辐射。可估计的相关数据少得可怜,我拒绝估计个别任务的的时间,因为这会产生误导,但是我们有足够数据进行合计。
经验法则:接受开发人员的估算意见,但是要在两倍的基础上再加一点时间
两倍加一点法则很有趣。经理开始运用此法则时,多长时间他会提前完成一次?我们通常太过注重超支。如果一个团队未能提前完成任务的一半。他就要增加估计时间,这意味着拿开发周期与项目进度做交易。周期往往比可预测性更重要,因为它意味着更早地进入市场。同样看看Reinertsen的作品,数字会以与数量级不同的规律出现。
并且,这是关键链(Critical Chain)项目管理的基础,这会将项目估计时间二等分,把剩余时间(添补单独项目)放在最后,作为“项目缓冲时间”。这就意味着帕金森定律不会导致单独任务无规律地扩张。尽管我不觉得关键链是软件行业的一个合适的方法,但作为开发工作的内容,它可作为反馈与学习提高的工具,可明显改善计划。
通常人们只是估计时间
不仅开发人员估计不好。每个人都会遇到临场发挥(即兴应付)的问题,因为那是他们没从未做过的事,所以在完成之前,他们无法准确地作出判断。
作为一个群体,我们应避免这一点。不知道就是不知道,一定要说出来。相比于无法估计,那些能够定期了解任务进度,从而意识到风险(并选择继续投资)的客户,会给予团队更多的信任。这是事实!我是认真的,不用只相信我的话,看看David Anderson的《Kanban》一书吧。
估算是一个很重要的技能,应该在初级开发人员中广泛教学
我提出了一个替换方案:我们需要教给初级开发人员的是完成的意义。如果估计问题已经够糟糕了,在一些不确定的点找出未完成的某些东西(也许是匆忙地兑现承诺…我的意思是估计判断!)不仅会打乱时间的估计,还会打乱所进行的工作的日程。这是常有的事,并且会给一个开发团队的地位造成重大损失。
发表评论
-
一个例子全部说明java泛型中的K,V,T,E,?,object的意思及其用法
2013-03-07 11:09 70581.意思 jdk中的K,V,T,E等泛型名称很多人以为 ... -
Log4j 把不同包的日志打印到不同位置
2012-11-29 08:23 1156需要的包和测试的代码下载附件! 如果需要将不同的日 ... -
Java多线程发展简史
2012-09-16 14:25 1042转自:http://www.raychase.ne ... -
Java编码易疏忽的十个问题
2012-09-06 08:52 920在Java编码中,我们容易 ... -
网络编程
2012-09-04 13:30 981计算机网络基础 什么是计算机网络 把分布在 ... -
获取Java程序运行的路径 | 获取当前jar包的路径
2012-09-04 11:55 14091经过试验,不管是否是 Jar 包,不管是否是 Tom ... -
java的concurrent用法详解
2012-08-03 11:28 1026我们都知道,在JDK1.5之前,Java中要进行业务并发时 ... -
Java程序员必知的8大排序
2012-07-05 09:56 10338 种排序之间的关系: ... -
Comparator与Comparable的区别
2012-07-05 08:38 1225当需要排序的集合或数组不是单纯的数字类型的时候,通常可以使用C ... -
RSA算法Java实现
2012-06-27 08:22 1421Java代码 package c ... -
队列阻塞浅析
2012-06-17 18:10 937这几天所做的项目中涉及到了队列阻塞机制,通过研究整理如下 ... -
Java面试过程中会遇到的问题
2012-06-13 13:04 11551、abstract的method是否可同时是static,是 ... -
【解惑】深入jar包:从jar包中读取资源文件
2012-06-13 13:02 1108我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等)。 ... -
java 处理文件路径中的空格
2012-06-13 12:57 1546问题背景: windows下有个目录名称Program ... -
java内存分配机制
2012-06-13 12:52 1181通过这几天对一个 ... -
byte[]转化成其他数据类型
2012-05-14 16:41 1668Java与其他语言数据类型之间的转换方法实例程序 /*** ... -
java中byte转换int时为何与0xff进行与运算
2012-05-14 16:39 1079java中byte转换int时为何 ... -
java整型数与网络字节序的 byte[] 数组转换关系
2012-05-14 16:31 6483工作项目需要在 java 和 c/c++ 之间进行 ... -
利用 Base64 缩短 UUID 至22位
2012-04-15 18:57 7189UUID还是比较常用的,尤其在web应用里。 有时在UR ... -
图解Java中的值传递与引用传递(更新版)
2012-04-09 12:49 1190编程的人,都会遇到值传递与引用传递的困惑,不过很快都会迎 ...
相关推荐
程序员不擅长估算时间是软件开发领域的一个普遍现象,这涉及到多个因素。首先,软件开发的复杂性和不确定性使得准确预测时间成为一项挑战。编程任务往往涉及众多未知因素,比如需求的模糊性、技术难题的出现、代码的...
2. **人员配置**:详细列出团队的角色(如项目经理、开发人员、测试人员等)及其工作时间。 3. **工时估算**:根据功能复杂度和人员技能估算每个任务所需的时间。 4. **成本计算**:结合工时和人员薪资,计算出每...
软件开发工作量是软件开发过程中最重要的因素之一,它影响着软件开发的成本和时间。软件开发工作量可以根据经验值、风险系数和复用系数来计算。经验值是根据软件开发的经验和历史数据来计算的,风险系数是根据软件...
Putnam模型是1978年Putnam提出的一种动态多变量模型,公式为L = Ck \* K^1/3 \* td^4/3,其中L为源代码行数,K为整个开发过程所花费工作量,td为开发持续时间,Ck为技术状态常数。从上述方程加以变换可以得到估算...
在项目管理中,准确地估算开发软件的成本是至关重要的。"项目开发软件估算"涉及到一系列技术和方法,确保项目预算的合理分配与控制。这不仅关乎到项目的成功执行,还直接影响公司的盈利状况和客户关系。 首先,我们...
1. **基本概念**:人天评估模型将软件项目的开发过程划分为多个阶段,每个阶段需要不同类型的技术人员参与,如高级程序员、中级程序员和初级程序员等。通过评估各阶段所需的人力资源数量和时间长度,结合当前市场上...
4. **专家判断**:经验丰富的开发人员和项目经理的见解对于估计任务的复杂性和完成时间至关重要。他们的专业意见可以弥补历史数据的不足。 5. **参数估算法**:基于代码行(LOC)、功能点或用户故事点来估算工作量...
其中,MM 为开发工作量(以人月计),KDSI 为源指令条数,不包括注释。r, c, a, b 为经验常数,取决于项目的总体类型。 COO 模型可以分为三级:基本 COO 模型、中间 COO 模型和详细 COO 模型。基本 COO 模型是一个...
虽然项目估算并非一门精确科学,诸多因素如人员能力、技术选择、项目环境和战略规划等都可能给估算带来不确定性,但通过恰当的项目管理方法和工具的应用,项目经理能够更有效地预测未来,制定更精确的估算。...
测试估算是软件开发过程中不可或缺的一环,对于确保项目按计划顺利推进至关重要。通过合理的测试估算,能够有效地规划测试资源、分配工作任务,并实现对测试进度的有效监控。然而,在实际操作中,如何制定一个科学...
开发人员月报是一种重要的工作汇报工具,用于记录和总结过去一个月的工作内容、进度以及成果,同时对未来的工作进行规划。以下是对开发人员月报模板的详细解释: 1. **工作完成情况**:这部分需要列出本月完成的...
软件估算是软件工程项目管理中的一个重要环节,它主要是指根据软件项目的特性(如开发内容、使用的开发工具、开发团队的能力等),对整个软件开发过程(包括需求调研、程序设计、编码、测试等阶段)所需时间和工作量...
2. **成本估算**:成本估算是软件工程管理中的关键环节之一,它涉及对项目所需资源、时间和人力成本的预测,旨在减少不确定性和风险,为项目制定合理的预算和计划。 3. **软件生产率**:通过分析影响软件生产率的...
中间 COCOMO 模型在用 LOC 为自变量的函数计算软件开发工作量的基础上,用涉及产品、硬件、人员、项目等方面的影响因素调整工作量估算。详细 COCOMO 模型包括中间 COCOMO 模型的所有特性,但用上述各种影响因素调整...
* UPS 电池容量和放电时间的估算可以帮助维护人员监控和维护 UPS 系统的运行状态。 UPS 电池容量和放电时间的估算是 UPS 系统设计和应用的重要组成部分,对 UPS 系统的性能和可靠性具有重要影响。
《手机定位系统成本估算报告》是一份详细的项目管理文档,主要采用了功能点(FP)方法对软件开发的成本进行科学估算。这份报告对于理解和实施软件项目管理具有重要意义,它涵盖了项目的目标、范围、组织结构、任务...