老式滚动条
IT行业是生机,随着它的发展壮大来满足21世纪快节奏的业务需求。 但是,尽管已进行了很大的调整,但这10条老式的IT规则仍然适用。
当今的IT行业充满了眨眼的年轻人,他们谈到敏捷软件开发,DevOps工作流程,测试驱动的开发(TDD),Docker容器,不变的基础架构,大数据分析,机器学习模型,物联网,Spark,React本机和其他流行语。 他们几乎不了解(也很少见面)在瀑布模型下工作,编写bash脚本并必须克服原始开发工具(他们自己编写的许多工具)的约束的老式系统管理员。
但是,如果现代开发人员想要提供一流的产品并取得成功,则他们必须应用这些老式程序员必须遵循的相同的软件开发最佳实践。 尽管它们与行业一起发展,但这些IT规则保持不变。
这里有10条老式的IT规则,用不眠之夜和无数公升的咖啡编写; 确保软件产品高质量,流畅的工作流程和业务成功的规则:
- 开源产品与专有产品一样好; 通常他们会更好
- 为确保软件的安全性,请确保硬件安全
- 安全的产品比安全的工作场所更重要
- 自动化测试应在代码本身之前编写。 经常测试,测试很多,在云中测试
- 应该严格控制生产环境的更新。 还有恢复计划
- 敏捷,迭代并与团队和客户互动
- 团队是任何业务的主要资产; 学会成为其中的一部分
- 集成软件生态系统具有优于纯属孤岛的功能,并具有沿链接的自动更新功能
- IT部门应该提出建议和讨论,而不是默默遵循命令。
- IT团队是整个业务变革的主要动力
我们将简要解释这些规则对我们意味着什么,也许它们对您也意味着相同。
开源产品与专有产品一样好; 通常他们会更好
在过去,开发人员不得不从相当有限的专有软件开发工具中选择一种,以利用其优势并克服其局限性。 如果选择的技术不能提供某些功能,则开发人员必须自己编写自定义解决方案的代码或搜索第三方模块,附加组件和插件。 如今,有各种各样的平台,框架和现成的工具可用于执行开发人员可能需要的任何任务,其中最受欢迎的通常是开源的,并且背后有庞大而热情的社区。
为确保软件的安全性,请确保硬件安全
在云时代之前,这意味着确保为本地服务器机房或从顶级专用数据中心租用设备提供强大的物理保护。 如今,这意味着选择可信赖的提供商的云产品,例如GCP, Azure或AWS,并充分利用其安全功能。 这种方法既保证了位于美国和欧盟受高度保护的4层云数据中心中的物理设备的安全,又保证了软件开发和服务交付管道的连续性。
安全的产品比安全的工作场所更重要
几十年前,安全威胁主要是物理上的威胁,其源于对系统之间连接的保护不足。 因此,很明显,需要有限的用户权限和防火墙。 如今,由于SSL和公司安全措施几乎不存在,主要的危险来自代码缺陷本身,例如最近发现的Meltdown和Spectre 。 因此,与当今配置安全的工作场所相比,编写安全的代码更为重要。
自动化测试应在代码本身之前编写。 经常测试,测试很多,在云中测试
将测试过程向左移动(到软件开发生命周期的最开始)可以大大缩短从长远来看修复错误所需的时间和精力,更不用说将安全要求从get编织到代码中的能力了-走。 编写自动化测试并将其推送到云可以创建连续的集成/连续交付工作流,其中新的代码批次将自动推送到构建,测试和生产环境中。
应该严格控制生产环境的更新。 还有恢复计划
前一段时间,必须进行严格的流程(将清单和多个批准级别的更新)推送到产品中,以最大程度地减少人为错误。 如今,自动化的软件交付管道使流程变得精简且防错。 如果测试通过,则新代码将通过滚动更新推入生产环境,如果测试失败,则会引发智能警报。 云使执行此操作变得非常容易。 但是,如果仍然需要回滚,则需要定期备份。
敏捷,迭代并与团队和客户互动
开发不是要在流程中遵循规则,而是要最终制作出可行的产品。 瀑布之所以失败,是因为产品所有者和项目经理都无法写出30页绝对正确的规格,从字面上提及产品必须做的一切以及应该如何做。 敏捷方法有助于将迭代和交互引入该领域,因此开发人员和产品所有者进行沟通和协作,以小的迭代步骤完成工作。
团队是任何业务的主要资产; 学会成为其中的一部分
这一点不够强调。 如今的业务不是由部门,部门,任务,工具和项目组成的部门,这些部门在食堂之间几乎彼此交谈。 当今高效的企业是遵循DevOps文化的跨职能团队。 他们与同事和客户进行了大量沟通和协作,以完成工作。 关系先于项目,后付款。 最终,团队是业务成败的关键,是任何公司的主要资产。
集成软件生态系统具有优于纯属孤岛的功能,并具有沿链接的自动更新功能
使生态系统中的所有软件能够互操作对于构建简化的工作流程至关重要。 但是,如今的软件种类繁多,以至于没有人道的可能性为任何产品与其他任何产品提供开箱即用的兼容性。 这样做的唯一方法是以微服务的形式构建软件,这些服务通过API相互通信。 当有一个集中的消息代理来帮助各个模块相互通信和交互时,数据同步的问题(和问题)就一去不复返了。
IT部门应该提出建议和讨论,而不是默默遵循命令
设置任务后,应由IT部门来完成任务,但有时团队会发现所建议的方法不够理想或工具不足。 主要的错误是试图通过加班来解决问题,或者提供临时解决方案并在之后进行完善。 IT团队应该准备好并愿意说何时必须进行某些技术进步(例如云过渡)才能使任务可行。
IT团队是整个业务变革的主要动力
技术领导对于帮助企业蓬勃发展至关重要,但是公司的销售,账单或管理套件通常对技术的了解不足,以至于他们并未意识到自己没有使用最佳工具或遵循最佳实践。
由IT部门建议和讨论所需的更改,例如数字转换或向DevOps的转换 。 首席信息官的任务是为该计划提供高级管理层的支持和全心全意的支持,但是首先要由基层IT团队成员提出建议。
关于10种老式IT规则的现代思考的最后思考
如您所见,这10条IT规则确实是适用于任何现代企业(无论是初创企业还是大型企业)的最佳实践。 毕竟,IT部门的存在是为了支持业务并使其具有成本效益和竞争力,不是吗?
您如何看待这个话题? 您是否认为这些IT原则很重要并遵循它们? 我们错过了什么吗?还是应该从列表中删除某些东西? 请在下面的评论中分享您的意见!
这个故事最初发布在我公司的博客上-https: //itsvit.com/blog/modern-face-of-10-old-school-it-rules/
翻译自: https://hackernoon.com/modern-face-of-10-old-school-it-rules-9903f38aaef4
老式滚动条