软件工程

定制软件开发,意味着围绕你的业务规则来构建系统,而不是让业务去迁就一款买来的产品。当你所运行的流程正是你的竞争力所在时,它值得做;而当一款现成工具就能解决问题时,它就该避免。在报价之前,我们会先告诉你属于哪一种情况。

我们做什么样的系统

我们大部分工作是业务支撑类系统——公司赖以运转的软件,而非用来对外销售的软件,尽管产品类项目我们也做。

  • Web 应用与内部平台,通常采用 TypeScript 搭配 React 或 Next.js。
  • 使用 Node.js、Python 或 Go 构建的后端服务与 API,底层配 PostgreSQL。
  • 当浏览器确实不够用时,开发移动端应用。
  • 数据管道与报表系统——在报表本身就是产品的场景下。

自建还是采购

诚实的判断标准是:这个流程究竟是差异化优势,还是纯粹的成本。如果竞争对手花钱买一套现成能力就能达到同样水平,那就买。什么时候该自建?当规则与你的取胜方式紧密绑定时,当与既有系统的集成才是难点时,或者当你这个规模下的授权费用已经超过自建成本时。

我们如何让它保持可维护

定制软件昂贵的部分不是写出来,而是长期与它共处。我们构建的一切都以「另一支团队能接手」为前提来组织。

  • 自动化测试与功能同步编写,而不是事后补做。
  • 架构决策连同其理由一并记录,让日后的改动有据可依。
  • 除非有明确理由,否则一律选择平淡、常规的方案。
  • 从第一次发布起就实现部署自动化,让上线永远不依赖某一个人。

常见问题

你们怎么估算一个开发项目?
在需求梳理之后,而不是之前。没人看过你的约束条件就给出的估算,只是一个附了数字的猜测。需求梳理周期短、单独计费,产出一份计划——即使你想拿着它去找别家,也完全可以。
你们能在我们现有系统上工作吗?
可以,而且我们大部分工作正是如此。全新起步的项目反而是少数。我们会先读代码、读基础设施,然后才提方案。
你们使用哪些技术?
主要是 TypeScript、Node.js、React 与 Next.js、Python、Go、PostgreSQL、Kubernetes 与 AWS。我们从你的团队能够维护的技术里挑,而不是从最新的技术里挑。

告诉我们你在做什么

简单描述一下这套系统,以及你正卡在哪个约束上。我们会在一个工作日内回复。

预约咨询