
IT行业这么多年的发展中,不光技术得到了很大的发展,产生了如VR、云计算,AI,微服务,容器等各种技术热点。各种概念理论也层出不穷,如敏捷开发,devops,ITIL等,让人眼花缭乱。
程序员关注具体的技术,想让程序员开口的最好办法是高呼"PHP是最好的",这样你会引来一堆程序猿来喷你。那么作为一个有志的IT屌丝,怎么样才能和CXO们谈笑风生呢?CXO关注IT概念理论多一些。T锅侠梳理了一下这些年的流行的IT概念理论,作为*药弹**提供给各位有志青年:
1. 软件开发理念:
- 瀑布开发:瀑布模型(Waterfall Model)是Royce在1970年提出的,严格遵循预先计划的需求、分析、设计、编码、测试的步骤顺序进行。象工厂流水线一样把软件开发过程分成各种工序,并且每个工序可以根据软件产品的规模、参与人员的多少进一步细分成更细的工序。该模型成为软件开发企业使用最多的开发模型。但是不适合客户需求不断变化的软件开发
- 敏捷开发:敏捷软件开发是一个开发软件的管理新模式。敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态

- Scrum:Scrum是迭代式增量软件开发过程,通常用于敏捷软件开发. Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发,包括一系列实践和预定义角色的过程骨架。Scrum由Jeff Sutherland和Ken Schwaber在一次IBM项目合作中研究成功,1995年OOPSLA大会上进入人们的生活。Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括所有开发人员。Scrum是目前各种符合Agile精神的敏捷方法中,市场占有率最高的一个

2. 运维理念
- ITIL:ITIL即IT基础架构库(Information Technology Infrastructure Library, ITIL,信息技术基础架构库)由英国政府部门CCTA(Central Computing and Telecommunications Agency)在20世纪80年代末制订,现由英国商务部OGC(Office of Government Commerce)负责管理,主要适用于IT服务管理(ITSM)。ITIL为企业的IT服务管理实践提供了一个客观、严谨、可量化的标准和规范

- COBIT:COBIT(全称为:Control Objectives for Information & related Technology),中文译为:信息及相关技术控制目标。 它是一系列关于IT管理最佳实践(框架)的集合,并由美国信息系统审计与控制协会(ISACA)和IT治理委员会于1992年创建。
3. 系统理念
精益生产(Lean production):精益生产是一种管理方法,侧重于减少浪费,同时确保质量。定义了一套高速率且低风险地创建和部署软件产品的指导原则。使用精益工程,可以降低验证新技术、在流程中实现增量变更、向市场推出新产品的风险,并且能够以一个更快的速率达到一个高质量的结果。
4. 研发、发布和部署理念
- 版本控制(version control):版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。软件设计师常会利用版本控制来追踪、维护源码、文件以及配置文件等等的改动,并且提供控制这些改动控制权的程序。

- 测试驱动(Test-Driven Development):是一种软件开发过程中的应用方法,由极限编程中倡导,以其倡导先写测试程序,然后编码实现其功能得名。

- 持续集成contiuous integration:持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

- 持续交付continuous Delivery:持续交付是一系列的开发实践方法,用来确保让代码能够快速、安全的部署到产品环境中。 它通过将每一次改动都提交到一个模拟产品环境中,使用严格的自动化测试,确保业务应用和服务能符合预期
- 最简可行产品minimum viable product(MVP):是中的名词,是指有部分机能,恰好可以让设计者表达其核心设计概念的产品。设计者可以进行,根据使用者的回馈,进一步了解使用情形,并且继续开发此产品

- artifact management:制品是软件开发过程中产生的多种有形副产品之一。广义的制品包括用例、UML图、设计文档等。而狭义的制品就可以简单地理解为二进制包。虽然有些代码是不需要编译就可以执行的,但是我们还是习惯于将这些可执行文件的集合称为二进制包。制品管理涉及两件事情:一是如何将制品放到制品库中;二是如何从制品库中取出制品。
5. 基础设施概念
- 配置管理(configuration management):配置管理(Configuration Management,CM)是通过技术或行政手段对软件产品及其开发过程和生命周期进行控制、规范的一系列措施。配置管理的目标是记录软件产品的演化过程,确保软件开发者在中各个阶段都能得到精确的产品配置。

- 云计算(cloud computing):是分布式计算的一种,指的是通过网络"云"将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。云计算早期,简单地说,就是简单的分布式计算,解决任务分发,并进行计算结果的合并。因而,云计算又称为网格计算。通过这项技术,可以在很短的时间内(几秒种)完成对数以万计的数据的处理,从而达到强大的网络服务

- infrastructure automation:基础架构自动化是脚本化环境的过程 - 从安装操作系统到在实例上安装和配置服务器,到配置实例和软件如何相互通信等等。通过编写脚本环境,可以将相同的配置应用于单个节点或数千个节点。
- Containers:容器是轻量级的操作系统级虚拟化,可以让我们在一个资源隔离的进程中运行应用及其依赖项。运行应用程序所必需的组件都将打包成一个镜像并可以复用。执行镜像时,它运行在一个隔离环境中,并且不会共享宿主机的内存、CPU 以及磁盘,这就保证了容器内进程不能监控容器外的任何进程。

本文旨在提纲挈领,抛砖引玉。想要进一步了解这些黑话的具体含义的,无他,多参加男*交性**友技术大会,多和IT宅男们泡在一起。