DevOps 和技术债务偿还自动化
2015-09-09 22:11
218 查看
当企业想要迁移到一个 DevOps 模型时,经常需要偿还高等级的技术债务
说得更明确一点,机构往往陷入「技术债务的恶性循环」中,以至于任何迅速、敏捷的迁移方式都无法使用。这是技术债务中的希腊债务危机水平。
在多数情况下,机构会将层与层之间的流程和管理添加到软件开发生命周期,从而缓解低质量版本、生产等级缺陷、不稳定的环境、性能不佳等问题,然而这么做只能是治标不治本。
那么,在企业丧失竞争之前,我们应该如何摆脱这个死亡漩涡,可以快速进行颠覆性创新,同时也腾出时间做一些别的事情。
如今,我们看到的一个整体趋势是,如果机构不断地在 DevOps 自动化上寻找空间,就必须打破这种恶性循环,重新开辟一个新的良性循环。
如果可以自动完成一些常规的、容易出错的和时间密集型的任务,便可以利用效率和投资,也能将更多的时间和成本投入技术负债偿还中。
在技术债务偿还后,企业将得到一个质量更高、更稳定和更灵活的应用程序,从而可以重新在自动化工作上投入更多的时间,并启动下一个周期的改善和提升。
该途径已经在生产环境中得到验证,但是当下还存在两个注意点:
首先,需要取得产品负责人的承诺,将生产率的提高用于偿还技术债务,而不是无止尽的特性扩展(这很可能是导致当下困境的原因之一)。
同时这里并不存在捷径,事实上机构必须抱着这样的思想——技术债务就像穿过流沙般危险或者技术债务就像带着80磅的背包跑马拉松,那么这里才存在一线生机。
其次,DevOps 不仅仅是自动化,而是 Culture-Automation-Lean-Metrics-Sharing(CALMS),所以这里要做的不仅仅是「自动化的一些工作」,随后即「以产品为核心」的理念。但首先要让产品负责人清晰运营需求,远离经济驱动为中心的项目模型。
原文链接:http://blog.devopsguys.com/2015/07/31/devops-and-automating-the-repayment-of-technical-debt/
本文系 OneAPM 工程师编译整理。想阅读更多技术文章,请访问 OneAPM 官方博客。
说得更明确一点,机构往往陷入「技术债务的恶性循环」中,以至于任何迅速、敏捷的迁移方式都无法使用。这是技术债务中的希腊债务危机水平。
在多数情况下,机构会将层与层之间的流程和管理添加到软件开发生命周期,从而缓解低质量版本、生产等级缺陷、不稳定的环境、性能不佳等问题,然而这么做只能是治标不治本。
那么,在企业丧失竞争之前,我们应该如何摆脱这个死亡漩涡,可以快速进行颠覆性创新,同时也腾出时间做一些别的事情。
如今,我们看到的一个整体趋势是,如果机构不断地在 DevOps 自动化上寻找空间,就必须打破这种恶性循环,重新开辟一个新的良性循环。
如果可以自动完成一些常规的、容易出错的和时间密集型的任务,便可以利用效率和投资,也能将更多的时间和成本投入技术负债偿还中。
在技术债务偿还后,企业将得到一个质量更高、更稳定和更灵活的应用程序,从而可以重新在自动化工作上投入更多的时间,并启动下一个周期的改善和提升。
该途径已经在生产环境中得到验证,但是当下还存在两个注意点:
首先,需要取得产品负责人的承诺,将生产率的提高用于偿还技术债务,而不是无止尽的特性扩展(这很可能是导致当下困境的原因之一)。
同时这里并不存在捷径,事实上机构必须抱着这样的思想——技术债务就像穿过流沙般危险或者技术债务就像带着80磅的背包跑马拉松,那么这里才存在一线生机。
其次,DevOps 不仅仅是自动化,而是 Culture-Automation-Lean-Metrics-Sharing(CALMS),所以这里要做的不仅仅是「自动化的一些工作」,随后即「以产品为核心」的理念。但首先要让产品负责人清晰运营需求,远离经济驱动为中心的项目模型。
原文链接:http://blog.devopsguys.com/2015/07/31/devops-and-automating-the-repayment-of-technical-debt/
本文系 OneAPM 工程师编译整理。想阅读更多技术文章,请访问 OneAPM 官方博客。
相关文章推荐
- Linux 软件安装到 /usr,/usr/local/ 还是 /opt 目录?
- tomcat内存配置
- css3购物网站商品文字提示实例
- linux下载文件命令wget
- 40种网站常用Javascript技巧
- mac常用shell命令
- Apache Spark 1.5新特性介绍
- nyoj 1185 最大最小值【线段树最大值最小值维护】
- Adobe Photoshop CS6学习要点
- Openstack部署总结:“部署过程Error: Local ip for ovs agent must be set when tunneling is enabled”问题
- Linux开发调试经验整理(一)——Release版本死锁定位
- Linux 常用命令
- 安卓的架构
- Mac 系统开机启动nginx,php
- linux-C子进程退出信号
- hadoop 词频统计&&adoop jar jar包名.jar 包名.主类名 输入路径(文件的目录,不包括文件本身) 输出路径
- IntentService,(Looper,Message,Handler)三者之间的关系,AsyncTask,
- tomcat 之startup.bat文件
- operator new 函数、operator delete 函数 和 定位 new
- linux下jsoncpp的编译和测试使用