浏览模式: 标准 | 列表分类:胡言后乱语

要比跳蚤聪明--关于自我设限的联想

有这么一个关于跳蚤的故事:

---------------------------------------------------------------------

曾经有人做过这样的一个实验:把几只跳蚤放在密封的玻璃瓶子里,在最初的时候,跳蚤试图逃出去,每次都跳的很高,但每次都要撞到瓶盖。
在几次失败碰壁之后,为了不至于撞疼脑袋,跳蚤开始调整策略,虽然它仍旧在跳,但是跳跃高度已经不足以触及瓶盖。
这个时候,即使你把瓶盖打开,他也不会跳出瓶外去,因为它已经把自己的跳跃范围限制在自己所设定的范围内。其实他只要稍微跳高一点,就可以自由,但是他没有。

-----------------------------------------------------------------------

第一次听到自我设限的这个名词,来源于DLHUNTER的说法。听说来源于另外一个人,具体就不再深究。今天打完了羽毛球,和同事走路回家,第一次见面的同事,虽然我们同在一个公司好几年。我和他不停的说话,分析公司,分析公司的部门,分析房价。我不喜欢冷场。呵呵,可能说的有点多,他和我说,他觉得我应该去做销售。我笑问,为什么?他说,直觉如此。我问,为什么你不能去做呢?他说,我偏内向,只能在公司研发部门呆着。我突然想到DLHUNTE给我提起的自我设限,是这样的么?

做销售,为什么你不能去做销售?是我自己自我设限,是搞技术的,不能去搞销售的事情,还是什么其他的呢?我一直在想为这个问题找到答案。特别是最近有空来想这些问题的时候。

为什么不能去做销售?难道头上顶着好几个透明的玻璃瓶盖么?

我从ps,换部门到rd性能组。我相信这就是我的一次对自我设限的挑战。在做项目最迷茫的时候,我一直不停的在问自己一个问题。除了做项目,开发,管理项目,你还能做什么?是不是一辈子就是做项目的命?

如果有一天,ps没有项目可做了,你去做什么?还是会失业么?做项目总是个很失落的过程。比如,在上一个项目的过程中,需求变更的问题,到了下一个项目,这些问题依然出现?难道我就不能去解决这些问题?我也尝试着去解决,去沟通这些问题,想彻底根除这些问题,在保证客户满意度的前提下,去除这些问题,很难,或者说,不可能。

我对这次部门的转换叫做华丽的转身。开发了一年的项目,带了一年的项目,我相信,就做项目方面,我还是能做一些事情出来的。那么,难道我的命运就是如此?一辈子的和人扯皮?肯定不能这样。那么我就去做些有积累的事情。

于是我就转换到了性能组,就这么简单。如果这次华丽的能转身成功,我相信,总有一天,我会变成一个商人的,不管是不是软件行业的销售,我有足够的冲劲和能力来做这个事情。

分析上面的一段话,有三个玻璃盖:

  1. 在ps一定要做项目么?
  2. 在保证客户满意度的前提下,真不能解决需求变更的问题么?
  3. 这次的华丽转身关后面的计划什么事情呢?

对应的问题:

难道呆在ps一定要做项目?还有咨询啊,售前啊,架构啊,能做的事情多呢。是自己能力不够或者经验不够才做这些事情做的少。努力的蹦跶一下,落在瓶外了,你就能去做其他的事情,就是如此简单。

当自己觉得沟通的够了,应该离真正的沟通够了差很多,不可辩驳的是,ps所参与的绝大多数项目都是有特殊性的,比如一般是销售由于工期的原因才送你们到一线。销售希望你拼命干活,给他多创造利润,这是作为剥削阶层的最终目的,既然他要利用我挣钱,我为什么不能把这个关于需求变更的问题抛给他去处理?

其实不管此次转身能不能成功,后面的计划还是要执行,走一步看一步是正常的做法,但是最主要的是,大的计划不能改变,如此。

其实跳蚤不可悲,因为他已经尝试过很多次。

如果不去尝试,就算一直在瓶子里面蹦咋,也不会很开心。

我想说的是,合适和不合适是一个方面,为什么不尝试呢?折腾有理,折腾无罪,折腾万岁。

---------------------------------------------------------------------

写的有点乱七八糟,自我设限真的是很恐怖的东西,等偶战胜他了,再来写清楚点的文字。

Tags: 跳蚤, 自我设限

性能测试培训--周末--段念

---------------------性能测试培训--------------------

惦记了一个多星期的为期2天的培训结束。培训讲师是段念,一个工作11年的小伙。对于性能测试,写就一本《软件性能测试过程详解与案例剖析》,参与了Google API大全——编程·开发·实例》,对于此次培训,我倒还真是有了一些认识。工具这种东西,只要你去用,去摸索,怎么着都能学会。有一些思路,思想,还有一些经验的分享,也估计只能花钱去买咯。

做些笔记:

1)需求决定性能好坏。

举例说明:一个报税系统,需要填写2个多小时的数据,然后报送的时候需要12分钟,性能是好是坏?

客户反馈:性能不错,能接受。

思考:开始的时候忒不能理解,12分钟在等待计算机响应,是不是太恐怖了点。后来发现,有个前提,需要填写2个多小时的数据。报送12分钟。来平均一下我们的数据,2个多小时,算2个小时。也就是1个小时要对应6分钟提报时间。再次拆分,10分钟对应的是1分钟报送时间。再次拆分也就是10秒的填写,对应1秒的报送时间。那我们在模拟一下系统的用户,填写30秒,等待3秒。嘿,按照258理论。这个完全还是可以接受的。所以结论是性能还不错。

换句话来说,做性能也是为了客户而做,客户都满意了,自己何必再吹毛求疵?

2)响应时间

响应时间分为两段:a)服务器响应时间    b)客户端响应时间

在目前我们所面对的大部分的应用中,以web应用为主。客户所感觉到的时间为:网络传输时间+服务器响应时间+客户端响应时间。目前的多ajax应用中,客户端响应时间反而成为了一个不确定的因素。

3)虚拟并发的估算

一般系统为同时在线的10-20%之间。

在选定的时间段,用户行为基本稳定,有相对固定的行为模型。业务并发数用于模拟用户的真实负载情况。这是一个时间段的概念,具有业务意义,体现的是用户的视角;而服务端的并发数表明软件在同一时刻受到的用户请求,这是一个时间切片的概念,体现的是应用本身的压力,一般用于查找并发引起的问题,比如死锁,内存溢出等所用的概念。利用正态分布来计算并发峰值。

4)性能诊断过程

大胆设想,小心求证。

举例:医生看病,比如一个人发烧来到医院,说自己发烧,让医生给诊断,医生也不知道是怎么回事啊,就把常见的发烧病因列举一下,然后在一一检查,最后定位出来。

同样,做性能测试和分析也是如此,要能知道大概是怎么回事,才能定位出来问题。

用福尔摩斯话结尾:One should always look for a possible alternative and provide against it. It is the first rule of criminal investigation。

你必须寻找各种可能解释事情的方法,然后想办法看看能否试图推翻它。 其实就算是让你看到内存分布有能如何呢?

性能测试和调优也莫过如此。

5)短板效应

一个系统能承受多少压力,不是取决于服务器的配置什么性能最优,而是服务器的最弱的那块硬件性能。

举例:人大学生选课系统,2台数据库服务器,负载均衡。由于2台服务器的硬件配置不一致,一台CPU一直保持在100%,而一台CPU一直就没上过50%。这时候,那台一直100%的就会导致压力脚本运行失败。变成了整个系统的短板。

6)测试分类

  1. 性能测试。(performance testing)
  2. 负载测试。(load testing)
  3. 压力测试。(stress testing)
  4. 配置测试。(configuration testing)
  5. 并发测试。(concurrence testing)
  6. 容量测试。(volume testing)
  7. 可靠性测试。(reliability testing)
  8. 失败测试。(failure testing)

明确目的,才能做好测试。

7)响应时间和并发数的关系

由线性转为非线性。

举例:理发店举例。

一个理发店4个理发师,理发一次需要30分钟,来小于等于5个人的响应时间都为30分钟。等来了8个人,平均响应时间就是一个小时。如果来的人越来越多,时间的变化曲线应为抛物线型。

8)从需求中获取和性能相关的指标

  1. 在约定的时间内完成的业务数量。
  2. 和时间相关描述
  3. 和速度相关描述

关于性能的需求,2个盲点:a)二义性。b)不可测试性。碰到这种问题,需迭代回需求状态,确认需求。

9)确定目标确定的风险考虑

似乎所有的和风险相关的事情,都会有以下2种。

  1. 严重性。
  2. 可能性。

举例:车祸,不做赘述。

--------------------------------TIPS---------------------------

1)测试数据分为负载数据,探测数据。

2)时间戳的使用需配合ntp协议做测试服务器和客户端的时间同步

3)开源用的最多的测试工具 jmeter。

4)http1.1协议规定不能同时发起超过2个的请求。js需单独占用线程下载。

5)loadrunner的使用中,如果是web页面ajax的应用较多,录制脚本请选用url的选项进行录制。

6)在脚本中,如果值能确定,请用参数。如果值不能确定,需从服务器上获取,用关联。

9)fiddler,调试工具,可模拟http请求。

10)用loadrunner监视器他的机器,如果是*nix系列的机器,必须要保证rstatd的进程在运行才能进行监视。

11)页面缓存,用版本来指定文件夹存放静态需缓存数据,可以把静态时间设置比较长。来源于http头的 expired来设置。

12)firefox的插件yslow,firebug的使用。

13)推荐网站:www.testingreflections.com

课后扯淡:最怕领导说要加入项目组了,加入一个(人)死一个(项目),深以为然。比如第一个报税的举例,自己人能把自己人掐死。

----------------------dokuwiki-----------------------

见到了上次性能测试这一块的一哥们,用dokuwiki在本地跑着,记录了他的工作过程,也方便查找,我决定学习了。

Tags: 性能测试, 段念, loadrunner

转:loser们的共同特征

关于曹政的blog看了很多,第一次全文转载。

虽然事情已经成了定局,研发已经尘埃落定,我还是会想,是逃避还是面对?

虽然通用这个划分的行业很失望,为什么我没有去尽自己努力去改变它?

我这是逃避问题?还是我努力的去面对了这个不好的现实。

更何况,我还有每周都买彩票的习惯。

有一种胜利叫做撤退,有一种失败叫做占领。

道长的MSN签名,发人深省。

» 阅读全文

关于离开,优柔寡断

华南的销售QB要离开。伊要去IBM了,愿他前途无量。

发了邮件,请吃饭。

群发所有的华南弟兄,大半天没人响应。

除开了外地等因素,那应该是其他的问题。

是茶先凉,人后走?还是人先走,茶后凉的?

和伊合作过3个项目,一直挺感谢他的照顾,诚然,他不常请兄弟们吃饭。退一步来说,如果给相同的额度,是请客户吃饭,还是请工程师吃饭?做为销售,一定会义不容辞的请客户吃饭,没得跑。就像今天中午GJ同学很客气的在楼下等客户,还有F同学一起开车去吃饭一样。找到关键点,是他们的卖点,而做好关键点,才是他们的任务。工程师同学,你值几何呢?所以我优雅的穿过他们,去食堂吃饭。

每次开始想这些问题的时候,我就在想:for what?

就像我屁颠屁颠跑回华友大厦,吭哧吭哧加班,搞到晚上3点半。然后第二天早上7点半起床,又屁颠屁颠的跑回深圳,开始一天的工作,到晚上10点半。周末无休。

我也会想:for what?

对于自己,那些有提高么?如果没有提高,做事情就是为了做事情,怎么能保证年底的工资增长?

遇到事情,只有到最后爆发的时候才能看到,那就是处理事情的问题不够果断,比如这个项目,本来4月份就做的不爽,想申请去其他的项目组,而直到7月份,我才能离开,人生又能有多少个三个月呢?呵呵,原来优柔寡断的代价如此之高,高到需要让你付出生命。

是的,我也曾经的尝试着调整心态,享受这个过程,并且做的不是一次尝试。但是很遗憾,如果这个过程是以摧残自己的身体为代价,那我真是陪了青春又陪了生命。不知道的还以为我爱上了林仙儿呢?身体状况每况愈下,特别是这次的睡眠不足,有感冒的症状了都。

面临离开华南,回归上海的日子越来越近,反而无法坦然。

因为我记得还有很多酒要喝,饭要吃。而胃不太成了,啤酒一喝就吐,消化不良。

说再见,或者意思就是再也不见?

天南到地北,只是一抬腿。但是,如果不能同一个节奏生活,只会渐行渐远。

向一起并肩的兄弟们举杯,天南地北,只是一个跟头云的距离。

屁股决定脑袋PK脑袋决定屁股

屁股决定脑袋 VS 脑袋决定屁股

薛晓波:论屁股决定脑袋  

吴戈: 屁股决定脑袋 

都写的很好。只是都没太大的指导作用,在IT这个行业,或者,在所谓的程序员的职业规划中,不是那么贴切。晃荡了几年,小有感触。

我想写的就是,如何在IT这个行业来看这个事情?是屁股决定脑袋,还是脑袋决定屁股。

一个公司的组织架构是既定的,一个萝卜一个坑。一个萝卜拔了,就会有一个位置的空缺,如果在那个时候,你恰恰在那个坑附近徘徊,很好,你能占住这个坑。有或者组织架构调整了,多了几个坑,而您丫又恰好能填上这些坑,那也不错,填之。哲理姑且称之为“填坑主义”。又或者说,机会主义。

谦虚的人总是承认机会主义。因为机会是一直存在的。而不谦虚的人总是不承认机会主义,总是告诉自己或者其他人,我能有现在的成就,是通过我自己的努力辛辛苦苦的做出来的,而不是什么机会。试问,没那个机会你能有坑蹲么?

一个好的HR总会给你描述一副很好的前景:我们公司呢,有很好的职业规划,一定能给你足够的发展空间,对,他们说的没错,好好干吧。那么呢,拿一个毕业新进员工的发展来说屁股决定脑袋和脑袋决定屁股事情,是非对错,心明即可。

在开始写时,我们先给屁股下面坐的地方分个类,一个是技术类,称之为板凳,一类是管理类,称之为沙发,还有一类居中的位置,那就是椅子了。

路人甲,毕业,到A公司。程序员开始。

第一年,程序员,第二年高级程序员。第三年,高级程序员和项目经理之间。第四年,第五年,一直在这个点位徘徊。

写程序是一件很有趣的事情,高手和菜鸟的区别,很好分辨。

也就是说,前三年,是属于板凳的。我在华为的一个员工的屏保上看到过一句很经典的话,板凳要坐十年冷。过了三年,做技术的,除非是很有水准的,待遇还有提升的空间,不然,基本上就告一段落了,不会出现三年之间的疯涨的趋势。

这个时候呢,大部分的同学就开始为自己找出路了,想换沙发。而一个公司管理的岗位只有那么多,那就从项目经理开始干起。我发现,算上我认识的很多人,卡片上的title,基本都印的是项目经理。或者一个公司都是项目经理,很奇怪,都在经理谁呢?

能坐上椅子,一般也能算的上是沙发的候选人。到了这个时候,就会到了开始思考屁股决定脑袋还是脑袋决定屁股了。很多候选人会选择在此处退赛,参加一场新的比赛。这也就是为什么毕业三年的同学们跳槽频繁的原因。待遇到了一个关口,发展到了一个关口。至少是自己认为的关口。

行情就是管理类的比技术类的薪水要高,这是贵国的国情,民情,社情。

留下来的人开始PK,可能会存在4种方式:

1)典型的屁股决定脑袋:干好项目经理,努力做好所经手的每一个项目,客户也有重复订单,兄弟们跟着干也很爽,士气十足。

2)典型的脑袋决定屁股:我要做部门的领导,管着那帮项目经理,我就得想想,部门经理在想啥,我怎么才能帮他分忧?我相信,大部分的领导都会这样鼓吹。于是呢项目经理们就开始有点刻意的去揣摩上意。于是这部分人开始频繁的和领导接触,似乎有拍马屁的嫌疑。人的经理是有限的,于是呢,项目做的也不太好,客户也不太满意,兄弟们跟着干得怨声载道,士气萎靡。

3)得过且过,屁股决定屁股,脑袋决定脑袋:领导关系处理的一般,项目做的一般,客户做的一般,兄弟们也管理的一般。

4)屁股决定脑袋和脑袋决定屁股结合:即帮领导分担责任,又能搞好每个项目,搞定每个客户,兄弟们干着也很爽,士气十足。

一般呢,有小聪明的领导会提拔4,而有大聪明的领导会提拔1,此处给管理做个定义:所有的管理,都是人的管理。需要管理好自己,管理好项目组人员,管理好客户。那么为何会有这个结论呢?下做说明:

1)1是属于游刃有余型的,在他的职责范围内,他能做的很好。如果给他换个空间,他也能管理的很好。在某个管理方法论中,1个人只能管理7个人。他是享受工作的,他对自己也很满意,他知道分寸,知道自己是什么不是什么,知道自己的斤两,知道自己的定位,做自己,做好自己,我们有充分的理由相信,他能在新的岗位干好更总要的工作。

2)4是属于疲于奔命型的,既需要考虑领导考虑的事情,又要考虑项目的事情;既需要考虑客户的事情,又需要考虑项目组兄弟们的事情。一个人的精力是有限的,你顾忌了很多事情,那么什么事情都做不好。再说了,您一部门的头,整天在考虑总裁在想什么问题?您说您懂IPO么?您懂战略规划么?您懂VC么?是,您都懂,您是爷。那您对目前的待遇,目前所做的事情满意么?您这一总裁,给我这小庙装着太寒碜了吧,也没您的坑了,您还是另谋高就吧。而实际上,等上了总裁的位置,才发现,呵,原来自己想的都是不完整的。而这些不完整的思考,总是会影响后期上位后的决策,这是关键。您说就这号人物,我能用么?

做好该做的事情,抓住机会。手上的每件事情都能有提高的空间的,让我们努力的把板凳,椅子坐冷。

椅子都坐冷了,沙发还会远么?

Records:12712345678910»