为什么要开发CITS
需求的产生
CITS是从2015年12月份开始开发的。那么为什么要开发CITS呢?其实是基于以下几点需求:
- 开发者提测的代码没有办法与任务关联起来,让测试人员如何下手呢?
- 经常有人在RTX问:我的代码现在是在哪个阶段了?
- 测试的代码有没有问题?发布了我怎么不知道?我需要反复的问测试人员。
CITS正是为了解决上述需求而诞生的
沟通不畅造成的效率低下,人力成本上升是企业发展的障碍之一。仅仅从制度上来约束是远远不够的,引入或开发符合团队需求的协作工具才是解决问题的钥匙。
——江边望海
功能开发
ver_0.1.0的产品思路:
版本状态:已经不在维护了
- RTX弹窗提醒:研发人员提交代码给测试人员,测试人员会收到RTX提醒,及时认领你的提测;
- 自动合并SVN分支代码:测试人员需要合并代码(以前手动合并,现在集成到CITS里面了)测试人员不需要登录服务器就能合并svn代码
- 一键部署提测代码:测试人员合并代码后将代码发布到测试环境进行测试,通过后通知研发人员
- 上线通知功能:测试人员上线测试通过的代码,上线成功后通过RTX提醒通知研发人员
CITS降低了SVN合并发布的时间成本,将原来手动需要5分钟部署的操作缩短到5秒钟。
ver_0.2.0的产品思路:
版本状态:维护阶段,不再此版本上开发新功能
该版本主要对整个系统UI进行了重构,增加了计划模块和缺陷(BUG)模块。
ver_0.3.0的产品思路:
版本状态:核心版本,持续开发中
该版本是调整最大的。江边望海认为一个伟大的产品精华都在API or 内核中。比如:chrome的内核,基于云的SDK,jenkins丰富的插件。这些伟大的产品均留给其他开发者们非常大的想象空间。
本版本提供了丰富的API,不仅利于服务化的部署,也为CITS开发移动应用打下基础。此版本同时增加了消息提醒功能。
一点儿个人感悟——什么是以人为本的软件开发思想
大多数的软件是通过规则去限制使用者的范围,也就是在用设限的方式实现管理和协作的目的。这种设计思想是一种中心化的设计思想。
CITS设计之初就明确了『以人为本』的思路。在江边望海看来,人类是自由的,协作是自然发生的,不存在谁管理谁的概念。让自然法则成为协作的法则,那么怎么去理解呢。
当一个人有一个想法做一件事情的时候,他需要考虑怎么做,如何做。将未来的目标通过拆解成具体的任务落地,然后找到适合的任务执行人去执行。他的目标是否能完成在于他是否
- 将目标拆解到可以落地,被具体的人执行;
- 他需要给协作人讲明白,用协作人能够听得懂的可以理解的语言;
- 能够使用工具记录协作数据进而优化协作过程中的问题;
所以,诸如:需求的讲解,任务的拆解如果按照中心化的思想很容易造成,用行政命令强制让任务执行人为目标人的能力缺陷买单,进而会损伤整个团队的协作效率。
借用supercell创始人的理念,每个cell都是独立的他们需要为他们的想法负责,让市场去验证每个cell有没有存在的价值,这其实就是一种自然法则的协作方式,从达尔文进化学的角度看是最优。