如何在早期阶段的公司中确定技术任务的优先级?

How to prioritize technical tasks in an early stage company?

我最近以开发人员的身份加入了一家初创公司,到目前为止他们已经做了很多工作,我们将在发布之日结束,届时我们将离开隐身模式并开始 public(不是 IPO,只需启动产品)。

虽然到目前为止他们做得很好,但值得注意的是,一些好的做法没有被遵循,它们可能成为一种技术债务,但不清楚它们何时会成为一种负债,同时还有很多事情必须为发布做。

我想听听您的一些经历,以及您是否知道任何讨论公司这一时刻的文章、视频或书籍。

IMO 的方法应该是一个长期的方法。基于此,正如您所说,将来必须添加其他功能和扩展,并且您不能停止所有这些以解决在此过程中产生的所有技术债务。

一个解决方案是拥有一个专门的 tooling/infrastructure 团队,该团队能够在某种程度上与开发团队并行,以改进和优化目前存在技术债务(构建、测试、部署)以及可能在未来的某个时候,对公司内部应用的软件工程方法(软件质量门、代码合规性检查)实施某种最佳实践,应该满足不同的指标以解决一些问题技术问题并确保新添加的任何内容都不会遇到与旧功能相同的问题。

一个值得期待的好原则是在实际开始实施之前更多地思考、设计和验证一个 product/feature/technical 概念,这样所有极端情况和可能的设计错误都在实施之前得到处理实施阶段,而不是仅仅实施它然后沿途调整它(TL;DR 在工作之前多思考,所以代码可以从一开始就写得更好)。