一、MVP
MVP是Eric Ries所著《精益创业》这本书中提到的概念。MVP=Minimum Viable Product,意思是最轻量级的可行性产品。 它的目的是验证两件事:一是产品满足了用户需求;二是产品能够创造商业价值。在我的理解里MVP有两个场景可以很好的应用,一是用户不知道想要什么的情况下的MVP,二是用户知道想要什么东西,但是认知不全面情况下的MVP,如下图
在第一种场景下,客户想要一个代步工具,我们可以先给做一个滑板车,如果这就满足了用户需求,则不需继续开发,节省资源快速满足需求;在第二种场景下,用户想要一辆汽车,我们就得先把架构搭建起来,满足汽车的基本构造,如四个轮子、发动机、驾驶舱,先交付用户使用,若用户满意,则不需继续开发,若不满意,还可以继续增加内饰、空调、收音机等等增强体验的功能,这也是节省资源快速满足需求;所以MVP实质上是指利用最少的资源来得到最大的回报,这里的回报指的是经验证的认知 。
二、XP(极限编程)
XP(极限编程)的思想源自 Kent Beck和Ward Cunningham在软件项目中的合作经历。XP注重的核心是沟通、简单、反馈和勇气。因为知道计划永远赶不上变化,XP无需开发人员在软件开始初期做出很多的文档。XP提倡测试先行,为了将以后出现bug的几率降到最低。
沟通,决定软件的成与败,良好的沟通、面对面的沟通,可以有效避免事实的曲解,最终造成结果与需求不一致,与传统通过文档传递信息形成了对比;简单,简明扼要的阐述需求,简单编码实现的简单设计也是容易被团队成员做理解;反馈,收集各方对产品、对团队的反馈,以便更好的对产品进行完善,对团队存在的问题和障碍进行移除;勇气,只为今天的需求设计以及编码,不要考虑明天,避免陷入其它问题的泥潭。