小版本:用最少的代码工作量带来最大的业务价值。

这个原则是意思是为了高度迭代,与客户展现开发的进展,小版本发布是一个可交流的好办法,客户可以针对性提出反馈。但小版本把模块缩得很小,会影响软件的整体思路连贯,所以小版本也需要总体合理的规划。

这么一说,感觉这一原则对我们公司的产品是没有什么适用性的,我们不可能让运营商承受这样的高度迭代过程。然而,正如我一开始就提到的,我们学习敏捷开发、极限编程的目的不是为了解决所有的问题,而是开拓思路,防止我们的思维僵化。据我的观察,我们的测试部开发的自动化测试、调试软件就非常适合利用这个原则。客户是谁呢?就是负责生产调试的内部客户。

自动化测试、调试软件有个很大的特点就是:变化快,而对于这个特点,正是敏捷开发理论所特长解决的。目前对于这类软件的管理的强度远远要弱于那些产品软件,一方面是因为这些软件因为在使用过程中需求变化太快,如果按照公司的规范输出各类文档,并且按照常规流程管理的话,无法做出及时地响应,会影响工作。另外一方面,就是开发人员的主观因素,常常这类软件都是开发人员在生产线与负责生产调试的人员即时沟通即时修改的,这样的习惯也就导致了习惯成自然,我们的“客户”养成了习惯,开发人员也被迫养成了习惯:开始的时候开发人员往往想反正软件改起来也要比硬件来的容易,那就改吧,一来二往,突然有一天发现自己突然陷入了一个泥潭。

作为技术部的配置管理,我就多次发现这些自动化的测试、调试软件版本混乱的情况,而且从使用这些软件的人员反馈回来的声音中,我们也可以听到对于软件质量方面的抱怨。这就是我说到的“泥潭”:作为开发者,自己每天疲于修改,却无法得到“客户”的认同,这是一件多么让人郁闷的事情啊!

那么我们是不是可以考虑利用敏捷开发的方法来解决这些问题呢?或者,通过一种思维上的启发来“创造”一个适合我们实际情况的方法来解决这些问题呢?我想到了一些改善的方法:

n         增加小版本信息,在软件运行中就能够看到大、小版本信息。

n         增加在线更新功能,这样无论身在公司何处,只要能够连入内部网络,就可以及时、准确地更新程序。

n         增加版本检验功能,根据需要检测版本是否需要更新,以此来保证当需要时,保证所有的客户端都运行在一个基准之上。

n         增加错误反馈、日志功能,保证当错误发生时能够通过邮件将必要的信息反馈给开发者。这样可以防止在问题反馈时问题无法复现或者反馈人说不清楚的情况。

这些方法其实都是我们在很多软件中能够看到的功能,并不是什么新奇的技术,实现起来也很容易,而且我们可以将这些功能作为一个公用模块来保证不同的自动化测试、调试软件不用重复开发。这些功能的实现将会让你体会到更多的方便。

有了这些基础,我们就可以在软件开发的过程中将高迭代过程变得更容易控制、实施起来的效率也会更高,效率提高了,时间节省了,才能有条件去思考、去改进。就如同我们的胳膊自由了,呼吸顺畅了,才有可能将自己从泥潭中解救出来一样。

转载于:https://www.cnblogs.com/Jackey_Chen/archive/2008/11/12/1331987.html

【推荐】极限编程的十二大原则——小版本相关推荐

  1. 解读极限编程的十二大原则——代码共享

    代码共享:在通过测试的前提下,任何一个人都能够对系统做出修改. 代码共享不单单是对代码阅读修改权限的一个共享,而是一种知识的共享.要想做到在通过测试的前提下,任何一个人都能够对系统作出修改,是需要很多 ...

  2. 《敏捷宣言》四大价值观,十二大原则

    不要求完全能背,选项给你之后,能分辨出来就行. 4大价值观: 个体和互动 高于流程和工具 工作的软件 高于详尽的文档 客户合作 高于合同谈判 响应变化 高于遵循计划 12大原则: 我们的最高目标是,通 ...

  3. oracle 导数据报exp00058_一文看懂oracle12c数据库跨小版本迁移

    概述 简单记录一下最近做的一个测试环境迁移,主要是从12.2.0.1 跨两个小版本迁移到19c(12.2.0.3),操作系统均为centos7,下面一起来看看吧~ 一.导出测试环境数据 1. 创建路径 ...

  4. Websphere 7小版本不同导致的JAXP兼容性问题

    Websphere 7小版本不同导致的JAXP兼容性问题   Java, javaEE,  web,  xml,  Xerces,  Websphere, 应用服务器, JAXP   开发JAVAEE ...

  5. mysql小结果集驱动大结果集_具体优化查询语句的指导原则小结果集驱动大结果集避免子查询...

    原标题:具体优化查询语句的指导原则小结果集驱动大结果集避免子查询 具体优化Query语句的指导原则 (1)多使用Profile:(2)永远用小结果集驱动大的结果集:(3)尽可能在索引中完成排序:(4) ...

  6. 12c创建为容器数据库_详解oracle12c数据库跨小版本迁移步骤

    概述 简单记录一下最近做的一个测试环境迁移,主要是从12.2.0.1 跨两个小版本迁移到19c(12.2.0.3),操作系统均为centos7,下面一起来看看吧~ 一.导出测试环境数据 1. 创建路径 ...

  7. dmp导入数据 oracle_一文看懂oracle12c数据库跨小版本迁移

    概述 简单记录一下最近做的一个测试环境迁移,主要是从12.2.0.1 跨两个小版本迁移到19c(12.2.0.3),操作系统均为centos7,下面一起来看看吧~ 一.导出测试环境数据 1. 创建路径 ...

  8. 相同java代码,编译生成class文件不同的原因-JDK版本不同(大版本相同,小版本不同)

    ■前言 使用Jenkins自动打包,生成jar文件 检证时,和本地手动执行mvn命令生成的jar比较 使用winMerage进行比较. ■现象 发现,除了pom.properties文件的改行code ...

  9. glassfish 是oracle的,GlassFish“百天”小版本 彰显Oracle的大功力

    GlassFish"百天"小版本 彰显Oracle的大功力 51CTO快译]虽然GlassFish的3.0.1版本只是一个"百天"版本与上次更新不过100天左右 ...

最新文章

  1. 7句话让Codex给我做了个小游戏,还是极简版塞尔达,一玩简直停不下来
  2. 【数学专题】约数个数与欧拉函数
  3. MySQL5.7号称永久解决了复制延迟问题的并行复制
  4. PyTorch框架学习六——图像预处理transforms(二)
  5. Eclipse中的快捷键……希望朋友们能熟练使用
  6. 迅捷CAD编辑器中PDF转换CAD的详细步骤
  7. windows下的gitbub使用入门
  8. 数图互通高校房产管理——房屋模拟分配建设
  9. Linux之mount以rw,remount重新挂载ext4文件系统(二十八)
  10. 使用Trinity进行转录组组装
  11. 【WLAN】【测试】Linux下aircrack-ng的应用之破解WPA/WPA2、WEP密钥
  12. knockoutjs的学习
  13. python朋友圈刷屏_“Python太火了!请救救Java!”9万程序员刷屏朋友圈 !
  14. 民政部:发展智慧服务生活圈,同时保留必要线下服务
  15. 深度学习花书学习感悟之第二章线性代数
  16. Django网站建设-点击/收藏量、未读消息,错误页面显示404,500
  17. JavaScript的OO思想(一)
  18. 从身份证图片获取文字信息
  19. APG(加速近端梯度)参考
  20. macOS 开发 - NSMenu 添加目录

热门文章

  1. Go 学习笔记(60)— Go 第三方库之 go-redis(初始化 redis、操作 string、操作 list、操作 set、操作 hset)
  2. Python 多线程总结(1)- thread 模块
  3. Java学到什么水平能够出去找工作!
  4. 微服务架构必备的几点知识
  5. 使用哈工大LTP进行文本命名实体识别并保存到txt
  6. NLP进阶之(七)膨胀卷积神经网络
  7. 合肥工业大学—SQL Server数据库实验十:用户及其权限管理
  8. TVM yolov3优化代码修改(编译运行OK)
  9. 将编译器pass添加到Relay
  10. 2021年大数据环境搭建(一):​​​​​​​​​​​​​​​​​​​​​Hadoop编译