微信号:grzlwx

介绍:光荣之路官方资讯

不要总是埋头苦干,软件测试行业趋势你造么?(连载二)

2015-06-30 22:34 Harmo



软件测试行业趋势分析和思考(脉络)

1 绪论
2 信息产业十年巨变
2.1 国际状况
2.2 国内状况
3 软件工业模式变革
3.1 两种经营理念
3.2 两种生产方式

4 软件测试的变革
4.1 软件测试的概述
4.2 当前从业体验
4.3 人才市场需求
4.4 具体需求及待遇

5 最后结语

3 软件工业模式变革

3.1 两种经营理念

可能不是所有的人都清楚,虽然同叫IT公司,但是IT公司还是可以分成两大类的:外包项目驱动型公司和自主产品驱动型公司。

3.1.1 外包项目型

在百度百科里面对“外包”进行了如下的介绍:

企业在管理系统实施过程中,把那些非核心的部门或业务外包给相应的专业公司,这样能大量节省成本,有利于高效管理 [3]。


整体来说,绝大多数的外包具有如下特点:

  1. 入行门槛比较低。基本会个数据库的CRUB就可以挑起所有的信息信息项目了。

  2. 技术线路短。需要会的东西杂而多,不需要精钻。

  3. 开发过程要求极度规范。

  4. 以项目为驱动。经常是什么来钱做什么。

  5. 开发组中项目经理是灵魂人物。

  6. 公司成长往往比较中规中矩,有点类似实体企业中的制造业。

  7. 每个项目都是有开发周期。很多项目都是一次性项目。

  8. 执行力大于创造性。给每一个客户交付他们想要的东西就算完工了。

  9. 属于体力密集型,非常依靠人力,加班一般都比较严重。

  10. 节奏平缓。往往可以很长时间内形成百花齐放共生的局面。

  11. 从业人员的待遇,往往是和软件产出量挂钩。收入比较稳妥,但天花板也很容易触及,毕竟人的人力有限,精力有限。

这一类的传统IT公司公司目前对外包装都是“提供IT解决方案”的公司,比如:像东软,软通动力等等是比较典型的。这些公司的销售经常会在各种招投标现场看到,或者在华为公司里面有些外公司的人,很多就是这些公司派去驻场开发的,里面的员工往往会有一种“同工不同酬”的失落感。

这一类的公司,个人认为会面临逐渐被集中到少数的大集团里面,或者分散在一些兼职的个体软件工程师中。因为这项服务确实是一直被社会所需要的,社会 的的更改化发展也肯定是专人做专事,外包肯定不会消亡掉。这个市场会一直存在,但是从业人员的营生类型属于赚一些辛苦钱,拼个体力而已。

[3] 百度百科.“外包”词条

3.1.2 自主产品型

这一类公司,大家比较熟知的主流互联网公司基本上都属于这一类型的。这一类公司具有如下特点:

  1. 公司成立之初,就有自己专注的领域,而且往往是很小的一个切入点。

  2. 技术线路长。像BAT,发展到如今这个体量级后,每个公司都有自己独一无二的技术高度。

  3. 以产品为驱动。注重迎合客户的痛点需求。

  4. 开发组中产品经理是灵魂人物。

  5. 虽然也号称以项目为驱动,但是实际上将产品的不同迭代周期进行分期按项目实现。像QQ客户端从腾讯创业起到现在仍然在开发中。

  6. 项目不是一次性项目,而是持续累积的项目。

  7. 创造性的需求大于执行力。

  8. 属于智能密集型。虽然加班也往往很严重。

  9. 节奏超快。也很容易很快形成垄断局面或被完全淘汰出局。

  10. 从来人员的待遇,不同水平的人差异很大。但是整体都可以有一个相对较高的水平。

目前国内这一类的主要公司有:TABLE互联网五巨头。

3.2 两种生产方式

3.2.1 软件工程

在传统的软件工业,软件产品以光盘为载体以类似于实物的方式进行生产和出售,软件的产出方式也是严格遵守软件工程的流程。

  1. 需求分析。按照标准严格组织文档,一个长周期。

  2. 系统分析。按照标准严格组织文档,一个长周期。

  3. 系统设计。按照标准严格组织文档,一个长周期。

  4. 系统开发。组织大量的人开始按照设计文档稳步执行和推进项目进程,一个长周期。

  5. 软件测试。组织大量的人按照设计文档对功能进行测试,一个长周期。

  6. 软件交付。内部测试和客户验证测试都完毕后,软件投放市场,然后运气好可以卖个好几年。

  7. 再按照上面的方式花N长时间开发一下项目,或者开发下一代产品功能。

这样的的生产方式和传统的制造企业是极其类似,而且如果这种模式发展下去,肯定会越来越照搬传统制造企业的模式,因为都是需要追求流程的标准化,这样才能够保证生产和规模化和有序化。

在传统的项目驱动型的软件企业里面工作过的软件开发人员一定印象深刻:

  1. 开会,沟通,评审,确认。

  2. 文档,文档,文档……

  3. 集中式的闭门大生产。

  4. 闭关开发出符合文档的产品。

为何要这么严格的评审流程,为何要如此多的开会和文档?其实上面提到的那些行为都只是操作手段而不是目的,真正目的在于为了防止以下情况的发生:


    • 避免甲乙双方纠纷

    • 从提出需求,到最后完整当初约定的功能软件,周期较长,往往存在相当多的不确定风险,对软件项目的参与者进行协议上的约束,所以需要和甲方进行沟通和文字记录,同时开发人员


    • 减少沟通成本

    • 因为周期长,开发人员众多,减少沟通成本,必须要尽量多的文档。

这些都是建立在一种信息不对称,信息流通不顺畅的年代所产生的开发过程。后面将提到一种新的软件生产思路。

3.2.2 敏捷开发

这是在互联网兴起之前的年代的一种软件生产思路。

主要开发流程如下

  1. 确定本阶段最重要的线路目标。

  2. 需求分析设计和开发。仅必要的文档,一个短周期。

  3. 持续集成和持续自动化测试并发布上线。

主要的特点如下:

  1. 产品的的新功能发布周期要求极短。

  2. 对需求的实现及客户确认周期很短。

  3. 每个短周期都有可交付的并在线上运行的版本。

  4. 一个好的产品可以永远做下去。

  5. 所做的内容往往具有很强的继承性的传承性。

  6. 因为互联网的存在,绝大多数的问题都可以在开发场所消化解决掉。

  7. 因为持续在线发布,可以时刻让实践去检验产品,直接随时和一线需求保持连接。

这种开发模式的最大特点是:快!

  1. 迭代速度快。

  2. 新功能发布并呈现在客户面前快。

  3. 问题的发现快。

  4. 问题的解决速度快。

    • 如果方向不对,项目死掉的速度也快。

    • 这其实是优点,如果是坑,及时能够暴露出来也是好事

3.3 个人经历及感悟

前面提到的两种公司和两种模式,目前在中国都存在相当大的市场。从个人的角度来说,更看好自主产品型的公司及开发模式。

本人第一次创业经历,就是长达两年的时间开发一个大型软件系统,最后都没有成功交付而胎死腹中。这次惨痛的经验教训,让我从此以后对外包型的创业模式深感恐惧和抵触心理。第一次创业里面做的项目,很累很累,很用心很用心,同时结局也很惨很惨。

第一次创业失败之后,又加入了现在的这个创业团队。是一种完全的互联网经营和生产模式,完全是一种久旱甘霖的畅快感。作为开发团队的一员,你的代码时刻都在生产服务器上运行着,每天开发的功能都在线上发挥着作用,你敲下的每一个字符都发挥着它的作用,而且为后面的开发在铺路。

(测试行业精彩分析待续,敬请期待)

作者:Harmo(哈莫)
Email /Gtalk:dreamzsm@gmail.com
QQ:1295351490 (Harmo)
项目主页:
https://github.com/zhengwh/share-tech
出处:
http://www.cnblogs.com/beer/
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,请尊重作者的劳动成果。
如果想了解作者,请到
当前博客首页 查看置顶文章(密码:1111)。


光荣之路软件测试培训

官网:http://www.gloryroad.cn/

微信公众号:gloryroadtrain

性能测试QQ群:415987441
软件测试招聘QQ群: 203715128
自动化3群QQ: 371211499


 
光荣之路 更多文章 今天晚上的 linux 公开课- Awk 编程 7月28日(今天)晚上的 linux 公开课- shell编程 8月4日(今天)晚上的 linux 公开课- shell编程 9月1日(本周一)晚8点半,光荣之路Web自动化系列基础课—javascript第二讲 推荐本好书《与机器赛跑》
猜您喜欢 【技术博客】分布式块存储系统Ursa的设计与实现 Android开源数据库框架--LitePal 匿名者(Anonymous)组织再发声:将对以色列发动“电子大屠杀“ 大牛给计算机专业学生的 7 个建议 Visual Studio 2015将在7月20号RTM