iSoftBook研发体系

剖析现在敏捷研发管理、Git解决方案和企业知识管理的问题,提出iSoftBook平台的敏捷研发管控体系、内置Git研发体系和自治知识库体系,阐释iSoftBook平台的总体概念架构。

开始了解

敏捷研发管理体系

1、研发管控问题

抛弃官僚繁琐的重型开发方法,践行敏捷方法Scrum的事项列表、冲刺、看板、计划会议、站立会议、评审会议、回顾会议,甚至规模化敏捷方法LeSS、SAFe等复杂过程框架,敏捷方法复又堕入了新形式的繁琐。存在的问题包括:

(1)Scrum适合于冲刺期内需求稳定、技术简单、文化开放的项目,现实中很多研发项目难以适用。

(2)史诗(Epics)、事项列表(Backlogs)、冲刺(Sprints)等概念直接映射进入研发管理平台,信息条目化,缺乏整体性,不能版本化,缺乏灵活性。

(3)看板基于任务执行阶段进行管理,分为待处理、开发中、测试中、已完成等阶段,带来了任务间逻辑关系割裂、执行阶段固定、任务计划困难等现实问题。

2、iSoftBook敏捷管理体系

敏捷研发平台应独立于具体的过程框架,探索普适的概念和工具体系,支持Scrum但不限于Scrum。敏捷研发管理需在团队的总体控制和团队成员的自主管理间寻求平衡,实现进度控制的稳定性和方向性,同时发挥团队的创造力和自主性,从“Doing Agile”到“Being Agile”。

据此,iSoftBook平台摒弃Epics、Backlogs、Sprints等概念,采用在线文档记录内容。转变基于任务执行阶段的过程式看板,提出基于任务逻辑结构的层级化看板,支持自上而下、自下而上及其融合的进度控制模式。

iSoftBook实现一个普适的研发控制层次体系,支持敏捷项目管控,具体包括:

(1)高层任务:利用在线文档实现分解与控制。

(2)中层任务:利用结构化看板实现分解与控制。

(3)低层任务:利用即时消息实现交流与控制。

(4)底层任务:持续集成框架调度脚本代码自动控制。

内置Git研发体系

1、Git服务管理问题

分布式版本控制系统Git具有自由提交、特性分支开发、图示历史、多元合并、多仓库访问等优秀特性,但同时带来了Git的管理问题。主要包括:

(1)Git版本库整体克隆,必须分库,带来大数量Git库的创建与维护问题。

(2)访问认证与控制问题。虽可基于钩子(Hooks)脚本、Gitolite工具等实现访问管控,但配置管理复杂。

(3)持续集成与部署问题。运用Git Hooks实现持续集成存在远程管理、运行阻塞问题。整合Jenkins实现持续集成存在Jenkins部署、配置、轮询等问题。

2、iSoftBook泛在Git服务

iSoftBook内置HTTP Git服务,实现Git研发体系。具体包括:

(1)HTTP Git服务零安装和零配置。

(2)提供Git泛在服务,给所有用户、资产和项目自动创建Git库。

(3)利用平台用户和权限机制统一实现Git的认证与权限控制。

(4)提供在线Git工作空间,实现在线文档一键版本化。

(5)实现Git仓库文件浏览、复制、Diff、Blame、评审、API文档生成等。

3、iSoftBook持续集成框架

持续集成、持续部署、甚至DevOps是质量保障的优秀实践。iSoftBook提供基于Git的持续集成框架,具体包括:

(1)运用普适的Shell脚本提供持续集成任务定义。

(2)监控代码变更并主动调度持续集成任务。

(3)支持Git Flow流程,实现多分支、多脚本持续集成。

(4)保护master分支。

自治知识库体系

1、文档与知识管理问题

研发工作书面记录必不可少。敏捷方法不是不需要文档,而是需要一个高效的文档创作和发布机制。研发文档和知识管理的现状和问题包括:

(1)抛弃U盘、邮件和IM软件传递文档的凌乱,网络化存储实现了文档的集中管理,但变更麻烦。Google Docs和Microsoft Office Online等在线文档简化了文档变更,但是重型的在线文档系统。Wiki是一种轻量级的在线写作系统,但缺乏受控的版本管理和访问控制。

(2)研发平台中的文档、任务、代码、提交等数据信息各自孤立存在,需要依靠记忆在其间进行导航与追溯,迟滞和阻碍了信息的访问。

(3)研发知识库是组织的核心竞争力。运用严格流程、依赖专家、构建独立知识库的知识库建设方法存在成本高、知识获取难、过程性知识缺失等问题。

2、iSoftBook轻量级在线文档

iSoftBook提供面向研发活动的轻量级在线文档,具体包括:

(1)支持在线目录和文档创建、可视化编辑、上传、下载、复制、剪切等功能。

(2)支持协同创作,自动合并多人编辑工作。

(3)支持版本控制。

(4)支持全文检索,实时索引文档。

(5)支持代码片段编辑和高亮显示。

(6)数学公式是知识的结晶,实现数学公式在线编辑与显示。

3、iSoftBook知识地图系统

iSoftBook借鉴Wiki技术思想,提供知识地图系统。分析HTML文件、API接口文件、Word文件、代码文件、图片文件、项目任务和代码提交数据,建立知识位置热点,构建信息链接机制,连接人、文档、代码、提交和任务,整体形成一个Wikipedia式的企业级知识库,解决知识发现和迷航问题。

4、iSoftBook文档层次体系

借力知识地图导航系统,根据内容层次和特性,iSoftBook实现了一个丰富的研发内容记录层次体系,助力文档一致性问题解决。

(1)在线文档:记录抽象层次高、稳定性强的全局性重要文档。

(2)结构化看板:记录抽象层次低、稳定性弱的实施层面的任务需求。

(3)API文档:记录软件模块的编程接口、用法和用例。

(4)源码评注:动态性、独立化记录代码的解释说明,个性化的记录补充和记忆辅助。

(5)源码注释:记录代码层面、局部性的技术实施决策。

(6)源码:源码即文档,直接说明自身。

5、iSoftBook自治知识库

利用知识地图导航系统,iSoftBook融合过程知识与结果知识、个人知识与组织知识,建设融合的知识库体系,具体包括:

(1)个人知识库。个人私有的在线文档、收藏的文档、代码、任务、提交及其上构筑的知识地图,提供个人知识体系构建。

(2)项目知识库。项目文档、代码、任务、提交及其上构筑的知识地图,提供项目知识体系构建。

(3)组织资产库。可复用的组织共享文档、代码及其上构筑的知识地图,提供组织资产体系构建。

三个知识库兼容并蓄,建设的策略是自然生长、组织推动。具体包括:

(1)研发工作累积。研发任务、文档、代码、提交及其间关联和追踪,因为工作自动融入知识库。

(2)成员自主贡献。基于Web2.0的实践,利用群体智慧,研发人员组织认同,自发贡献建设。

(3)组织助力推动。通过文化建设、制度激励、项目回顾、资产建设任务甚至资产建设项目,推动组织资产库的建设。

iSoftBook平台开发原则

1、无缝集成

研发工具集成配置难度大,造成研发信息冗余、分散和繁琐系统切换。iSoftBook无缝集成工具组件,拷贝部署、开箱即用,一站式研发管理。

2、面向组织

iSoftBook建立组织结构和权限管理,实现资产和项目的组织归属管理,支持管理层对辖区项目实施穿透式的跟踪和监管。

3、开放兼容

iSoftBook基于开源组件和Java平台,跨设备、跨浏览器,兼容多终端访问。支持文件上传和Web化而融入知识地图系统。提供URL、文件系统和Shell脚本接口,与IDE、Maven、Gradle等外部工具开放集成。