在某个公众号里看过这样一句话,“一流的公司只有一个共同点——他们都有好的产品。” 最近又了解了一些管理工具和开发工具,突然发现,其实一流的公司还有另一个共同点,他们往往都拥有一套适合自己的工具,包括但不限于管理工具、开发工具、运维工具……
“培训团队使用一些工具从而节省时间和人力成本,是最成功的时间投资之一。” 或许使用工具总是需要一些学习成本,但从长远来看,是一笔很划算的买卖。
我们中的一部分人在工作和生活中总在尝试使用一些有趣的工具来梳理思想和知识,比如 Evernote、OmniOutliner、MindNode 等等。快速发展的 IT 团队也往往会选择尝试很多数据分析、测试、运维管理工具,来让团队效率与高速发展的预期相符。正如小编前两天才了解到 Omni 系列工具的强大与贴心,很多人都在参加工作几周甚至几个月之后才发现一些原本可以节省人力和时间的神器,然后发出“如果早点知道就好了”的感叹。
由此,小编结合 Cloud Insight 团队的开发经验,总结了一份适合 IT 团队的,不完全工具指南,希望与大家分享。
组织工具
我们需要让每个团队成员都保持同步。
ChatOps
BearyChat、瀑布IM、简聊都可以被称为 ChatOps 工具,ChatOps 是诞生于 GitHub 的一种基于会话驱动的协作开发方法,过去团队之间的通讯和开发操作是两层皮,导致各种不透明和低效率。ChatOps 将开发工具带入开发者聊天室,通过定制的插件和脚本,一个聊天机器人能够执行聊天中输入的各种命令,实现在聊天平台上的团队协作开发自动化。
另外,因为团队工具庞杂,每天产生大量信息,这些信息散落在各种服务里,其中重要信息很可能会被忽略。所以一个汇集信息、提升工作效率的工具成为一种刚需。
GitHub、GitLab
相信大家对 Git 都不陌生,很多 IT 团队都用 GitHub 来存储所有的代码和代码相关的问题。当然,你也可以像我们一样,号召所有小组成员创建 github.io 博客练习持续写作。
GitLab 是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的 Git 项目仓库,可通过 Web 界面进行访问公开的或者私人项目。它拥有与 Github 类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。开源中国代码托管平台 git.oschina.net 就是基于 GitLab 项目搭建。
我们要将用于和客户沟通的邮箱和用于注册网络服务的邮箱分开使用。未来我们希望,所有对外沟通的邮件都要抄送到 [email protected]
,这个地址包含了我们整个小组的成员。所有组内的沟通都通过 ChatOps 工具进行。
石墨
我们使用石墨来创建和编辑文档,实时协作。无论是内容产出还是活动计划,甚至落地页设计,都放在石墨上。打开即用,写完即存,如此的轻量、简单。
Giphy
Giphy——有趣的 Gif 仓库,图片时代,玩的开心。(把王志利做成 Gif 也是我们的乐趣)
Jira
想要使用好 Jira 实际上是需要一些培训的,但通过规范的使用 Jira,对问题的追踪变得更加容易,汇集问题、分配任务、计划问题时间、评估工作效果,一切都开始拥有更加规范的流程和更加透明的量化效果。
Confluence
Confluence 是一个专业的企业知识管理与协同软件,一个企业级的wiki软件。通过它可以实现团队成员之间的协作和知识共享。假如石墨是便利店,Confluence 就像一个大型超市,琳琅满目,应有尽有。
开发工具
下面是我们进行网站项目前端和后台开发的工具。
Atom
Atom 是我们用来编码的文本编辑器,除了基本的操作和界面外,和 Sublime 最大的差别在于扩展性。Atom 非常强调模块化,很多默认功能也都是开源的模块,vim 模式拉过来了一大批 vim 用户,良好的 Markdown 预览效果也让人喜欢。不过最讨小编欢心的果然还是 active-power-mode,燃烧吧代码!
Gulp
Gulp是我们进行网站开发的构建工具,它将我们用到的所有开发工具都集中到一起。
为什么我们需要Gulp?
Gulp 能让开发者的工作更轻松。我们可以在 Gulp 中用 SCSS 和 Handlebars.js 来编写更高层次的宏和抽象对象。Gulp 中的代码更精简也更模块化,从而让客户更易适应他们的需求。
什么是构建工具?
像 Gulp 这样的构建工具将源文件转化成静态网站。在将易于编辑的源文件(后缀名为 .hbs 和 .scss)转化为其最终格式(后缀名为 .html 和 .css)时会出现许多单调的重复操作。而在 Gulp 中,只需一个命令,源文件的所有变化都会转化到静态网站上。
Gulp 向我们展示了什么特性?
- SCSS转化成 CSS。
- 采用 Yaml 格式数据的 Handlebars.js。
- CSS自动添加前缀:确保所有的 CSS 都是跨浏览器可兼容的。
- Browsersync:只要源文件被修改就会自动重新加载到浏览器的开发工具。
- Imagemin:压缩并优化图像以达到更好的显示效果。
- Linting (SCSS, JS):确保 CSS 和 JavaScript 采用正确的格式并遵循一个通用代码风格指南。
- Minification (HTML, CSS, JS):自动压缩所有的代码以实现更快的页面加载速度。
SCSS
学过 CSS 的人都知道,与其说是编程语言,不如说它是面向设计师的工具,没有变量也没有条件语句,而 SCSS 是一种 CSS 扩展语言,让 CSS 更易读易写,它推崇模块化和易读性。
React
React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站。做出来以后,发现这套东西很好用,就在2013年5月开源了。由于 React 的设计思想极其独特,属于革命性创新,性能出众,代码逻辑却非常简单。所以,越来越多的人开始关注和使用,认为它可能是将来 Web 开发的主流工具。当然,我们也在用。
数据分析与监控工具
没有数据分析与监控的团队往往不够可靠。
GrowingIO
最近才开始了解拥有传奇经历的张溪梦和他的 GrowingIO——一个网站和移动端数据分析平台。运用无埋点采集,迅速生成数据分析结果,提高运营效率,提供针对市场推广、产品体验、以及客户成功等精益化运营的分析模块。 正在用,感觉不错。
AppAdhoc
简单来说 AppAdhoc 是一家以A/B 测试为基础的数据优化平台,引入Google 全数据驱动产品优化的理念,用数据帮助开发者做产品决策,优化移动广告。也许初创团队对于 A/B Test 的需求还不大,但对于用户量到达一定程度的团队而言,A/B Test 和灰度发布对于增长有很大的意义。
Cloud Insight
一款支持包括 Windows 在内的多种操作系统、云主机、数据库、中间件监控的解决方案,如果把 Zabbix 比作 Lniux, Cloud Insight 就是早期的 Mac OX. 虽然是一款年轻的产品,但它能监控的平台已经基本满足大部分公司的运维需求了,除此之外,还支持 API 和 SDK,只要需要,就能够将业务数据与性能数据甚至其他五花八门的数据统统导入 Cloud Insight 进行集中展现。
安装部署非常方便,功能全面,容易上手,尤其适合需要节省运维人力与时间成本的小团队,当然,我们自己也在用。(笑)
设计工具
老生常谈。
Illustrator
Adobe Illustrator CC 是我们进行图形处理的主要工具。虽然 Sketch 在展示元素方面表现出色,但它的矢量软件没有 Adobe 功能强大。Logo 设计和展示主要用 Illustrator,并且通常会导入到其他工具做后续处理。
Photoshop
我们主要用 Adobe Photoshop CC 来制作逼真的模型。比如把在 Sketch 设计的用户界面截图后展示在显示器上帮助客户想象最终的产品。我们也用它来编辑图像,但是我们永远不会用 Photoshop 来设计用户界面。像 Illustrator 这样的软件适合做矢量图编辑,而 Photoshop 更适合编辑 PNG 、 JPG 和 GIF 等格式的光栅图。
InDesign
Adobe InDesign CC 是介于 Illustrator 和 Photoshop 之间的软件,它能有效处理矢量图和光栅图。它是用来给报纸或者电子书等出版物展示内容的。我们主要用 InDesign 制作幻灯片来展示品牌或者提出意见。
总结
一个好的团队,像一家精准、高效的工厂,不仅让每个人在合适的位置上发挥作用,还拥有一套完整的自动化流水线,砍掉累赘的重复性劳动,将员工从冗杂中解放出来去做更多具有创造力的事情。
Cloud Insight 集监控、管理、计算、协作、可视化于一身,帮助所有 IT 公司,减少在系统监控上的人力和时间成本投入,让运维工作更加高效、简单。想阅读更多技术文章,请访问 OneAPM 官方技术博客。
本文转自 OneAPM 官方博客