业务开发是前端驱动后端?亦或是后端提供服务给前端?

在日常开发中,不同的组织结构喜欢采用不同的开发模式。基本上可以分为三大类:

团队中到底选择哪种模式?能带来哪些便利/弊端?有幸这三种方式我都尝试过,也想借此分享点自己的收获.

在基于看板的敏捷开发活动中 每一个故事卡从出生起直到部署到生产都是为了交付业务价值而存在的而业务价值往往通过交互界面而体现由代码逻辑作为支撑 所以我有理由认为 Outside-In 是业务开发中性价比最高的开发方式.原因如下:

看到一篇文章提到 Inside-out 一个很好的例子是苹果公司 它开发的产品首先回答了为什么并能给用户一定指导作用.

苹果并没有说一个企业有一个好的产品和好的设计——用这些话来销售它——而是从圈子的中心开始,把它的本质放在最前面。 这家公司一直很明确地说,它的目标是挑战现状,思考不同。 结果是精心设计的产品,易于使用,用户友好的界面。 根据 Simon Sinek 的说法,这种逻辑让人们购买“因为”苹果生产它,而不是苹果生产的“什么”。 我们知道这种策略给苹果带来了很大的成功,但这并不一定意味着由外而内的方法无效。

但其实文章说的 Inside-out 和我说的不一样 我说的是具体的日常开发 而文章提到的更是从产品的角度. 所以从日常开发的角度 还有一种是 Parallel 的方式 就是团队成员分为两组 同时开发前端和后端 通过高频的沟通来确保数据服务的正确性 且不需要花费额外的时间和精力去学习自己不熟悉的领域而缺点也同样明显需要频繁的修改保证前端后端交互的正确性团队的能力建设受限可能有深度但是缺乏广度团队的能力弹性不能保证.而且作为软件工程师理解全部的生态很重要不过那是另一个话题了.