上星期,我们的产品开发团队举办了有史以来首次黑客马拉松!我们觉得应该从现有项目的工作中休息一下,花两天时间进行一场以披萨主题的高风险残酷竞赛,也就是黑客马拉松。对于不了解这个术语的人士来说,黑客马拉松指的就是团队在短时间内从零开始开发一个项目的竞赛。就我们而言,我们将把我们的四人开发团队分成两对,在两天内进行构建两款新产品的竞赛。
为了保证公正公平,我们决定做一些我们以前从未做过的事情,开发全新的创新型 Trello 插件。尽管我们是专门为 Atlassian 应用程序制作插件的团队,但 Trello 是我们从未涉足过的 Atlassian 产品,所以黑客马拉松是尝试新技巧和培养技能的绝佳机会。
第 0 天
在行动开始之前,我们对团队进行了分组,并针对潜在的新产品理念,当然还有队伍名称,进行了头脑风暴。我作为 Automation Consultants 的最新实习生,与我们的产品开发部门主管 Jack 一组,形成了火箭队。但是,我们没有构建复杂的装置来窃取 Pokémon,而是构建了一个系统,使得 Trello 中的子任务层次结构成为可能。已经有其他插件可以做到这一点,但它们都缺乏能让我们的设计成为市场上最佳设计的杀手级功能,即显示所有层次结构的树形图并通过拖放界面进行修改。
在这次开发决战中,我们的对手是 08 MS 队,这是我们的软件开发人员 Himal 和 Jeff 组成的代码吊索二人组。他们的插件 Approvals for Trello 基于我们现有的一种成功的产品 Approvals for Confluence。凭借经过考验和测试的设计来激发灵感,知道这个概念已经成功给了我们很大的信心,他们从一开始就处于有利地位,所以我们知道我们必须明智地安排这两天的时间,以最大程度提高我们的生产效率并打造优质的插件。
第 1 天
星期四上午,我们分成了两队,开始设计我们决定的产品并对其进行编程。我们陷入困境之后,很快意识到 Trello 是一个非常好的开发平台。它使用修改版的 Socket.io,意味着它可以通过网络快速传播《变更内容,》一个浏览器上的更改和另一个浏览器上显示的变更之间的时间通常不到一秒,它基于增量的网络连接意味着它只发送对象中的《变更》,而不是再次重新发送整个对象。大量预先构建的 UI 组件为我们提供了快速的开发速度,这对于黑客马拉松来说绝对是至关重要的,但是当我们需要更精细的控件时,我们也可以选择通过 iframe 从头开始编写 UI 组件。
从一开始,事情进展得非常快。只需几分钟即可设置菜单,使用的样板代码极少,让我们有足够的时间来处理新鲜的特性。到第一天结束时,我们已经完成了所有的 UI,树结构也开始形成。但我们在比赛中处于领先。08 MS 队干脆将他们的审批系统分为两部分,每个人都以机器般的速度和效率对自己的那一半进行编码。
第 2 天
到第二天,我们都掌握了 Trello 开发的窍门,并且或多或少地知道一切是如何运作的。这一天,我们为构建的应用框架增加了很多内容,并将所有构建模块结合在一起,形成了我们的最终产品!然后,需要在所说的构建模块中消灭恼人的漏洞,这些漏洞有时会导致整个插件无法使用。又一天紧张的无休止编码结束之后,我们的插件完成了,但我们的大脑已经麻木。终于可以庆祝黑客马拉松的结束了,我们一直在期待这一刻的到来!
我们前往 Laser Quest 开始一种新的竞赛,但是这次,我们将作为一个团队,与一群拥有美味面包店主题用户名的玩家进行对抗。最开始我们的沟通有些不畅,但是我们的开发团队最终成了死神战队,对于一个在大多数情况下已经多年未玩过的团队来说,这是一个相当令人生畏的名称。
黑客马拉松使我们在精神上筋疲力竭,激光标签使我们在身体上精疲力尽。之后,我们改变了节奏,进行了一场较轻松(但同样具有竞争性)的保龄球比赛。这时候应该聊聊天、反思一下过去两天的情况,以及我们对 Trello 开发和黑客马拉松总体上有什么想法。我们都发现 Trello 的开发过程很愉快,并且非常享受整个活动。我敢肯定这不会是 Automation Consultants 的最后一次黑客马拉松。
第 3 天
在我们好好休息之后于周一回去工作时,我们为公司的其他人准备了演示文稿,他们将对获胜者作出评判。尽管在演示之前的最后一分钟,我们修复了令人紧张的漏洞,但一切进展顺利。我们的同事对这两款产品都给予了积极的评价。我们对其进行了投票,经过对我们的最终产品进行几天的审议和测试,全体一致投票通过,我们的 Hierarchy for Trello 插件获胜!虽然 Approvals for Trello 是一款更为雄心勃勃的应用,但 Hierarchy for Trello 的设计用户友好且直观,对我们的投票者最有吸引力,确保我们赢得首次黑客马拉松的胜利。
我们在如此短的时间内从零开始制作新应用,这让我们获得了很多乐趣,尽管 Hierarchy for Trello 是获胜产品,但我们认为两者都值得改进并向公众发布。我们将在 8 月发布 Hierarchy for Trello,不久之后会发布 Approvals for Trello,所以请密切关注即将发布的新版本!
Hierarchy for Trello
获胜的应用主要因其直观的树形界面而受到欢迎。这款插件非常容易理解,无需任何设置即可使用,因而用途非常广泛,对大多数项目中的大多数用户都很有用。我们从投票者那里收到的反馈都是积极的,人们说它既简单又专业,感觉就像一个完整的产品。在发布之前,插件的外观和功能仍需要作出一些改进,但我们很高兴能在仅仅两天的开发后就收到这样的反响!
Approvals for Trello
虽然 Approvals 是一款强大的插件,但因使用起来相当复杂而受到一些批评。作为最初为 Confluence 设计的概念,这是一个比较注重高强度业务的系统。投票者认为。对于普通 Trello 用户来说,就复杂性而言有点矫枉过正,他们的用例通常更简单。我们清楚地听到了这种反馈,并将增加对这些简单用例的支持,对于不需要该插件全部功能的用户大幅减少设置。有了这些针对基本用户的改进,并且已经拥有更高级用户所需的深层功能,我们对 Approvals 在市场上的表现持乐观态度!
直到下次黑客马拉松
黑客马拉松对于我们所有人来说都是很好的体验。我们发现,我们非常有动力在如此短的时间内从头到尾完成一个全新的项目。放下我们管理大型项目和维护当前产品的日常职责,去如此快速地开发某些内容,在数小时而不是几天内完成工作,这非常令人兴奋。当任务花费的时间多于或少于预期时,需要开展更密切的团队合作,这涉及到如何以最佳方式划分问题和重新分配工作量,带来了有趣的挑战。让整个公司都参与投票是一个很好的方法,它使得黑客马拉松成为一项全公司的活动,而不是完全委托给开发团队。
下一次,我们希望能找到更多的方式,让公司的其他人都参与进来。也许通过让其他部门的参与者与我们竞争,我们可以在管理更大的团队时遇到更多有趣的挑战,当然最终还有更广泛的产品可供选择,以便取得进一步发展。对于我们公司、我们团队和我们每个人来说,这都是一次很棒的活动,我认为,我们在享受乐趣的同时通过这次经历获得了一些有用的技能。我们肯定会再次这样做。