项目管理-软件工程
文章平均质量分 52
agile、xp。。。
不能飞的肥燕
10多年IT经验,5年多阿里巴巴和百度等的工作经验,互联网相关技术娴熟扎实。
展开
-
关于重构
对于影响面比较小的重构,比如代码优化等,可以穿插在业务功能开发中完成。而大规模重构,意指内部对整个系统进行架构、甚至核心代码的重写,但是外部功能不发生改变。此时面临两大挑战:保证业务功能保持不变-无功能遗漏,并且无功能改变。 新老系统是否需要并行运行一段时间,如果需要,如何做。通常存在三种重构方式:一次完成——定义最终状态的结构,然后将代码一次完成。 分而治之——将一大团乱七八糟的代码分为两段,然后重复这样的操作,直至完成…… 压制(Strangling)—压制类无论那种方式...原创 2021-02-09 15:01:36 · 176 阅读 · 0 评论 -
阿里巴巴“三板斧”管理到底是什么?
阿里巴巴从最初的以马老师为首的18罗汉创始员工,发展至今拥有4万员工;从杭州的湖畔花园起家,到去美国纽约证券交易所上市敲钟。阿里巴巴如何走到现在?它背后的管理机制是怎样的?我们到底向它学什么?● 阿里巴巴管理总纲● 阿里巴巴九板斧● 中层能力三板斧一、HRBP与商业结构“HRBP在阿里,HRBP(人力资源业务合作伙伴)是非常重要的岗位,员工和外界往往称之为“政委”。这个名称来源于两部电视剧:《历史的天空》和《亮剑》。只有当政委懂业务时,才能和业务团队组好班子,打好战略。岁末年转载 2021-02-02 10:31:00 · 2490 阅读 · 0 评论 -
DDD
原创 2021-01-17 20:48:08 · 126 阅读 · 0 评论 -
六分钟八法则塑造优秀程序员
还记得那个叫做 Justice Gray 的人么?他曾经试图在六个月的时间里面成为更好的程序员,这种做法似乎成为了一种众人追捧的时尚。然而很长一段时间过去之后,其中的大部分人并没有如愿以偿的成为好的程序员。这里提供给大家一个简单的解决方案,有一些方法可以让你在六分钟之内成为更优秀的程序员。你有六分钟的闲暇时光,对么?我们一起来吧! 1. 使用更大的显示字体这个办法看上去转载 2009-05-19 11:46:00 · 569 阅读 · 0 评论 -
讨论:衡量程序员的工作效率
作者 Sadek Drobi译者 郑柯 发布于 2008年10月10日 上午8时58分 社区 <a id="1,390" onclick="function onclick(){try {CategoryPopup.showPopup(this);} catch(e) {}; return false;}" name="architecture" href="http://转载 2008-10-13 09:35:00 · 1028 阅读 · 0 评论 -
主流编程语言优劣考
前言 本文的目的并非是想挑起语言之争,而是希望通过客观地分析每一种主流语言的能力,辨明其长短,让程序员能够扬长避短,有效地使用各种语言。让各种语言能够各安其位,为你更好的服务。程序员应当成为语言的主人,而不是语言的奴隶。 正文 这里,我将比较一下几种主流编程语言:C,C++,Java,.NET,Ruby,JavaScript。其他主流编程转载 2008-06-17 15:25:00 · 535 阅读 · 0 评论 -
十个习惯让你精通新的开发技术
这篇文章,是从我的《高效<strong class="kgb" style="BORDER-TOP-WIDTH: 0px; FONT-WEIGHT: normal; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; CURSOR: hand; COLOR: #0000ff; BORDER-RIGHT-WIDTH: 0px; TEXT-DECORAT转载 2008-04-16 15:11:00 · 567 阅读 · 0 评论 -
Tips
1. WS中的private和Object类型转换:java 1.5 之后,int与Integer可以自动转换的,所以你将一个Integer对象作文参数传给一个接收int的函数的时候是不会出错的,但是如果是webservice就要当心了, 因为ws是一个通用的东东,它并不是和某种语言绑定的,所以 “type="{http://www.w3.org/2001/XMLSchema}int” 参数的原创 2008-03-31 09:49:00 · 654 阅读 · 0 评论 -
史上最经典的十大管理理论
1、彼得原理 每个组织都是由各种不同的职位、等级或阶层的排列所组成,每个人都隶属于其中的某个等级。彼得原理是美国学者劳伦斯?彼得在对组织中人员晋升的相关现象研究后,得出一个结论:在各种组织中,雇员总是趋向于晋升到其不称职的地位。彼得原理有时也被称为向上爬的原理。 这种现象在现实生活中无处不在:一名称职的教授被提升为大学校长后,却无法胜任;一个优秀的运动员被提升为主管体育的官员,而无所作为。转载 2007-12-24 16:23:00 · 936 阅读 · 0 评论 -
基于TCPCopy的Dubbo服务引流工具-DubboCopy
TCPCopy顾名思义,就是一个可以将tcp流量复制的工具(其实也可以复制UDP)。有了这样一个工具,我们就可以真实的复制线上流量,然后将这些流量复制到我们的测试服务器上。这样就可以很容易模拟线上真实用户的访问,做一些功能上的,性能上的测试。而且经过实际测试发现TCPCopy对线上机器的资源消耗也是极低的。借助这么一个工具,我们可以比较容易的实现一些比较有意思的功能。比如我们现在我们的应用转载 2016-08-16 18:11:41 · 973 阅读 · 0 评论 -
tcpcopy压力测试
一、tcpcopy简介XCopy是由主要由网易的王斌开发的一套流量复制测试工具。XCopy系列包括 TCPCopy、UDPCopy、MysqlCopy 等开源软件(这些软件都集成在tcpcopy 开源项目内)。曾经应用于网易的广告投放系统,urs系统,nginx hmux协议等系统,避免了上线带来的很多问题。所以很多时候我们指的tcpcopy (广义上的)就包括xcopy的全系统产转载 2016-08-16 18:10:06 · 686 阅读 · 0 评论 -
Selenium中文手册
Selenium中文手册一 Commands (命令)Action对当前状态进行操作失败时,停止测试 Assertion校验是否有产生正确的值 Element Locators指定HTML中的某元素 Patterns用于模式匹配 1. Element Locators (元素定位器)id=idid locator 指定HTML中的唯一id的元素 name=namename locator指定 HTML中相同name的元素中的第一个元素 identifier=ididentifier loca转载 2010-12-02 12:52:00 · 1335 阅读 · 0 评论 -
Mocks Aren't Stubs
http://www.martinfowler.com/articles/mocksArentStubs.html mock与stub代表的是不同的unit testing方法(分别是 interaction-based 和state-based)。State-Based Testing一个例子:public class OrderStateTester extends TestCase原创 2009-07-28 17:06:00 · 906 阅读 · 0 评论 -
Java开源测试工具收藏
JUnit JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。 http://www转载 2008-07-23 10:58:00 · 578 阅读 · 0 评论 -
使用GroboUtils进行多线程测试
被测试的类: Buffer.javapackage test;import java.util.HashMap;import java.util.Map;/** * * @author sting */public class Buffer { private static Buffer me = new Buffer(); public static Buffer g转载 2008-07-23 10:55:00 · 1014 阅读 · 0 评论 -
有关Junit的多线程测试
Junit和许多开源软件项目集成在一起,但是Junit执行多线程的单元测试有一些问题。这篇文章介绍Junit的一个扩展类库―――GroboUtils,这个类库被设计为来解决这些问题,并且使在Junit中进行单元测试成为可能。对Junit和线程有一个基本的理解是有好处的,但对于本篇文章的读者来说不是必需的。介绍如果你已经在一个开源的Java项目上工作,或者读了许多有关“极限编程”和其它“快速开发模转载 2008-07-23 10:51:00 · 540 阅读 · 0 评论 -
Junit单元测试
一、简介 JUnit是一款由Erich Gamma(《设计模式》的作者)和Kent Beck(极限编程的提出者)编写的开源的回归测试框架,供Java编码人员做单元测试之用,可以从www.junit.org网站上免费获得,本文使用的版本仍然是3.8.1。获得junit3.8.1.zip文件后,解压缩,需要其中的junit.jar文件,将该文件放到特定的文件夹中备用,我放到了我机器的G:/YPJCC转载 2008-07-23 10:28:00 · 1077 阅读 · 0 评论 -
HttpUnit实践-
首先从Httpunit的网站下载Htttp测试框架,解压缩到一个指定的目录。通过Index.htm可以得到英文的指南及示例。HttpUnit的核心是WebConversation类,其次是WebRequest和WebResponse。通常的用法如下所示。WebConversation wc = new WebConversation();WebRequest req = new GetMethod转载 2007-12-17 18:11:00 · 2375 阅读 · 0 评论 -
JunitPerf使用简明手册
代码效率对于许多开发者而言是一个非常关心的指标。而且,代码执行效率的高低对于应用的使用者来说是感觉最直观的。它往往也是一个应用是否成功的关键性指标之一。那么是否存在那些能够反映代码执行效率的工具呢?我们可以试一试junitperf。 使用目的 测试单元测试的执行效率。由于在单元测试中实际调用的就是单元代码,因此,测试单元测试的执行效率可以直接的反应实际代码的效率。Junitpe转载 2007-12-17 18:10:00 · 1052 阅读 · 0 评论 -
JUnit best practices
Techniques for building resilient, relocatable, multithreaded JUnit tests 一项灵活的、可重定位的多线程JUnit测试技术 作者 Andy Schneider 译者 雷云飞 javawebstart Barret gstian [AKA] 校对 gstian [AKA] Summary转载 2007-10-08 13:05:00 · 1067 阅读 · 0 评论 -
纯技术角度看自动化测试的迷思
谈到自动化测试方面的误区,不少文章倾向于从人性、管理、职业规划等方面进行探讨。我这次专门从计划、设计、实现、维护等技术角度总结一下。自动化的最终目标是什么?很多人以为是像工业革命一样消灭手工劳动者,在这里等于手工测试人员。但是测试存在一个目前来看还算正确的、其他行业不多见的悖论:任何时候,你都不能准 确知道还有多少bug,就像警察不能准确知道还有多少贼一样。所以自动化的最终目标——目前来说转载 2007-09-24 12:56:00 · 689 阅读 · 0 评论 -
测试用例评审有效性的44个衡量标准
陈能技2007-9-20原文:“44” Metrics for Test Case Review Effectiveness - http://davidfrico.com/roi-metrics-f.htm1.Major Defects Per Test Case Review每个经评审的测试用例发现的主要缺陷2.Minor Defects Per Test Case Review每个经评审的测转载 2007-09-21 17:12:00 · 1028 阅读 · 0 评论 -
Uber微部署的工程实践
原文:UBER ENGINEERING’S MICRO DEPLOY: DEPLOYING DAILY WITH CONFIDENCE 作者: Mathias Schwarz 译者:仲培艺,关注数据库领域,纠错、寻求报道或者投稿请致邮:[email protected]。2014年,Uber发展迅速,其平台在第一季度由原来的60座城市发展到100座,后又在第三季度拓展到200转载 2016-07-14 01:48:17 · 501 阅读 · 0 评论 -
如何看待研发管理
工作马上10年了,研发管理=研发人员管理。原创 2017-06-24 14:18:35 · 495 阅读 · 1 评论 -
管理模型之PACE
PACE: process owner, approver, contributor, executor。在团队里每个成员都分类成这四中角色,而四种角色里有两个角色是有且只有一个,那就是P和A。一个组织只能有流程管理的P来掌控流程,一个组织只能有一个真正拍板的A,一个组织可以有很多C出来提意见来左右A的判断,一个组织有无数的E在干活提供支持C的理论的证据。但为什么我们会不断遇到大家吵来原创 2015-03-19 10:04:11 · 4979 阅读 · 0 评论 -
论大公司的通病
文/Fenng 兴之所至的写了一下我对 BAT 三家公司的看法,有位大佬留言说,不如写一下大公司的通病。这倒是提醒了我,很好的话题,任何大公司都有各种各样的独特的问题,也有些问题有共性。我列几点跟大家探讨。 一. 过度管理 绝大多数大型公司的管理者的管理工作都是过度的,这话不算夸张,有些管理者甚至把管理本身当成唯一的工作任务,更有甚至,只盯着上一级主管的喜好做事,糟糕转载 2015-03-10 15:49:08 · 673 阅读 · 0 评论 -
IBM PM面试题目
<br />问题1:工期和工作量之间的差异是什么? <br /><br />答案1:工期是商业/日历上的天数,与人数和工作量无关。工作量是与日历天数无关的人的工作。例如: <br /><br />一天的工作量对于一个一只花50%在时间在上面的人来说,他的工期就是两天。如果两个人全职工作,工期是1天,而工作量是两个工作日。 <br /><br />问题2:怎样和为什么要在编制项目计划时考虑依赖关系? <br /><br />答案2:根据使用的软件包,依赖关系可以通过将任务及其后续任务的标识符进行关联来表示。依转载 2011-01-10 22:33:00 · 4468 阅读 · 1 评论 -
关于项目经理的一些可能面试题
关于项目经理的一些可能面试题转载 2011-01-10 22:29:00 · 5456 阅读 · 0 评论 -
2011项目经理面试中常被问到的12问题
<br /><br />以下是典型的项目管理面试中通常会问到的问题(期望的回答):很多的问题的答案是主观的,面试官想知道你的观点是否和他们的及公司一致。问题的构成如下: <br /><br />1. 项目管理软件工具知识<br />2. 编制项目计划的技术<br />3. 人员管理技能<br />4. 沟通技能 <br />5. 原理体系知识(标准开发生命周期和项目管理)。 <br /><br /> 项目管理软件工具知识 <br /><br />问题1:工期和工作量之间的差异是什么? <br />答案1:转载 2011-01-10 21:48:00 · 1074 阅读 · 0 评论 -
PM面试题目
<br /><br />1、 你认为一个项目如何进行才正确?(比如:尽一切可能快的完成任务或完全按照类似CMM来操作)<br />根据林锐博士的观点:企业的根本目标是合法地赚取尽可能多的利润,使企业利益最大化。企业所有的特定目标和行动都是围绕上述根本目标开展的,任何背离根本目标的行动都将对企业造成伤害,应当杜绝。<br />基于此任何人都不要强调我将严格遵守XX模式,带领团队开发出具有XX等级的产品,企业需要的是能够带领团队按时、合格的开发出产品的Manager。<br />2、 你经常看或仔细研读过的书有转载 2011-01-10 21:44:00 · 1260 阅读 · 0 评论 -
可视化的风险管理
不论项目规模如何,如果项目干系人们能够对风险及其缓解策略了如指掌的话,他们便会信心倍增。敏捷也很注重推广运用信息辐射器。传承了辐射器的精髓,敏捷学家们提出了一些不同的、可视化的方法来描述风险,以使风险跟踪和缓解更容易。Denis提出,使用风险热度图是可视化展示风险的最佳途径之一。在这个图中,纵轴代表所示风险发生的可能性。横轴描述了风险一旦发生,将对项目或工程产生的影响。Denis解释道转载 2010-04-20 10:23:00 · 1947 阅读 · 0 评论 -
如何进行大规模的重构
<br />根据定义,重构是指在不改变外部行为的前提下,改变程序内部的实现结构。人们经常会在程序的非功能的属性进行重构,从而提高代码的可读性以及可维护性。即便是经验丰富的敏捷开发者,在进行大规模的重构时也是如履薄冰。敏捷社区对处理大规模重构的几种方式进行了讨论。<br />在最近的讨论中,Andreas想知道处理大规模重构的三种可能方式之外最好的方式。他的方式包括:一次完成:定义最终状态的结构,然后将代码一次完成。化整为零:将一大堆烂泥般的代码划分为两块,然后继续划分下去,直到完成为止(注:有点类似递归的味翻译 2010-09-02 14:55:00 · 885 阅读 · 0 评论 -
TDD的好处
<br />TDD的全称是Test Driver Development,测试驱动开发。就是开发要以测试为驱动。编码之前,测试先行。代码都没有,我如何测试,我连要测的对象都没有啊?这好像是个问题。<br /><br />TDD的哲学为我们解答了这个问题:先编写测试用例(没有代码之前这些测试用例一个也通不过),然后再写代码让这些测试用例通过。更进一层的讲就是:编写足够的测试用例使测试失败,编写足够的代码是测试成功。我们编码的目的更加明确的。<br /><br />TDD是大名鼎鼎的极限编程的一个最重要的设计工转载 2010-09-07 16:02:00 · 1192 阅读 · 1 评论 -
持续集成-平台搭建(hudson+sonar)
持续集成-平台搭建(hudson+sonar)转载 2011-02-11 14:04:00 · 6809 阅读 · 1 评论 -
敏捷方法之极限编程(XP)和 Scrum区别
敏捷方法之极限编程(XP)和 Scrum区别转载 2011-02-11 13:57:00 · 1136 阅读 · 0 评论 -
Agile - 飞瀑、迭代式瀑布、Scrum、Lean的不同
Agile - 瀑布、迭代式瀑布、Scrum、Lean的不同文中描述:Lean和Scrum非常像,Scrum关注特性组(groups of features),Lean关注特性(features)。在Lean开发中,你一个接一个地完成特性(选择,开发,测试,发布)。Lean强调减少浪费。Scrum DevelopmentThis approach carries far less转载 2014-07-24 17:49:30 · 2159 阅读 · 0 评论 -
极限编程(XP)的12个最佳实践
[摘要] 极限编程(XP)的12个最佳实践。1.现场客户 ( On-site Customer )。2.代码规范 ( Code Standards )。3.每周40小时工作制 ( 40-hour Week )。4.计划博弈 ( Planning Game )......11.持续集成 ( Continuous Integration )。12.小型发布 ( Small Release )。转载 2014-09-08 08:49:36 · 6769 阅读 · 0 评论 -
敏捷开发工具Scrum Works使用简介
http://www.uml.org.cn/SoftWareProcess/200909084.asp转载 2009-10-16 16:04:00 · 1233 阅读 · 0 评论 -
SCRUM简介
SCRUM方法 由Ken Schwaber和 Jeff Sutherland 提出,旨在寻求充分发挥面向对象和构件技术的开发方法,是对迭代式面向对象方法的改进,名称来自英式橄榄球(在比赛中每个队员都应时刻保持对场上全局的判断,然后通过集体行动,奋力实现同一目标──胜利)。 SCRUM方法最初实践于Easel公司(1993年),现已被数十家公司数百个项目开发中应原创 2009-06-09 16:16:00 · 525 阅读 · 0 评论 -
敏捷帮你成功:使用Scrum开发软件
<br />Scrum团队成员已经习惯于看到他们项目组中的两个新角色了——Scrum Master和Product Owner。但Scrum项目成员面临的改变远不只是这两个新角色。例如,Scrum团队的自组织特性使其取消了技术主管这一角色,每个人都不能仅限于自己的术业专攻,而是要尽可能地帮助整个团队,尤其是要把写需求取代为讨论需求,到每个sprint末,团队都必须做出些实实在在的东西来。当采用Scrum时,有些调整会改变团队和组织内部的角色及其之间的关系,这常常会给组织带来一些直面的挑战。<br />本文将转载 2010-08-03 10:32:00 · 1085 阅读 · 0 评论