2016 年 8 月 4 日

敏捷开发实践(3)-我们为什么需要持续集成?

背景

自从我们使用scrum进行项目开发后,出现了这样那样的问题,有些是因为我们对scrum的理解不到位,有些则是客观因素导致的,针对这些问题,在每次迭代的总结会上,我们进行了反思,并根据具体环境对scrum进行了一一调整,想通过几篇文章和大家分享一下我的经验。

我说的不一定正确,只是描述问题,然后说说我对问题的看法,采取的解决方案,希望使用敏捷开发的大牛提供宝贵意见。

为什么我们需要持续集成?

又要从我们的故事说起,我越来越喜欢讲故事了……
在前几个sprint的评审会上,我们只是让各个组员单独演示了自己开发的功能,并且约定时间,大家都提交一个稳定的版本,做了一次集成。
过了一些天,领导L突然造访,想看看项目进展,让我们集成起来,这时候问题来了,各个模块开发进度不一,很难找到某个时间点,让大家顺利集成。上次是约定好时间,大家有所准备,这次又不能使用上次的集成版本,太陈旧了。所以出现了这样的情况,领导L坐在那里等着看,大家赶紧手忙脚乱的构建,然后集成,幸好没出大问题,结果可以看了,但中间浪费了不少时间。
领导L的造访,说明了他对进度和质量的担忧,我们该如何让他放心?
另一方面,scrum提倡,可用的软件优于面面俱到的文档。但如何保证可用软件的质量成了一个棘手的问题,尤其是在不断变化的需求中。
怎么办才能看出软件质量的优劣,进度的快慢?  经常集成起来,看看效果,不就知道质量怎么样,进度怎么样了嘛?而且经常集成起来看,有助于发现问题,解决问题,如需求有没有偏差,是不是领导和客户想要的效果,又或者发现和解决这样那样的bug等等。
但经常集成,又会牵扯开发人员很多精力去更好地协同工作,这是在开发过程中不可回避的问题。
这次又得站在巨人的肩膀上了,看下面一段话:
持续集成正是针对上述一系列问题的一种软件开发实践,它倡导团队开发成员必须经常集成他们的工作,甚至每天都可能发生多次集成。而每次的集成都是通过自动化的构建来验证,包括自动编译、发布和测试,从而尽快地发现集成错误,让团队能够更快的开发内聚的软件。
                                                                                                                                                                              —— Martin Fowler

持续集成的核心价值在于:

1、降低风险,每天都可能发生多次集成,有利于及早发现软件质量问题。

2、自动完成,通过自动化工具可以避免开发人员投入过多精力

3、软件运行状态随时可看,可以增加领导和团队成员对项目的信心。

4、利于对未来进行把控,持续集成的信息有利于我们对未来进行更好地规划和把控。

概念不多说,我们团队非常需要持续集成,所以经过调研,我们采用jenkins作为持续集成的大管家,Jenkins 就是一个配置简单和使用方便的持续集成服务器。由它完成自动构建、自动部署、集成。用了一段时间,还不错,上面说的一系列问题也迎刃而解。

写到这里有一点小感触:很多东西的产生是那么地理所当然,顺理成章。

最新文章

  1. 网站优化时容易犯的几个错误 一定要避免
  2. 北京网站建设过程当中容易出现的问题
  3. 如何通过网站优化来提高权重
  4. 网站优化怎样避免搜索引擎蜘蛛陷阱
  5. 北京网站建设一定要注意的四大要点
  6. 网站优化过程要小心这些雷区
  7. 网站优化过度要如何解决?教你几招!
  8. 网站建设不能忽视的四个问题
  9. 移动端网站建设需要注意的问题有哪些
  10. 一个网站设计需要多长时间

最新案例