再谈 Side project

前言

我始终鼓励所有人与团队建立执行 Side project 的习惯,它可以为我们带来许多好处,在昨天的文章中,我也提到 Side project 可以是挤出时间的机会,今天再让我们来看看它还有什麽好处。

先说点敏捷

敏捷原则有几点提到团队能力相关,例如:

持续追求优越的技术与优良的设计,以强化敏捷性。
最佳的架构、需求与设计皆来自於能自我组织的团队。

并且,持续俢正也是相当重要的:

团队定期自省如何更有效率,并据之适当地调整与修正自己的行为。

那麽,有什地方可以安全的追求技术、持续超前改善、自由反省与修正呢?我认为 Side project 是个很好发挥的对象,也是让团队主动精进的机会,避免长期陷在没有成长的迭代中。

Side project

这边描述的 Side project 是一种非工作岗位必要做的,例如:我们在开发某个产品,该产品的发展就是首要任务,而其他因为兴趣而起,或观察到任何可改善的需求时,以个人或团体名义发起的小型专案。

我们需要鼓励团队成员能够从工作中发现问题,更好的是可以 Side project 形式试着解决这些问题。我们会赋予 Side project 非常高度的自由,规则由发起人制定,只要它不危反法律、公司规章与善良风俗。因为有这种自由度,成员可以在其中任意发挥,成为想法变现的一个绝佳实验场。

此外,Side project 不仅仅是由程序逻辑堆叠出来的产物,它也可以是一种教案、一种团队活动,它可以用各种的样貌展现出来。

而 Side project 具体有哪些好处呢?继续看下去。

新技能的累积

参与 Side project 的成员可以决定使用任何一种技术,可能是不同的程序语言、不同的软件框架、不同的协作开发模式,这会为团队带来各种新鲜的东西,增加个人与团体的技能丰富度,带来正面积极的变化。

由於在线的产品或专案多半有既定要满足的目标,通常无法承担这种极度新的思维,因此 Side project 是个很适当的发挥机会,尽情尝试,失败了也无妨。

经验正向回馈

在 Side project 的开发过程中,累绩的经验可以进一步回馈到正式工作当中,这无疑是一种做中学,而且又赋予了更鲜明的目标,成员会有个产出标的要去努力。

培养动手习惯

软件开发有个有趣的现象,要不是不太思考,写完才砍掉重练,不然就是疯狂思考,寸步难行。没有人规范一个 Side project 的规模究竟要多大,它甚至可以是个简短的小实验,拿这个机会验证了某个问题,留下实验记录,与大家分享,让问题不再是空谈。

从学习的角度上来看,做中学也是相当有意义的,软件人可以思考一下,自己学习 Git 的历程,难到只需要单纯看文件学吗?当然,这个动手要有效果,本身也不能是应付性质,总不能「跟世界打声招呼」就结案吧?

成果正向回馈

Side project 无论成功与否,都会带来价值,无论是过程中累积的经验、尝试过的错误,或是真的取得成果,让它作用在生活与工作当中。

以我的经验,最正向的成果回馈就是我们团队针对开发过程中遇到的困难,开发出对应的工具,以自动化或半自动化的方式大幅加快了开发过程,至今我们很难想像,若少了这些工具,那工作的样貌会是什麽样子。

多赢模式

我会这样描述 Side project,它可以提升成员的成就感、成员的自主权、增加经验的回馈、让新技术得以发展、有机会让团队运作更有效率,综观这些优势,不难发现它背後带来的「多赢」观点,不只是成员本身,团队、部门、企业也都可能因此受惠。

如何执行

除了鼓励团队成员发起,也需要在制度方面有配套措施,让成员可以安心参与。

例如:

  1. 明示成员可以利用一定比例的工作时间投入 Side project。
  2. 主管带头发起。
  3. 奖励成果。

後记

在本文,Side project 终究是个名词,如果您认为有件事情很有价值,值得以这种模式进行,那由您发起带头是更有意义的,如同前面提到的「动手」,去行动吧!

至於时间不足的问题,与面对的心态,可以参考昨天文章,要记得时间确实很容易不足,但我们如何投入与运用,都会产生不同的影响,眼光可以再放远一点,别被短暂的障碍困住了。


<<:  [Day12] JavaScript 的动态型别

>>:  Day 13 懒得想变数吗? RSpec 有提供你啦

JavaScript入门 Day04_变数宣告

嘿各位,今天要说的是 JavaScript 的变数宣告 为什麽昨天说像变魔法呢~ 因为只要使用变数宣...

从 React 开始,让你的网页material-ui起来 [Day 2] 差异性安装

如需在地端环境操作 那需要去理解 什麽是node JS 什麽是NPM 需要参照 本地安装 使用 np...

【第11天】训练模型-Keras Application重要函数

摘要 资料集预处理 1.1 ImageDataGenerator 1.2 flow_from_dir...

Day14-Vue CLI 介绍

他是Vue.js官方提供的开发工具,可以快速的建置架构,常用於制作单页应用(SPA)网站。 安装 安...

day 30 - 结语

这30天大略的纪录了平常我在开发过程会使用到的项目, 从开始选用工具到应用工具的分享, 只是我初步设...