8

企业IT项目开发之七宗罪(上篇)

 3 years ago
source link: https://blog.csdn.net/lifetragedy/article/details/17507593
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

经济危机愈演愈烈,国内学习IT的人员又如飞蛾扑火一般趋之若鹜,而工资一低再低,吃着连快递员都不如的午饭,住着8人、12人的集体宿舍,天天赶进度赶到零晨,血红的双眼,为什么?为什么?中国的IT,你将何去何处???

上面这些还不是七宗罪,如果只是单单上面这些例举,相信基本大家都能克服得了,要不然也不会形成上面这些形象的描述了。吼吼!

我们主要是讲的是架构,这篇是“通向架构师道路”第二季的开篇,列举出来这些“罪”是为了让有志成为架构师的朋友们认清形式,摆正位置,看到自己还缺什么,还要学什么?

我们把七宗罪的罪刑分别按照从轻到重,从1-7一点点列出。

第一宗罪:重业务不重技术

有人看到这边就要和我来说二八原则了,对不起,这样的人属于一知半解,没资格过来在这边做评论。

什么叫业务什么叫技术???我们一起来问一下这个问题。

业务你是怎么理解的?业务不是财务细则,不是保险流程,不是医院住院登记审核流程也不是进销存或者物流流程。

它指的是:

一款行业软件或者我们称之为“业务软件”(这样的软件肯定是为特定行业所定制的,比如说:CRM类软件)它要做到Best In Class即同类中最好,或者我们换句话说我们的软件为什么值得客户掏钱,那它所具有的:

1)哪些功能点?

2)为客户省了多少钱?

3)安全性、扩展性如何?

4)能不能够辅助决策?完成自定义的统计分析计算?

5)兼容性是否好?不仅仅是WEBLOGIC,我JBOSS, WEBSPHERE只要是标准的J2EE容器都可以安装?

6)安装便利性?布署是怎么样的?需要怎么样的架构结构?防火墙上要开哪些端口?

7)如何和第三方交互的,连接安全性、数据完整性又如何保护?

8)使用方便型?

9)稳定性如何?24*7?

10)响应速度?

11)对硬件及资源的消耗情况如何?

当然,还有很多这样的指标,这个,就是指“业务”即solution。

如果你要谈业务,那么现在要做个软件是For 电商的,那你得从业务角度,把你们公司要交付的或者是已有的产品从上述角度去给客户全面的讲一下吧。

而国内往往是反过来,就是我们的IT供应商或者是软件开发商和客户讲:你讲的这些我们都能够做到,我们在这个领域具有多年的domain经验。

说完后回去逼着程序员去学这方面的业务,呵呵。

这是错误的!

为什么说这是错误的?

如果你只能够理解的客户的业务,而没有真正的自己的在这个领域内对这个产品是如何去设计它的功能,如何去运作的,客户想要点什么,你怎么去帮助客户通过IT来解决它的业务上的负担,那客户想出了这些需求后还要你干什么

或者你开个40万,客户能够找到20万的开发商,比你便宜,反正需求是我来提的,要你干什么呢?对吧!!!

如果你不是做技术出身的,不是开发出身的,对技术不精通的,你根本也不可能去掌握和理解你所处的领域内的软件或者产品所需要的”业务知识”。

有人说了:打住打住,人家专攻Business的就能做到,OK,OK,我承认,你专攻Business人可以写出一套需求来,但是我们是搞IT的,最终逃不出IT范围,我随便提一些问题好来:

你的项目/产品需要多少内存,最小内存多少,最大内存多少?

对网卡有没有要求?

QOS是怎么考虑的,安全是怎么考虑的?

集群是怎么做的,大备计划呢?

你现在用的是WAS我以后要换成Weblogic是否要改动?

你的分析工具里出大报表时性能如何,如果我有1亿条数据你是怎么处理的?

你的功能点列得挺多,能否告诉它们是如何连通在一起完成一个交易,一个分析,一个配置的?能够为我省多少人力多少钱?

你们的软件、产品支不支持Social Network、Mobile?

你的上传是不是可以支持基于角色的权限控制,并且每个角色能够控制它们的上传文件类型,大小还不一样?

告诉我,如何从每天10亿点点击中分析出客户的购买行为?这样一个分析要多长时间?贵方用了什么技术?

太多,太多,这些不是业务人员能够回答的。

Business is the king没错,But, business is not the everything。我们在这边是要说业务技术相辅相成,任何孤立的去谈业务和技术都是在走极端

什么是优秀的业务人员,我们这边指的是IT开发工作当中的“业务人员”,他/她一定是优秀的技术人员出身,这样的人,千金难求。

很幸运,我现在合作的团队中有一位大姐就是属于这样的人,我很少对其它人敬佩的,她是我所敬佩的,业务技术双料王牌,看她设计的数据库就知道界面是什么样了,所用到的技术点有哪些了。

于是,由于有了第一宗罪,而引发出了第二宗罪。

第二宗罪:编程开发人员沦为业务开发人员、沦为码农

369的时代是辉煌的,那是一个崇尚技术的年代。

369我前面提到过,大学一毕业,是指刚毕业的学生哦,会ASP的3000,会JSP的6000,会PHP的9000。

现在不可能拿到这个价了,大学毕业生杀猪宰羊且为乐了都,呵呵。

为什么这么说,哎。。。。。。对了,因为太普及了,没技术了,你会,我会,他也会,还有什么希奇的呢?

我这个人喜欢说点大白话哦,就拿J2EE来说,会个SSH打天下。

其它的先不论,就光个SSH吧,到处都在用,做项目的基本都在SSH,什么都是SSH,看到的方案设计报告案例都是SSH。

可是问题也就这么来了,都是SSH,SSH无非就是Spring, Struts Hibernate,这3个东西就算没网络吧,我们看书,都能够很快速的学会。

学会后,你这个公司用SSH,另一个公司用SSH,除了SSH, 还有什么其它的新意吗?有吗?

好了,回过头来我们说业务,很多公司因此就觉得:是我们的业务没有学够,没有吃透,我们的开发人员业务不行,我们的架构师要去改学业务。

好家伙,这么一闹,更搞笑了,前面说了,业务就是“solution”,脱离了技术去谈业务就会沦为企业业务人员,那客户都把需求给你讲了,还要你做什么呢?对吧?

于是,这又引出了第3重罪。

第三宗罪:IT市场沦为自由市场、小菜场一样的叫买

因为企业没有去关注技术,没有去解决我们的团队除了SSH还有什么?而导致了Solution的跟不上,而在做项目或者是设计时又为了满足客户的需求和进度,天天重复重复再重复。

这导致了企业竞争力、团队核心竞争力的严重落伍,所以因为是你会、我会他也会,因此我们在面对客户时就成了:

开发商:A公司50万,我开40万

客户:我们是老客户了,打个折吧

开发商:30万?不不不,20万?

有公司一听,我CALL,这个客户吃下来以后单子多了,“我放长线吊大鱼,我要个10万就得了”。

开价是怎么开的?UCP, FP的估算全白学了,还PMP呢,呵呵。

问题是:钱是下来了,Schedule是摆在那边的,有多少functional points也是摆在眼前的,那么怎么办?

下面的人,加班加点,做出来的东西进度是否能够保证是一个问号,关键是质量?

于是,我们沦为了码农,于是我们日复一日,年复一年,没有学到东西,无非成了一个熟练工,过几年后看到有Exception抛出可能会很快的定位问题外,但是实际没有太多长进。

于是,下面的人没长进,企业也没长进,有些买卖是一票头的,做完就拗断了。

恶性循性。

第四重罪:技术无用论的诞生

项目越来越少,不是说你有多少个人头,就代表你实力多少雄厚。

现在是经济危机愈演愈烈的大环境下,客户都比10年前要聪明了!!!

如何快速满足客户不断变化、日益增长的需求,使得客户设计出来的业务可以快速变成IT的实现成了战斗最激烈的一道前线。

在这条战线上金戈铁马、血肉横飞,我很少看到有“气吐万里如虎”的,更多的是看到“屁滚尿流 & 一地鸡毛啦”。

你拿个PPT,拿个公司人头数,是骗不到客户的,实在的东西,是必须有的。

很多开发商也看到了这些,包括一些核心团队也看到了这些,所以我们就开始要想我们是不是有一个半成品化的,工具化的东西在平时工作时可以:

1)减少我们的重复性劳动

2)可以有效改进我们的编码质量

3)可以有效的保证我们的软件在开发时因为需求的变化而能够快速的变化。

4)由于是模块化开发,因此这些模块可以在性能和安全性上做到保证

5)利于分工明细化,可以有效形成领域内自己的优势:如GPS模块,电调模块,财务报表预算,进销存,保单云计算,车险无线应用。

等等等,bla...bla...bla。

可是有人如果在公司不这么提还则罢了,一旦有有这样提!!!

HOHO!!!

这就和直接捅了马蜂窝一样,这其中涉及到太多的利益关系、势力圈问题。

因此很多经历过的Team Leader或者是PM们都深有感受,因此大家在30岁左右都选择了PMP

于是risk management,鱼骨图,estimation,plan,6西格马、MBA、读不起MBA的单位出钱读个EMBA也行等大行其道。

喏,上述标红的几门课程是中国IT圈真正高薪的“高级人材”,我没说错吧?呵呵!!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK