机器之心原创
作者:吴昕
面对新冠病毒肺炎,我们人人都在家中难以出门,还是在家远程码代码吧。
武汉新型冠状病毒肺炎疫情的发展,牵动着全国人民的心。截至 2 月 2 日 10 时,卫健委收到累计报告确诊病例 14411 例,累计死亡病例 304 例,累计治愈出院病例 328 例,共有疑似病例 19544 例。
疫情累积感染人数,可以看到当前阶段正处于爆发期,我们更应该待在家「自我隔离」。 疫情形势严峻,影响着我们工作与生活中的方方面面。
以北京为例,不只春节假期延长,还明确规定,除必需行业外,北京各企业 2 月 10 日上班。
通知规定,「2 月 9 日 24 时前,其他企业具备条件的,应当安排职工通过电话、网络等灵活方式在家上班完成相应工作;不具备条件安排职工在家上班的企业,安排职工工作应当采取错时、弹性等灵活计算工作时间的方式,不得造成人员汇聚、集中。」 为降低风险,很多人一时还无法回到公司上班。
除了抢口罩的焦虑以外,预料之外的长假期也已让大量工作陷入了停滞,眼看二月已到,必须行动起来了。
机器之心的读者们大多为 AI 从业者,离不开代码与开发。除了在线文档工具之外,此时该如何在保证健康安全的情况下继续生产活动? 对于企业研发来说,毫无疑问在家完成开发,并将代码推送到代码库是最为便捷与实惠的。但远程开发,远远不止上传代码这一步,如何分配远程任务、如何做 Code Review、如何控制开发进度等等都是我们需要考虑的方面。 在严峻的疫情面前,一套完整的远程开发流程、一系列优秀的开发工具是必不可少的,这难不倒我们。
什么是远程开发?
远程开发,简单来说就是在本地电脑上写代码,并在另一台计算机上保存并运行。听起来似乎远程开发非常简单,但要确保大家都能高效协同处理某个问题并不简单。 谈到远程开发,可能很多读者首先想到的就是代码版本控制工具 Git,也会想到 Gitee、GitHub 这类代码托管平台,它们是远程开发的标配。 但对于企业与项目管理者而言,这明显是不够的,项目的分配该怎样确定,进度该怎样掌控都需要考虑。 在本文中,我们将介绍一套远程开发利器,现在确实已经有免费工具能融合远程开发所需要的所有功能。
远程开发的利弊之说
远程开发的利弊相信大家随便就能说出好几条,站在开发者的角度来说,最大的利便是节约了通勤时间与居住成本。
站在管理者的角度来说,考虑的更多是弊处,团队沟通成本大、项目进度管控复杂都是不可忽视的风险。因此,管理者经常会将小项目或者附属功能以远程开发的形式外包出去,线下只维护最为核心的功能。
开发者很多认为远程是利大于弊的,管理者一般并不赞同。因此如果有新方法能大大降低沟通与项目管控成本,那么远程开发才会深入人心。现在我们可以看看对开发者与项目管理者,远程开发到底需要什么能力。
从 Git 到代码托管
「Git 是世界上最好用的代码版本控制工具」,很多开发者都深信这一点,我们不论是做开源项目,还是为公司做私有项目,Git 都是不二之选。它不仅能追踪每一次代码提交与修改,同时还能以分布式的方式维护代码库,从而帮助不同的开发者实现代码协作。
Git 极简教程:第一步添加修改的代码文件,第二步将修改提交到本地代码库中,第三步将本地代码库推送到远程代码库。 除了我们熟知的 GitHub 外,你还需要开源中国发布的国产代码托管平台 Gitee,相比 GitHub,它在国内访问、上传、下载代码库也都方便一些。此外,Gitee 还支持很多独特的功能,例如在线 IDE、代码库自动备份、自动分析代码质量等等。
两种代码托管平台的国内访问速度。 现在,作为开发者,我们的工具箱已经备齐了。那么作为中小型企业的研发团队的一员,我们又该如何利用那些工具做远程开发?
代码之上的项目管控
可以说作为企业项目管理者,在肺炎新冠病毒爆发的关键期,肯定是希望所有开发工作都在远程完成。但除了 Git 与代码托管平台,企业还应该需要更多的工具来支持远程管理与协作。 总体而言,要构建完整的远程代码协作工具,至少需要以下能力:
- 代码托管
- 过程管理
- 文档协作
- 安全策略
如下所示为 Gitee 企业版的项目总览,简洁的燃尽图可以让我们实时把握项目的总体进展,项目、代码提交量也都非常清晰。
如何带团队搞好远程开发
如前所述,如果要带团队搞好远程开发,那么我们不能局限于常规地使用 Git 与代码托管平台,其它各种可视化与进度分析都需要做到位。 代码托管、项目过程管理、多人协作文档,以及完备的安全策略是必备的四大模块。对企业管理者来说,他们关注的是过程、权限、质量,其中过程管理又是重中之重。
精细代码管理
代码托管是 Gitee 最为核心的功能之一,其延伸的代码管理能力也是控制开发过程最直接的工具。如果要做到精细化的代码管理,至少需要做到以下三点:
- 统一管理代码资源,方便随时随地访问
- 精细权限控制,可对分支、文件单独设置权限
- 完整、清晰、可视化地记录代码变更过程
这些特性,Gitee 企业版都是能满足的,如下所示为 Gitee 的代码仓库页面,对不同文件单独设置权限是非常实用的小功能。
更重要的是,一般而言,我们需要审查开发者推送上来的代码合并请求,确认无误后才能合并到主代码库中,这是比较耗时间与精力的。 Gitee 企业版的「Pull Request」就可以对代码执行质量分析,这样能极大减少人工审核成本。与此同时,Gitee 企业版还支持在线代码评审,帮助企业提升代码质量。 全过程管理
项目开发的全流程管理应该是什么样的?产品经理、项目管理者和开发者之间的协作又是怎样的?作为小团队的管理者,这一点在远程开发中是一定要考虑的。对于全过程管理,它统领了整个项目的开发与维护,一般而言,全过程管理可以分为以下 7 个步骤:
- Step1:需求管理
- Step2:迭代规划
- Step3:任务管理
- Step4:代码托管
- Step5:代码评审
- Step6:部署测试
- Step7:Bug 管理
对于 Gitee 企业版来说,全流程管理也正是说的这 7 个步骤,我们可以通过燃尽图、甘特图等可视化方式确定重要节点,把控开发进度。
可视化管理
对于项目管理者而言,可视化管理是不可忽视的,只有各种图表才能更清晰地掌控远程开发的整体进度。
甘特图是管理项目非常常用的一种图表,它会将不同的任务以时间长条的形式展示出来。如下右边不同颜色的长条表示不同任务计划的开始与结束日期。
此外,燃尽图是另一种管理全局工作进展的图表。如下所示,其竖轴表示项目数量,横轴表示时间,如果实际曲线低于计划,那么完成工期将提前于计划。
这些可视化图表都是 Gitee 企业版内置的一些特性,除了可视化的辅助,即时通知也是必不可少的辅助方式,毕竟远程开发不能面对面交流,很多代码、任务或需求事件并不能实时反馈到参与者。因此 Gitee 企业版支持短信、微信、邮件和钉钉等即时通知方式。
最后,要带团队搞好远程开发,它远比传代码复杂,如果能有 Gitee 企业版这样的整套工具,那么不论是项目管理者还是开发者,都能更关注于他们自己的开发任务。
搜索「下文链接」,免费开通 Gitee 免费版。
https://gitee.com/enterprises?utm_source=nCoV_wx_jqzx