首页 移动开发 在线交易 IT笔记 网络技术 操作系统 企业架构 数据库 考试认证 IT培训 开源软件 数据存储 行业资讯
大家都在看:java   开发   C#   oracle   mysql   android   web开发   学习   sqlserver   linux   asp   php   ajax   javascript   css   html
CD对开发过程的影响以及对发布的意义-2
2014-11-17 09:56:05 来源: 作者:admin 栏目:spring 责任编辑:
[导读]前篇:http://leogao-java.iteye.com/blog/2155125前者讨论了实际项目运行中的各种麻烦事情,相信有项目实践经验的也有感触。这里就不再多说各种折磨的故事了,因为太多了!关键我们如何解决它们!软件开发的目的很明确,就是要满足客户或者最终用户的需要,但是软件..
 

前篇:http://leogao-java.iteye.com/blog/2155125

前者讨论了实际项目运行中的各种麻烦事情,相信有项目实践经验的也有感触。这里就不再多说各种折磨的故事了,因为太多了!关键我们如何解决它们!

软件开发的目的很明确,就是要满足客户或者最终用户的需要,但是软件公司需要赚钱,就要控制成本,增加它的价值,另一方面客户希望用最少的成本买到最好的软件和服务,所以最终就要求开发团队可以在一种高效、快速和可靠的方式交付高质量的有价值的软件!

实际上,N多组织都为此努力,但是都失败了,就像前者所说的折磨故事一般无二,不过也有不少成功的,仔细研究成功的案例,发现失败的项目基本是靠美其名曰的××方法论+PM的人治方针进行的,而成功的案例都是按某某项目实施机制的法制下进行的,而PM起得作用则是集中在解决需要人治的方面!

这个实施机制是什么哪?就是三点:

1)自动化:如果构建、测试、部署和发布流程不是自动化的,那么它就很难重复去做,因为每次都是人工去做,每次都可能产生结果的差异,就不知道那一次是最最准确的!人工去做,每次或多或少会引入不可预期的错误,而一旦一个人离去,接收的人有按自己的方式去作(人治),可想而知这样的方式会有多么混乱而不可控制!如果这个过程完全自动化,那么就不会出错,消除人治的因素,一旦出问题,自动化管线马上报告问题所在,由于我们可以一键就可以执行整个过程,不管什么环境都是一样。

2)频繁去做:如能做到频繁的发布,那么每个版本之间的差异就会很小了,这就大大减少了发布的风险,因为一旦出现问题,就能快速回滚到上一个良好的版本,每次提交代码都会自动激发自动化构建、测试、部署以及发布的流程,及时给予反馈,一小步一小步滴演进系统,系统的开发状况透明度增强,可视化程度高,那么团队对开发过程的掌控能力就高,能够及时修改问题所在。

以上的办法,不是轻易能够办到的,要是那么容易,所有组织都成了啊!这是因为自动化除了需要在技术上要有保证,在制度上也要有保证,最难最难的是需要团队每个人了解其含义和具体做法(技术好做,人事不好做)。自动化是频繁作的基础,而可以频繁作的话,自动化系统反馈报表也产出的快,反馈的快,我们就能及时修复问题,那么进度就在掌控之中了!

标签:
本站地址:/
版权所有:转载请注明出处!
分享到:
上一篇CD对开发过程的影响以及对发布的.. 下一篇Eclipse中web-inf文件夹的信息
您可能还喜欢
暂无...
今日最新资讯 最新推荐信息
考试认证 更多
开发技术 更多
移动开发 更多

关于 | 合作伙伴 | 联系我们 | 友情链接 | 版权声明 | 网站制作 | 网站地图 | 加入收藏 | 设为首页

Copyright@2012-2016 京ICP备12027873号