Page 1 of 1

通过内部初创公司提高机构的敏捷性

Posted: Tue Dec 10, 2024 10:11 am
by jibag32316
我们谈论创新以及保持企业与时俱进的重要性,但有时说起来容易做起来难。在最近在魁北克举行的敏捷之旅期间,我和我的同事 Francis Côté 解释了 Spektrum 初创公司的创建如何使该机构在技术上变得更加敏捷。

辞去工作,留在办公室
首先,我们的对话者总是惊讶地发现,在 Spektrum,你可以 拉脱维亚电话号码数据 辞掉工作去开发产品,同时得到公司的支持。由于人类的愿望不断发展,该机构的联合创始人不想将员工锁在盒子里。这就是Signsquid、Snipcart和Userboat的诞生,这是我去年开发的会员管理软件。这些举措是我们 Apollo13 创业计划“内部创业”组成部分的起源。

无需客户承担任何实验费用
通过使用新兴实践,每个项目都增强了 Spektrum 的技术知识。除了财务方面之外,这是我们所希望的最佳投资回报。团队甚至开始将项目开发方式转变为服务模式。细微差别很重要:在机构环境中,以创新为目的的实验不应该在客户预算的范围内进行。这是不健康和不尊重的。一般来说,客户会根据代理机构的专业知识向代理机构付费,简而言之,是为了做其最了解的事情(除非是研发领域)。在内部开发产品并成为我们自己的客户,拥有自己的预算和时间表,更有利于评估和测试新方法。

技术影响:让我们来谈谈极客
警告:通过这段话,我可能会让我们有抱负的极客在他的普及专栏中陷入困境!我们的产品方法使我们能够在很短的时间内从多页面应用程序和由 CMS 和专用服务器支持的展示站点的传统世界转向通过以下方式连接的 单页 Web 应用程序方法(单页应用程序): API直接在云端提供服务。我们已经能够将 Vue.js 和无服务器架构等技术融入到我们的日常生活中。此外,我们还增加了对 Microsoft Azure 和 Amazon Web Services 的了解,这些服务因其所达到的质量和最低的运营成本而具有不可估量的价值。

采取手段


Image


我们是如何实现内部开发产品的愿望的?首先,你必须能够完全投入到该项目中。对于 Userboat,我的日程安排已从该机构的所有客户中卸载。为了使行动成为可能,多项任务被推迟或搁置。我们还说服了一位客户与我们一起冒险,因为我们的想法完全满足了他们的需求。与创建定制系统相比,成本要低得多,他不仅能够在生活中获得客户服务,还能够为自己配备一个适合自己需求的平台。如果 Userboat 关门,维护任务将落到 Spektrum 身上。

四卢比规则
我们可以用良好技术选择的四个 R来总结我们的决策过程:库存、合理化、钻探和传播。该系统指导技术更新过程,以确保在不同情况下做出正确的选择。

1)列表:了解您的选择

这一切都始于明确定义我们的需求。鉴于我们处于 MVP(最小可行产品)的背景下,也就是说我们可以开发出能为客户带来价值的最小产品,我们必须尽快交付平台,同时最大限度地降低成本。在这样的背景下,出现了一些不确定因素,例如:

功能的实现类似于 Mailchimp 等大公司提供的功能;
根据客户的实际情况而变化极大的数据模式(类似于 Salesforce);
无论客户是谁,都可以提供显着的性能,也就是说,如果 100 万人愿意,单个客户可以向他们发送电子邮件活动。
因此,为了开发这样的工具,我们需要一个可以轻松使用的可扩展解决方案。由于 Mailchimp 无法通过打响指来取代,因此除了无缝集成解决方案之外,我们还需要一种可靠的策略来应对不同的挑战,例如管理电子邮件活动、无需自己管理服务器即可发送、退回邮件、取消订阅和垃圾邮件进入平台仪表板。

为了满足这些条件,提出了一些选择。显然,我们无法从头到尾开发所有这些。在我们的研究过程中,我们瞄准了两个有趣的工具:Sendy和MoonMail。

#geektalk 警报也在这里。数据库管理系统的选择始终是争论的焦点。存储结构化 (SQL) 和非结构化 (NoSQL) 数据之间永恒的争论引发了人们的热情,不幸的是,做出错误的选择可能会产生严重的后果。我们的需求是非标准的,是结构化和非结构化的混合体。那么该怎么做呢?同一应用程序有两个数据库?以关系形式存储所有内容并承担后果?实现变体有多种,潜在的工具甚至更多(SQL Server、PostgreSQL、RavenDB 或 MongoDb)。

简而言之,上市意味着了解我们的选择。为此,您必须密切关注新的发展并了解其附加价值。理想情况下,上市 是一个持续的行动。这样,当出现新的需求时,我们脑海中就会有一个我们力所能及的工具目录。

2)合理化:关键时刻

一旦我们知道了可以解决问题的解决方案,就该权衡利弊了。小心不要陷入流行语驱动开发的陷阱,在这种情况下,我们确定必须自动使用某个工具,因为它在文章中被描述为必不可少的。在做出这些选择之前,需要问自己以下一些问题。

这对许多人来说是理所当然的事情,但要问自己的第一个问题是:这个工具能解决我的问题吗?它是为了满足我的需求而设计的吗?很多时候,我们使用某些东西只是因为“其他人都使用它”。
这个工具的源代码是开源的吗?显然,这始终是一个优点,因为能够依靠强大而活跃的开发人员社区总是有益的。
是否有一个经过深思熟虑的单元测试套件涵盖了大部分源代码?如果答案是否定的,请不惜一切代价避免使用该工具。
最后,当解决方案围绕付费软件(SAAS)时,自己编码还是购买在经济上更有利?当一项服务提供广泛的功能时,是否值得付费只使用您需要的功能?
在评估了我们自己开发这个东西的可能性(太长、太昂贵且难以设置)以及连接到像 Sendy 这样的软件(没有单元测试并且短期内不可能将该工具集成到我们现有的仪表板中)的可能性之后,我们得出的结论是,Moonmail 是完美的解决方案,因为它提供了大部分必要的功能,并且可以作为 API 提供。

至于数据库,选择并不困难。我们选择 PostgreSQL,因为它允许以非预定义格式存储和查询信息。我们该机构通常使用的工具 SQL Server 强制数据符合某种“模式”,这实际上将其从决赛名单中删除。最后,由于 MongoDB 在旧项目上对我们耍了一些花招,它不允许我们有效地交叉引用结果,所以这个选项很快就被排除了。

从财务角度来看,合理化阶段是做出正确选择并在有疑问时停止的关键时刻。技术选择可能不是一个好的选择。在那之前,投入的时间只会用于研究。所以没什么太贵的。如果错误的选择导致流程进一步恶化,那么代价将是高昂的。