产品创建

Frontend SELF ZH
第 48 级 , 课程 0
可用

10.1 “人们不再出生,他们被培养”

好吧,既然你们还在这,那就让我们继续吧。“我会向你展示兔子洞有多深”(引用)

让我来告诉你们产品开发的过程是如何进行的。我们将从最高的全局层面走到最底层——写代码。我想你们会有一些有趣的发现……

现代IT产品不再是从头写出来的:它们是被创造出来的。它们是从库、框架、第三方程序和产品中拼凑而成的,有时甚至使用远程付费或免费的互联网服务。

现代产品就是一个技术、服务、解决方案和流程的动物园。部分工作由人来完成,部分自动化,还有90%都是在数据中心的云服务中完成的。世界已经不同于从前了。

但首先你们会注意到的是不断的变化。你们不再写程序:你们在对它们进行修改

10.2 不断的变化

你们会去上班,加入一个已经有20人的团队,他们在产品上已经工作了5年。现在用户可以使用的是第七版。而你的任务是对这个产品进行修改。改动要小,以免吓跑现在的活跃用户。

这并不容易,因为产品已经在运行了。它有客户,他们付钱。所以不能破坏任何东西。对一个已经工作的产品进行修改比新产品要复杂几倍。为此有一些特殊的标准、协议、迁移和工具。马上就想起一个笑话:

两个老朋友相遇:一个成了机械师,另一个是外科医生……每个人都有自己的生活、烦恼、快乐……他们相互诉说一切,然后谈到工资。机械师说:“我一个月拿30,还挺满意的,你呢?”,心脏外科医生说:“我每次手术大约10万”……这时机械师来了兴趣:“奇怪,为什么差这么多,似乎我们做的事情差不多——换零件”,医生说:“来看看车,发动它”……机械师启动了车,医生打开引擎盖对机械师说:“看,看到引擎在运转了吗?换它! :)”

即使发生了奇迹,你们团队整整一年都是从头写产品,之后才发布,接下来会发生什么?

如果你的产品成功了,产品的拥有者会想要发展它。发布新版本,添加一些功能。或者至少进行几个实验。你知道接下来会是什么吗?变化。

10.3 产品的价值

从现代产品开发的角度看,只有已经发布的代码和用户正在使用的功能才有价值。如果你写的代码存在于某个地方,正在运行,但没有人使用它,它的价值几乎为零。因此所有代码都应该尽早进入生产环境

你的代码应该经过以下阶段:

  • 你写了它并确保它能运行
  • 你的TeamLead审查了它并将其添加到Git的主分支中
  • 程序构建期间的测试显示你没有破坏任何重要的东西
  • 集成测试显示产品正常工作
  • 测试人员检查了代码并批准发布
  • 然后需要构建产品的新版本并在服务器上发布
  • 需要将产品的新版本打包到Docker Images中并发布
  • 可能需要运行迁移脚本并对数据库或其他第三方解决方案进行更改
  • 然后需要收集服务器上的日志,以确保一切按预期工作
  • 在紧急情况下,如果你破坏了什么,需要回滚构建,恢复数据库的先前状态,并且不要丢失用户在使用不稳定版本的产品时所做的操作。

在大多数公司,这些任务现在已经解决:建立了新的流程,雇佣了专门的人,引入了特殊的安全协议和质量控制标准。

公司越大,从代码编写到它进入生产并开始带来收益的时间就越短。

在大多数公司,代码需要两周才能完成这些步骤,但有些公司每周甚至每天发布一次。特别优秀的是,一天多次发布。

写好的代码并不值钱。只有在生产中运行的代码才能带来价值。

评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION