IT团队开发

概述

IT团队如何能够快速,高效的支撑公司业务与响应公司业务的变化成为IT团队管理的一个重点,尤为在这快速变化的商业环境,IT团队对公司扩展业务起了很重要的做用。根据个人工做经验,在敏捷开发思惟下如下5点是提升IT团队效率的重要支撑点。git

1.代码管理

代码管理工具介绍(SVN与GIT)

如今流行的代码管理工具备SVN与GIT,svn是中央集中式管理,git是分布式管理,svn相比git来讲有效率上的劣势,svn是锁文件机制,不能同时并行编辑提交,而git是更新集机制,每一个人能够在本身的branch中随意进行更改,功能完善后再提交合并到主干分支,如今愈来愈多的企业与组织都用git。因此IT团队代码管理我建议使用GITgithub

代码管理流程

使用git来管理代码没有问题,可是还须要一个好的代码管理流程,实际上每一个公司的代码管理流程都有或多或少的不一样。这里我来介绍一个经常使用的流程npm

首先要先肯定几个分支
  1. master: 发布分支,专门用于发布,用于合并功能测试稳定后的dev分支。架构

  2. dev: 开发分支,是最新的功能开发分支app

  3. 各类feature分支:通常是成员本身的分支框架

  4. hotfix/master: 用来修复线上bug的分支maven

流程介绍
  1. master主干分支,权限严格受控,只接受稳定的dev分支的合并请求,每次发布须要打tag分布式

  2. 平常新功能开发或者bug修复都是基于dev分支来建立员工本身的分支,这样每一个人的任务的开发与别人是最小依赖耦合的状态,本身新功能测试完毕,提交合并请求到dev分支,dev分支相关人员review代码后合并代码到dev分支ide

  3. 每一次敏捷开发的sprint计划结束后,都会测试一个稳定版本的dev分支并进行打tab,而后master分支合并此次稳定后的dev分支svn

  4. 线上出现bug,须要从master分支建立hostfix/master分支,测试完毕后,基于hotfix/master分支进行发布,发布完毕后合并到master分支,而后删除hostfix/master分支。



    图片


git仓库推荐

  1. gitlib: 开源的普遍流行的git仓库软件,本身搭建git仓库首选

  2. github: 世界上最大的代码仓库,有企业版本服务

  3. 码云:中国最流行的代码仓库,提供企业版服务

git客户端软件推荐

  1. sourceTree

2.需求,任务与bug的管理

团队开发离不开项目管理软件,经过项目管理软件录入需求,需求进行评审,分解需求成任务,开始计划,bug管理能够把IT团队的工做量化,辅佐以敏捷开发过程跟踪与计划任务燃尽图显示,你们在工做透明的环境下,有了比较更能提升本身的工做效率,而且需求,任务,计划,bug等能够随时进行检索,能够清晰的记录项目的发展历程,这里须要注意的是,必定要将相关需求人员归入到管理中来。

软件推荐

  1. 禅道(推荐)

  2. JIRA

3.软件测试

软件的品质离不开软件测试,在企业里有通常都有测试人员根据需求经过写测试用例来进行功能测试,高级一点的测试会经过一些代码进行功能的验证,可是团队不能把软件是否可用彻底押注在测试人员身上,并且不少创业企业起初也根本没有专职测试人员,都是开发兼测本身或者同事的代码,再来敏捷开发也须要天天去验证响应分支代码库是否可用(这里的可用不能仅仅是编译成功,更是指的功能可用),因此须要开发人员在开发阶段就要对本身写的代码增长验证测试代码。同时对于一些功能变化少,相对稳定的功能,彻底能够写一些自动化测试程序进行回归测试。

单元测试

写单元测试虽然看起来会耗开发阶段的一些时间,可是对将来的工做是有极大的好处的,例如将来重构这块业务代码,只须要再跑一遍这块的单元测试就能够,在项目每日构建CI阶段,走一遍所有的单元测试代码便可。单元测试有个指标能够做为项目评判的参考,这个指标就是代码测试覆盖率,代码测试覆盖率虽然不能决定软件产品的品质,可是较为高的代码测试覆盖率能减小软件产品的出错概率。(PS:若是是维护旧的项目没有单元测试代码,每次维护一个模块须要要求写单元测试,坚持下去)

集成测试

集成测试是在单元测试的基础上,将一些业务相关联的模块或者系统进行聚合测试,单元测试只能保证单一模块局部能够正常工做,集成测试用来保证多模块能够正常工做。

  1. 能够经过黑盒测试对测试模块进行功能性测试

  2. 使用测试代码对模块进行性能或者可靠性测试

回归测试

回归测试就是重复以前已经测试过的测试工做,不少时候(尤为是系统维护阶段)咱们修改或者重构了代码,在须要确认相关的功能或者流程有没有引入新的bug的时候,就须要引入回归测试,回归测试多半是经过写自动化的测试程序来进行测试,回归测试的成本与耗费精力相对来讲比较高,对小初创型公司来讲通常只须要对核心模块有自动化测试就能够.

自动化测试框架推荐
  1. selenium

4. CI/CD

  1. CI的意思是持续集成,敏捷开发的重要一点就是要对天天的代码进行build构建,构建有错误能够及时通知相关人员。

  2. CD是持续部署,把构建的程序能够快速的发布(或者恢复)到几台甚至几百台机器上是个棘手的事情

CICD都强调持续,这意味着程序不光须要一直在运行,还存在快速迭代过程当中频繁发布状况,这些行为都是可重复的,能够经过自动化流程来解决CICD

build工具推荐
  1. maven

  2. gradle

  3. npm

CI工具推荐
  1. jenkins

  2. travis

CD工具(软件)推荐
  1. ansible

  2. chef

  3. saltstack

团队组织架构

团队的组织架构要随着业务变迁进行改变,虽然企业发展,团队人数愈来愈多,团队的组织架构就要随着业务发展进行调整拆分,提升企业IT团队效率的核心思想就是减小沟通成本,减小重复建设,经过自动化(测试,构建,集成,发布)来减小人力时间等各类成本,支持业务能够快速在市场上进行验证与调整。

相关文章
相关标签/搜索