三月 3rd, 2010软件新产品开发失败原因分析(转)
新产品开发是企业远离残酷竞争、获取持续经营优势和实现绩效目标的不二法宝。通用电气、微软、思科、英特尔、3M、宝洁和杜邦等获得持续成功的国际性企业无一例外都在产品创新方面成为行业领导者。我国的许多企业也正在逐步摆脱低水平模仿的红海,开始走上自主创新之路。但一项国际权威研究表明:在大多数企业进行的新产品开发活动中,平均每7个新产品创意,有4个进入开发阶段,有1.5个进入市场,只有1个能取得商业化成功。新产品开发的失败率之高可见一斑。很多企业在新产品开发过程和市场推广活动中投入了大量的人力、资源和金钱,但回报却差强人意,甚至有的企业由此失去了再次卷土重来的本钱。纵观众多失败或成功的案例,新产品开发成败的关键无非在于三个方面:战略、流程和团队。
标签:产品开发, 软件开发, 项目开发二月 3rd, 2010幸运是一种很容易习得的技能
不幸的人在做决定时总是不能相信自己的直觉,而幸运的人则尊重自己的预感。幸运的人对各种选项的思索和感受都在意,而非仅仅只看到事情理性的一面。我认为这会对他们有所帮助,因为直觉就像是警钟——它也是你仔细考虑一个决定的原因所在。
不幸的人总是倾向于按惯例行事。他们倾向于走同样的路上下班,在聚会上于同类型的人交谈。相比之下,许多幸运的人都会尝试在生活中加入变数。比如,一个人在参加聚会前想到了一种颜色,然后在聚会上她把自己介绍给穿这种颜色衣服的人(译者:这招狠)。这种行为通过引入变数增加碰到机会的可能性。
幸运的人总是倾向于看到霉运好的一面。他们会想到事情原本可以更糟的。在面谈中,一位志愿者腿上打着石膏来了,并描述了他是如何跌下飞机阶梯的。我问他是否感到自己时候还走运。他高兴解释道他比以前感觉更加走运了。正如他所指出的,他原本会摔断脖子的。
一月 21st, 2010互联网站点服务加速的14条军规
我们都说互联网内容制胜,但如果网站的响应速度太慢,即使内容再好,也更会造成用户体验从“抓狂 – 愤怒 – 永远离开 – 坏口碑传播”这样的毁灭性路线。
一月 21st, 2010基于Java技术的大型网站架构方案
Web层
主体架构可以基于 Struts 1.X/2.X,当然有很多更好的控制层框架供选择,以快速敏捷为准则吧。
抽象出核心库封装 控制器和中间层 的操作。
在大规模集群环境下,session复制会引起严重的性能问题。考虑用 集群缓存 + cookie验证 代替session实现权限控制吧。
Cache层
配置 Memcache 组成集群缓存
对 Memcache 客户端进行封装
Memcached 节点组成池,调用示意:opList (BizName, 策略 …)
中间层
“中间层”可以理解为基于应用和数据之间的层次。它被设计用来为Web应用提供:数据缓存 和 对应用透明的数据访问——即应用不需要考虑数据表拆分的问题。以服务的方式提供对存储层的高性能调用以及分布式计算。可供选择的框架:
ICE
Hadoop
直接基于Memcache开发(减少复杂度,推荐)
存储
推荐MySQL,理由:免费,经过实践检验,有大量成熟的案例、解决方案、技术支持。
小规模:一个 data table 维护存储服务器阵列,内容 -> mount ……
大规模:Master-Slave模式+MySQL Proxy,实现数据库读写分离。在中间层的包装下,可做如下扩展,以支持更大规模的数据存取:
数据库/表水平拆分,例 User -> User33% + User33% + User34%
数据库/表垂直拆分,例 User -> UserBaseInfo + UserAddrInfo
也可考虑使用 LongStore (龙存) 解决方案,由龙存管理存储阵列……
部署
划分子域名,每个子域名一个Web应用包,互不干扰
静态资源(css, js, image …)使用专门的静态服务器
负载均衡
小规模:DNS轮询。
大规模:F5, 2*X 台F5服务器,F5是L4/L7层交换机,每台至少可处理200万连接(与服务器内存有关)。
Ngnix是L7层交换,LVS负载均衡也是一种方案
Web中间件选择
Tomcat – 最高400并发
Apache – 最高2000并发
Ngnix – 优于Apache
采用方案:Ngnix + Resin ,理由:
Resin提供更为快速的servlet引擎 [...]
十二月 15th, 2009人生必知的31条必败定律
人生的最大悲剧,就是孜孜不倦的努力却终于失败!
美国一位学者曾经分析了数千人的经历,结果是总人数的98%都是失败者。并由此归纳了人们失败的主要原因,有31种之多。当你逐项阅读它们时,要一一检查自己,以求发现将你排斥在成功之外的有多少种。