一个大型项目是风险和不确定性的堡垒。将其分解为小型、可独立交付的部分,使其可规划、可并行化、可降低风险。技巧在于分片的方式要使每个部分都能交付价值并尽早暴露风险。
如何分片
text
✓ Slice VERTICALLY — thin end-to-end features, not horizontal layers
✓ Ship the RISKIEST/most uncertain part early — learn before you commit
✓ Make each slice INDEPENDENTLY valuable and shippable if possible
✓ Keep slices SMALL — days, not months
✓ Sequence so the team can work in PARALLEL
✓ Define DONE for each (tested, deployed, not just "code written")
纵向优于横向
不要"先做所有后端,再做所有前端",这样几周内你都拿不出可演示的东西,最后才集成(此时一切都会崩溃)。反之,端到端地完整构建一个瘦功能,再构建下一个。你持续交付和学习。
一个具体例子
对于"构建报表系统",第一个分片不是"数据库层"。而是"一个报表、真实数据、在屏幕上、端到端"。它证明了整个管道有效,并在第一周让用户可以给出反馈。
一个陷阱
分片过细会产生协调开销;过粗则回到大爆炸式风险。目标是每个分片能在数天内由一个人完成。
