近期受covid-19疫情影响,多数企业开启了员工远程办公模式,这也在不同程度上给企业员工的工作带来了挑战。尽管对于开发者而言,或许有台可以流畅操作的笔记本电脑和稳定的网络,在哪里办公都不成问题,但身为技术团队的领导者们,却要为“散装”团队的沟通协作、项目管理和代码集成与部署等问题操碎了心。
如何实现高效协同开发?只需一套专业产品来解决!作为有着二十年经验的软件技术开发公司,jetbrains 在全球已拥有横跨多个地区、总数超过1,200人的大型团队,不同区域的团队之间经常需要远程协同办公和软件开发。于是,jetbrains在实践中发展出一套让团队成员无障碍沟通、高效远程办公的工具,并将其精炼成专业的产品与开发圈分享。就在几个月前的kotlinconf 2019大会上,jetbrains的全新集成团队环境产品——space正式发布,再加上早已面世的代码审查软件upsource、项目管理工具youtrack以及持续集成与部署ci/cd 服务器teamcity,从此开启软件开发团队远程办公的新篇章。
space:让团队协作畅通无阻
团队协作是jetbrains space的首要概念,即便此刻团队成员分散于不同区域,通过space集成的团队环境,都可以达到高效、无障碍沟通的效果。远程办公期间,jetbrains space所具备的团队目录(teams)、会议管理(meetings)、信息(chats)等功能可以帮助团队成员之间快速建立联系、及时沟通并做好信息分享,提高团队整体的协作效能。
不具备面对面沟通的条件时,快速获取同事信息是建立联系的第一步。jetbrains space团队目录(teams)是团队实际组织结构的目录,在团队目录中每个人都可能存在于一个或多个团队。但重要的是当团队逐渐扩大且位处不同办公地点时,通过search everywhere(随意搜索)功能,可以帮助团队成员快速找到需要联系的同事信息。
跨多时区、地区的团队最难的往往就是约会议时间。jetbrains space 会议管理(meetings)功能可以检测会议发起者和被邀请的参会者的会议时间表,在发起一个会议时,自动找出可以安排会议的时间,并发邀请函给参会者。如果需要预定会议室,在预先键入办公室里的各会议室信息后,space 还可以自动找出距离所有参会者最近且可供预约的会议室。
团队合作过程中,会有非常多的信息(message)与通知(notification)需要交流与分享。jetbrains space 将所有一对一对话、群对话、代码仓库通知、团队日历通知等集成为信息(chats)功能。所有团队成员可以通过信息功能进行工作上的讨论并接收推送消息。它不仅可以作为一个信使,还可以作为接收通知、请求和警报的个人收件箱。
space与upsource:轻松实现代码管理与审查
软件开发的核心是代码,编写代码是整个软件开发过程中最基础也是最重要的部分。开发团队对代码质量管理,应当存在于整个开发过程。当团队成员分工协作来完成代码设计时,对代码质量的把握,必然依赖于贯穿始终的代码管理和定期的代码审查。
在jetbrains space当中,代码管理(repositories)功能允许团队成员通过space web 或桌面ui来查看提交历史、搜索、检查和审查代码、添加和编辑文件。它可以直接通过浏览器查看每一个文件在不同提交历史中的状态、精细权限控制,还可对分支、文件单独设置权限。更重要的是它还包含了团队协作时需要的合并请求(merge request)功能,这让团队成员都能完整、清晰、可视化地记录代码变更过程。
要维持软件品质,最好的方式就是定期审查代码。jetbrains space 内置的代码审查(code review)功能可以让开发团队更易于审查代码、讨论变更以及记录积累的知识。该功能可以在团队成员提交工作后,触发代码审查流程,而团队领导可以决定何时审查代码及审查代码的方式。
若想要更弹性、更深入的代码审查功能,也可以集成jetbrains upsource产品。upsource 是一套可独立安装于服务器上的代码审查软件,其具备与jetbrains ide 同等级的代码洞察功能。其弹性的机制,可以依照项目特性或团队风格配置,支持对每一项提交、对feature branch、或是在合并时做审查。若希望更高效的直接在ide 内审查代码,也可将upsource插件集成至jetbrains ide,实现直接在ide内创建代码审查,并在代码上标记注释,而所有动作都能实时推送至关联团队成员的ide内。团队领导也可以直接在浏览器内查看所有审查内容并给予评价,并在代码审查完成后合并分支。
通过这两种方式都能在远程办公的情况下做到代码审查。不再需要坐到同事电脑旁,就能看到对方的代码,对需要沟通的代码段做评论、标记注释和建议修改等,并且这一过程会留有完整的沟通记录。
youtrack与teamcity:让项目管理与持续集成都省时省力
在jetbrains的团队工具系列当中,除了space与upsource产品之外,还专门为多人团队的项目任务管理和持续集成与部署分别打造了项目管理工具youtrack以及持续集成与部署ci/cd 服务器teamcity。
youtrack 是jetbrains 专为开发团队成员设计的智能问题跟踪器。该产品可直接使用线上服务或下载至服务器安装。除了用于跟踪日常任务和缺陷、计划发布外,还支持冲刺(sprints)和迭代(iteration)等执行scrum 或kanban 的敏捷团队所需功能。
另外,youtrack 还可以通过插件集成至jetbrains ide 内。开发人员可以在ide 内浏览自己所分配到的任务、更改任务状态、运行批次命令。不会打断工作流程,也完全不需离开ide。对团队领导者而言,在管理大型团队时,youtrack 支持包括甘特图、燃尽图等可视化功能,提前规划活动项目并随时跟进,彻底实现从需求到落地的管理流程,有效解决时间占用和资源耗损等问题。
teamcity 是jetbrains 的持续集成与部署(ci/cd)服务器,只需几分钟即可将它安装在服务器上开始使用。该持续集成与部署服务器提供开箱即用的单元测试、代码质量分析和构建问题的早期报告功能。
同样,teamcity也可以通过插件集成至jetbrains ide。开发者不需离开ide 就可以浏览服务器上的构建报表以及代码覆盖率等信息,甚至还能在提交前直接对代码远程构建。在teamcity 的辅助下,可以在早期发现代码构建中出现的问题,自动化部署可以省下大量的人力与时间,让团队依循最佳发布管理实践。
通过teamcity 和youtrack 您可以彻底消除项目管理、问题管理、ci/cd的流程建立之间存在的障碍,让您无论是远程办公、出差或者其他情况下,都能随时随地、轻松关注并解决可能出现的意外情况。从此不必再为任何突发状况而头疼,一切团队工作处理起来都变得游刃有余。
目前jetbrains space产品正在eap早期试用计划阶段,欢迎前往页面注册试用。同时,youtrack、upsource、teamcity等三套软件也为10 人以下小团队开放免费额度,欢迎前往各产品页面了解详情。