【转载】研发团队开源管理工具最佳实践

转载自CSDN  http://blog.csdn.net/kthq/article/details/9298813

持续集成及质量跟踪——Jenkins + FindBugs + CheckStyle + PMD + JDepend + ... 或 Sonar

  • 适应互联网研发特点的敏捷团队必须要通过“每天”的集成结果报告来指导下一日的工作,这包括帮助研发团队发现问题、跟踪问题和解决问题,这意味着基于持续集成平台的质量跟踪工具需要在持续集成的构建过程中产生各种各样的“副产品”——将每日研发工作中的进展和阻碍从各个角度暴露出来。
  • Jenkins是著名持续集成工具Hudson的开源版本,我们一般设定在每日凌晨进行构建,产生构建报告,如果构建失败的话会直接给相应的研发人员发送电子邮件并告知问题所在。Jenkins平台上的FindBugs和PMD插件主要用来扫描程序中的错误代码和重复代码,随着这2个插件变得越来越智能,很多危险的bugs和冗余的代码逻辑(实践证明冗余的代码在被改动时很容易引起bugs)被自动扫描出来,研发人员可以很方便的查看并立即修正,这一切都有直观的走势图表辅助管理。JDepend插件可以分析代码的逻辑层次和复杂度,这对于追求优雅和精益求精的架构师非常有用。
  • Sonar平台基于Jenkins提供了以上绝大部分的功能,目前我们在企业级的层次使用之,进行全局的扫描统计工作。

项目及构建库管理——Maven + Nexus(或 Artifactory),just for Java

  • Maven的主要作用是为协作研发统一管理类库,这已经成为了Java开发的工业标准。目前我们采用Artifactory这个Web开源项目作为私有仓库的管理软件,当然Nexus也不错。

需求任务管理及缺陷跟踪——Redmine

  • Redmine是用Ruby语言开发的,是目前最流行的需求任务管理和缺陷跟踪工具,事实上它还具有知识管理的功能。目前我们主要使用Redmine作为缺陷管理工具,这也是Redmine最擅长的领域。

知识管理——MediaWiki

  • MediaWiki是非常流行的、简易的知识管理工具,使用它能帮助我们方便的共享知识、管理知识并使整个组织的经验沉淀下来,使用它我们可以在一定程度上避免重复的沟通和重复的错误。当然JspWiki等工具也可以替代之。

自动化单元测试——Junit系列

  • 很多非功能性的bugs是黑盒测试同学无法发现的,Junit系列开源框架能帮助研发人员快速的构建基于白盒的单元测试代码,它不仅能进行功能性测试,还可以进行非功能性测试,同时Junit单元测试还可以通过遵循Maven规范在持续集成的构建中进行执行,从而有效的把关软件的质量。目前我们正在利用Junit实现数据层/业务逻辑层/服务层/控制器层的单元测试。

配置管理——SVN 或 GIT

  • 一般在企业里集中研发使用SVN比较合适。
  • GIT是高效率的离线式配置管理工具,非常适合松散合作型的团队。

代码量统计——SVNStat

  • 我们使用SVNStat统计每日的总体代码工作量和每个研发人员的代码修改量和提交分布,我们可以从中可以发现一些研发管理上的问题并观察工作量分布的情况。我们开发了一个工具将SVNStat的代码量统计报告的生成与Jenkins每日集成绑定在一起,这样,每日更新的代码量统计报告可以为研发过程的管理提供一定程度上的参考意见。

测试管理——Testlink,主要用于自动化测试复用。

 

代码评审——Phabricator,进行代码审查的好工具。

 

使用以上工具,可以支撑3~1000+人的研发团队协同工作,经实践证明 Very Good

转载于:https://www.cnblogs.com/MillenniumRonin/p/8615654.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前言: 这是本人开发的个人知识管理软件,特别适合需要阅读大量pdf\word\mht\txt等格式文献的科研人员,有效提高个人知识管理能力,减轻记忆压力。因为这几年来都没有时间开发和维护,所以现在开源,希望有人能发扬光大。由于时间关系,没有很好整理文档,而且不是最新版,需要的请联系。本人曾参与Sourceforge的latex2rtf项目,在知识管理方面具有独创见解,希望大家能共同探讨,促进我国科研人员的个人知识管理水平。 本软件综合了Tag2Find、Leapfrog Tag等Tag管理软件的优点,同时克服了这类软件速度奇慢的缺点,具有Everything一样的即时搜索性能。所以叫Tagging-Taggie。 大致工作流程: ------------------------------------------------------------ 1. 启动Tagging软件,此时后台会运行一些针对常用阅读软件开发的AutoHotkey脚本(可以自定义); 2. 在你熟悉的阅读软件中(例如Acrobat Adobe、Pdf Xchange Viewer, Office Word等里面)按下快捷键 Ctrl+`,将弹出一个迷你窗口(叫Taggie),可以输入各类标签(也可以从常用词中选择,如文章类型,重要性),同时显示以前的关键词,所有标签和当前页码等信息会自动保存到数据库中。 如果按下快捷键 Alt+`,则不弹出任何窗口,但是数据库中将记录此文件的标题,当前选中的文字前20个字等信息,这样方便地保存了您的访问记录,而且不受软件的限制。 3. 打开Tagging主界面(类似Everything),可以一边打字输入一边获得检索结果,同时有最近浏览记录、访问最多记录、最常用Tag等信息。 注:上述快捷键可以自定义,例如设置为F1是最轻松的。 背景知识: ----------------------------------------------------------- 一般来说,我们阅读科技文献时,希望随时快速记下带有自己思维方式的Tag,比如这篇文章是欧洲某国的,这一页很重要,这篇文章很重要,这篇文章是90年代的,这篇文章是某公司或某大学的,这是会议文章/期刊文章/技术报告/国际标准等等。但是如果采用重命名文件的方法(适用于Tag较短的情况),就会疲于应付。 如果你是研究生或者科研工作者,那么自然需要阅读大量的文献,采用其它知识管理软件都需要大量的鼠标和键盘动作,同样会疲于应付。 换句话说,采用文件夹管理只是实现了文件的树状分类,但是一篇文献在每个人脑海里面还有特殊的标签,只有采用标签和树状分类才能保证我们的每一篇文献都能快速找到。 采用本软件,你就可以从各种蛛丝马迹中找到你曾经阅读过的文献。 工作机理 ------------------------------------------------------- 1. Taggie会自动获得当前文件的特定属性,例如文件创建日期、pdf的页数、已有关键词等,并根据这些信息为该文件创建一个UUID.lnk,如果开启了Distributed Link Tracking Client服务,在本地计算机你可以随意重命名或者移动该文件,以后用Tagging搜索Tag时都可以找到该文件。 2. 当前版本用到的数据库其实就是类似csv或者xls的文本文件,你也可以通过OneNote接口把数据保存到One文件里面去,这样可以在OneNote里面补充注释,管理起来更加富有层次。 细节和讨论: ---------------------------------------------------------- 1. 多个标签数据库的同步和合并; 可以为不同电脑指定一个特定的数据库名字,在Tagging里面可以勾选要搜索的数据库,一般不用考虑数据同步。但是最好能随时把个人的数据库上传到快盘之类的地方,或者用Groove同步,实现团队成员的知识管理。 2. 采用Symbolic link的方式与采用快捷方式的对比。 还没有测试。 3. 。。。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值