(视频)《快速创建 站》 4.1 为啥造软件不同于造汽车,为啥是软件就一定会有Bug - 构建开发运维一体化(DevOps)

经过前三部分的内容(视频),我相信大家对如何使用云计算平台和WordPress来创建一个博客站点已经有了较为完整的认识。在第四部分中,我将为开发人员介绍任何使用Visual Studio Online和Azure来构建一套完整的在线开发平台,让你不需要任何的本地环境就可以完成项目管理,需求管理,任务管理,代码管理,自动测试和部署;这样的系统在ALM(应用生命周期管理)中叫做开发运维一体化(DevOps)系统。

http://v.qq.com/page/h/s/0/h014753whs0.html

为什么我们需要开发运维一体化(DevOps)系统span>

从事软件开发年头越多的人越有这样一个共识,就是软件开发无法依靠前期的计划和完整的需求来保证质量和满足用户。这是软件开发与传统制造业最大的区别。其实,就算是在软件行业内,仍然有很多人对此不认可,觉得开发人员受过专业训练,我们又为项目配备了经验丰富的需求分析人员和项目管理人员,没有理由不成功。都是在制造产品,为什么制造软件不能像制造汽车,电视机一样,依靠详细的生产计划,按照明确的时间表交付呢p>

其实,这里面大家忽略了一个最基本的事实。汽车/电视等工业化产品都是一次设计,多次重复生产的产品;在汽车/电视的设计过程中,我们仍然是无法充分预知设计过程的所有细节和交付时间,因为这是一个“探索”过程,需要设计人员和工程师依靠自己的经验和知识创造出一个不存在的产品,而且尽量的预测,确保交付的产品可以满足用户的要求。一旦进入生产过程,这类产品的所有的零件,装配方式都不会再发生改变,这样我们才能快速重复的生产。而软件产品则永远是处于类似汽车/电视机的设计过程,而不存在重复生产过程(也许有,但是你只需要复制/粘贴就可以完成)。所以,按照对汽车这类产品的交付方式来预期软件产品的交付是完全错误,不符合实际的;这就好像每个人都要求大众给每个人单独设计一台独一无二的汽车,还要保证按时交付一个道理。

其实我们只要记住一个字:快!

? 快速的完成开发,测试,交付给用户使用;
? 快速的获取用户反馈,并在下一个版本中调整软件功能;
? 再,快速的完成开发,测试,交付给用户使用;

下图展示的是开发/运维之间的迭代关系,只有加快这个迭代速度,才能让我们的软件产品尽快的接近用户的需求。

你可以看到,使用Team Explorer Everywhere (TEE) (点击下载)插件,你可以使用Eclipse连接到VSO的项目,使用Git代码库,访问工作项,也可以配置云端的自动化编译和打包。

具体操作演示大家可以参考这段视频:
http://channel9.msdn.com/Events/Visual-Studio/Connect-event-2014/219

对于使用Mac进行iOS开发的同学来说,你也可以使用XCode里面所提供的Git集成,来配合VSO进行源代码管理,具体操作请看这里:
https://www.visualstudio.com/en-us/get-started/share-your-xcode-projects-vs.aspx

后续我也会单独对这些功能录制一些视频供大家学习。

敏捷开发支持

敏捷开发已经是软件开发行业不可逆转的趋势,在VSO也对敏捷开发提供了很好的支持。比如下面的Kanban和Sprint白斑的支持。

这是我用来规划本博客内容和后台开发的Kanban。

这是本博客当前迭代的Sprint白板(你可以看到当前这篇博客正处于进行中状态)

下图中你可以看到我在配置多站点支持时所作的改动,与任务进行了关联,同时可以直接进行代码评审意见的添加:

(视频)《快速创建 站》 4.1 为啥造软件不同于造汽车,为啥是软件就一定会有Bug - 构建开发运维一体化(DevOps)

世界上不是所有的东西都是用直接经济契约来维系的,比如:阳光,空气,爱情和开源软件。文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8991 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2015年2月7日
下一篇 2015年2月7日

相关推荐