侧边栏壁纸
  • 累计撰写 386 篇文章
  • 累计创建 1,025 个标签
  • 累计收到 16,613 条评论
标签搜索
隐藏侧边栏

敏捷和精益开发,玩转MVP不要错过这四个案例

thinkin
2020-05-22 / 0 评论 / 1 点赞 / 1,186 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
本文最后更新于2020-05-22,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
译者语:精益创业的思想已经广为流传,MVP也已成为一个热门术语,但是MVP (Minimum Viable Product,最小可行产品) 这个术语本身却难以把握。到底什么是最小可行产品?仁者见仁、智者见智,这就造成了很多的困惑和担忧。在本文中,Henrik以4个真实而生动的产品开发案例揭示了MVP的本质——最早可体验的/可使用的/令人喜爱的产品。
原文作者:Henrik Kniberg
译者:李洁(Jerry Li)    
审校:廖靖斌(Eric  Liao)
原文链接:http://blog.crisp.se/2016/01/25/henrikkniberg/making-sense-of-mvp
译文链接:http://www.scrumcn.com/agile/scrum/19067.html

几年前,我画了这张图,并开始在介绍敏捷和精益开发时使用它:

图片1

从那时起,这张图就像病毒一样传播!到处都出现了,在文章中出现,在演讲中出现,甚至在书中出现(Jeff Patton的《用户故事地图》中就出现了——顺便说一下,这是本好书)。很多人告诉我,这张图确实抓住了迭代和增量开发、精益创业以及MVP(最小可行产品)之类的本质。然而也存在一些误解——如果你抛开原始语境而只看这张图的话,自然就会出现这种情况。还有些人批评说它把事情简化过头了,这也是对的。这张图只是一个隐喻而已。它并不是在讲述一个真实的汽车开发过程,而是说明普通的产品开发过程,只是用汽车打比方而已。

不管怎样,既然有了这么多不同的声音,我想是时候对这张图背后的含义做个解释了。

第一个例子——“Not Like This”(“不要这样做”这张图)

下面这行图显示了,对迭代和增量产品开发(又称为敏捷)的一个常见误解。

图片2

许多项目失败很大程度上是因为他们做了大爆炸交付(直到100%完成了才构建产品并在项目结束时交付)。我不记得我见过多少因为这个原因而失败的项目(后面有些例子)。然而,当敏捷开发被介绍为一种替代方案时,人们有时候却难以接受半成品时就交付的理念——谁会想要半台汽车呢?设想一下这样的场景:

图片3

“先生,这是我们首次迭代的产物——一只前轮。您觉得怎么样?”

客户会像这样回答:“见鬼,我订的是整台车,而你却只给我个轮胎!这东西我能用来干嘛?”

(顺便说一声,我在这里使用“客户”这个术语,作为一个通用术语,用于代表产品经理、产品负责人以及早期用户之类的人员。)

虽然每次交付的产品越来越接近于完成,但是客户仍然非常生气,因为他得到的车并不完整,仍然不能真正使用。

图片4

最后,当产品完成时,客户会像这样说:“最后还是谢谢你!你为什么不一开始就给我这个,而不是给我那些无用的垃圾?”

图片5

在这个例子中,客户对最终产品感到满意,因为这就是他所订购的产品。而在现实中,这通常不成立。时间已经过去很久了,但却没有经过任何实际的用户体验,所以产品中很可能充斥着人们基于对用户需求的错误假设而产生的设计缺陷。 因此,右边的那张笑脸只是极其理想的情况。

不管怎样,第一行代表了“劣质的敏捷开发”。从技术上看,它可能是增量和迭代交付的,但由于没有形成真正的反馈环,使得产品开发变得极具风险——并且也绝对不是敏捷开发。

因此,给出了“Not Like This”(不要这样做)这个标题

第二个例子——“Like This”(“要这样做”这张图)

现在看第二行。

图片6

在这里,我们采用了非常不同的方法。我们都开始于同样的背景——客户订购了一台汽车。但这一次我们并非只构建一台汽车。取而代之的是,我们聚焦于客户想要满足的潜在需求。原来,客户的潜在需求是“我需要更快地从A到达B”,而汽车只是一个可能的解决方案而已。

记住,汽车只是一个隐喻,要考虑任何一种客户定制的产品开发情况。

因此,团队要提供的是他们能够想到的、能够让客户体验、并给予反馈的最小产品。有些人可能会称其为MVP(最小可行产品),不过我更喜欢称其为最早可体验的产品(这种说法更加具体)。

图片7

可以根据你自己的喜好来称呼MVP(甚至有些人会基于这个隐喻,称他们的第一个发布版本为“滑板版本”。)

客户不太可能会对这个产品感到满意。这东西好像与他订购的汽车没有半毛钱关系。但是不要紧!这就是重点——我们并不试图让客户在此时就感到满意。我们可能会让少数早期用户感到满意,但我们此时的主要目标只是学习。理论上,团队会事先向客户解释清楚,因此客户也不会太失望。

然而,相对于在第一个例子场景中团队交付的前轮,滑板是一个实际能用的东西,能够帮助客户从A到达B。虽然帮助不大,但聊胜于无。因此我们会告诉客户:“别担心,项目还没有结束,这只是第一个迭代而已。 我们仍然致力于构建一台汽车,但同时请试用并向我们提供反馈”。心思很大,但还得以小功能的可行增量来交付。

我们可能会学习到一些令人惊讶的事情。例如我们可以假象这种场景:客户说他不喜欢滑板,我们问为什么。他说:“我讨厌这个颜色。”我们这样回答:“嗯…,颜色吗?就这些?”客户说:“是的,换成蓝色!除此之外都很好!”你刚刚节省一大笔钱,因为不用再去构建一台汽车!这种可能性不太大,但谁敢肯定一定不会发生呢?

关键问题是“什么是我们能学习得最快和最便宜的方式?”。我们能否交付甚至比交付滑板还早的东西呢?公共汽车票怎么样?

图片8

这有助于解决客户的问题吗?也许能,也许不能,但通过把东西交到真实客户的手里,我们绝对能够学习到什么。精益创业提供了一个非常棒的模型。它的基础是:列出你对用户的假设,然后按部就班地将其证实或者证伪。

你不用让所有用户体验产品,甚至你也不用为了体验什么而特地构建一个产品。与什么都不做相比较,就算只找一个用户进行原型体验都能让你学到更多

但是没关系,我们回到滑板的例子。

在办公室里玩了一圈后,客户说:“不错,有点意思,能让我更快地到达咖啡机边上。但是不太稳,我太容易掉下来了。”

因此,下一次迭代我们会试图解决这个问题,或者至少进一步研究这个问题。

图片9

现在,客户能够踩着滑板在办公室转悠,而且不会再掉下来!

客户满意了吗?未必满意,他可能还是有点想要那台车。但在这期间,他实际上正在使用产品,并给予我们反馈。他最大的痛点是难以走得更远点。因此,下次发布的产品会变成类似于自行车的东西。

图片10

现在,客户能把活动范围扩大的园区了。Yiihaaa!

在这个过程中,我们学习到一些新的东西:客户喜欢呼吸新鲜空气。客户是在一个园区,并且其交通主要是在大楼之间转悠。

结果可能自行车是比原先设想的汽车更好的产品。事实上,在体验这个产品时,我们可能会发现,对于汽车来说路太窄了。我们刚刚替客户节省了大量的时间和金钱,并以更短的时间提供给更好的产品!

现在,你可能会想:“但我们不是应该通过前期的客户背景和需求分析来知道那些吗?”说得好。但在我见过的大多数现实生活中的产品开发场景中,无论前面你做多少分析当把第一个发布版本交到真实用户手中时,都会感到惊讶,并且你的很多假设最终都错得离谱。

所以,没错,要提前做一些分析,在开发前要尽可能发掘客户需求。但不要花太多的时间,也不要太相信分析结果 –取而代之的是要开始开发原型和发布版本,那才是真正的学习时间。

无论如何,回到故事。也许客户想要更多特性。有时他需要去另一个城市,而骑自行车实在太慢和太累。因此下一个迭代,我们增加了一个引擎。

图片11

这种模式特别适合于软件,因为软件是…嗯..“软的”,你可以随意“改变”软件产品。相对来说,硬件基本上每次都需要重新构建。然而,即使是在硬件项目,通过提供原型并观察和学习客户如何使用您的产品,仍然能得到巨大的好处。只是迭代会要长一点(一般是几个月而不是几周)。就算是实际的汽车公司,如丰田和特斯拉,在生产一款全新型号的汽车前,也会制作大量的原型

(例如草图,3维模型,同尺寸粘土模型,等等)。

那么现在呢?再次,客户可能会对摩托车感到满意。我们可能会提前结束这个项目。大多数产品都充满了复杂且没用的功能。迭代方法真的是一种能够减少功能的方式,或是一种找到最简单和最便宜的客户问题解决方式的方法。尽量接近完美。很有点禅理。

或者,再次,客户可能会选择继续,以及是否修改需求。事实上,有可能我们最终得到的,是与最初设想的一模一样的汽车。然而,更可能的是,我们在过程中获得了重要的见解,并最终结果会略有不同,比如下面这样的汽车:

图片12

客户会感到喜出望外!为什么?因为我们在过程中了解到他喜欢呼吸新鲜空气,所以我们最后做了一个调整。 他最终确实得到了汽车——但却是比原计划更好的汽车!

因此,让我们做个回顾。

什么是你的滑板版本?

上面那个场景(交付一个前轮)太差劲了,因为我们不断交付的是客户根本不能用的东西。如果你了解正在做的东西——你的产品没什么复杂度和风险,或许之前你已经做了几百次同类产品——那么就去做吧,直接上大爆炸方式,构建产品并在完成时交付。

然而,我见过的大多数产品开发工作都极具复杂和风险,而大爆炸方式往往只会导致巨大而昂贵的失败。所以,问题的关键是:“什么是你的滑板版本

在产品开发中,你要做的第一件事(在描述完你要为谁解决什么问题之后)就是识别出你的滑板等价物。考虑把滑板作为最小的可以交到真实用户手中并获得真实反馈的最小产品的隐喻或者如果隐喻效果更好,也可以使用“公共汽车票”。

这将给予你急需的反馈环,并让你和客户一起来控制项目-你可以进行学习和作出改变,而非只是一味地遵循计划和希望做到最好的。

让我来看一些现实生活中的例子。

第1个例子:Spotify音乐播放器

“有超过7500万用户,很难让人记得什么时候不用Spotify。但有时会有。当我们琢磨如何才能得到新的CD的时候,当我们在Napster上盗版音乐的时候,当我们被迫在iTunes以2美元每首的价格购买歌曲的时候,来使用Spotify吧。” - Tech Crunch

现在的Spotify是一款极其梦幻的产品 。但它并不是一开始就这样的。我过去很幸运能够很早就参与到这个令人惊叹的历程中(现在仍是)。

图片13

Spotify启动于2006年,产品建立在一些关键的假设上——人们更喜欢流式音乐(而非下载到本地),唱片公司和艺术家们都愿意让人们合法地收听流式音乐,并且快速、稳定的流媒体在技术上是可行的。请注意,这是在2006年,听流式音乐(类似于Real Player)的体验仍然非常糟糕的,而对音乐进行盗版复制也几乎是常态。技术上的挑战是:“是否有可能制作这样一个客户端,当你按下播放按钮时,立刻就能播放流音乐?是否有可能摆脱那个可恶的“缓冲”进度条?”。

起点并不意味着不可以有大抱负这里是早期他们心目中的一篇草稿:

图片14

但开发者们并没有花几年去构建一款完整产品,然后再去确认假设是否仍然成立;而基本上只是坐下来建立一个技术原型,把时间花在任何便携式电脑上播放不流畅的音乐上,开始进行各种试验以找到实现快速而稳定播放的方法。驱动的度量指标是:“从按播放键到听到音乐要消耗多少微秒”。播放应该是非常即时的,并且持续播放应该流畅无停顿。

“当别人不关注的时候,我们却花了巨量的时间来专门处理延时问题;因为我们有着该死的癖好——想让你感觉就像是把全世界所有的音乐都装进了你的硬盘。专注于微小的细节有时候却能够产生巨大的差异。我认为,对最小可行产品概念的最大误解是在MVP的V上”。 - Daniel Ek,联合创始人兼首席执行官

一旦有什么像样的东西,他们就会开始在自己、家庭和朋友中进行体验。

图片15

初始版本也不可能发布给更广泛的受众,因为它完全未经打磨,并且除了能够查找和播放少数硬编码音乐外,基本没有什么其他特性,也没有任何合法协议或者经济模式。这就是他们的滑板版本。

但他们厚脸皮地把滑板版本交到了真实用户——朋友和家人们——的手中,并且快速得到了他们需要的答案。是的,在技术上是可行性。并且,是的,人们非常喜欢这个产品(或更喜欢修改后的产品)!假设得到了验证!这种可运行的原型帮助说服了唱片公司和投资人,其他的事情就众所周知了。

2个例子:Minecraft游戏

图片16

Minecraft是在游戏开发史上最成功的游戏之一,如果考虑开发成本就更是如此。Minecraft也是尽早发布和频繁发布理念的最极端例子之一。只经过了一个人的6天编码,就制作和公开发布了第一个版本。第一个版本基本上干不了什么事情——基本上它就是一个丑陋的块状3D景观,你可以把方块挖出来,放在其他地方,去建造粗糙的建筑。

图片17

那就是滑板版本。

然而用户却被强烈吸引住了(大部分开发者与用户间的通信都是通过Twitter进行的,相当有趣)。早期的用户中就有我和我的四个孩子。仅在第一年里,就有超过一百个版本被制作和发布。游戏开发至始至终都在寻找玩点(在一些游戏公司,我曾在工作中使用术语“玩点的定义(Definition of Fun)”来替代“完成的定义(Definition of Done)”),而寻找玩点的最好方法就是找真人真地玩游戏–在本案例中,竟然有数千名真人花钱来试玩早期评估版本,因此他们也有动机去帮助改进游戏。

渐渐地,围绕这款游戏,形成了一个小小的开发团队(实际上大多数情况下只有2个人),而这款游戏在全世界则成为了一个大热门。我想我还没碰到过任何不玩Minecraft的孩子。并且去年(译者补充:是2014年11月)这款游戏(嗯,基于这款游戏,成立了一家公司)被微软公司以25亿美元的价格收购。太惊人。

3个例子:大政府项目

大约2010年,为了能让警察把时间更多的花在现场而非警局,瑞典警方启动了一项重大举措——PUST(polisens utrednings STöD)。这是一个非常吸引人的项目,我作为教练参与,并写了一本关于我们做了什么以及学习到什么的书(《Lean from the Trenches》)。

图片18

产品的设计理念是在警车中配置便携式电脑,警察能够通过定制软件实时登录到所需的系统,例如在询问嫌犯的时候(这时候还属于平板电脑以前的时代)

过去他们曾试图建立类似的系统,但都不幸地失败了,主要是因为采用了大爆炸思维。他们告诉我,之前的一次尝试,从开始开发到发布首个版本,一共花了7年时间。七年!到发布的时候,当然什么都变了,所以这个项目彻底失败了。因此这次他们想换种方法来做。

这个60人的项目(后来被称为“PUST Java”)获得了惊人的成功,尤其是这还是一个大政府项目(它甚至在CIO奖项“年度项目”的评选中得到第二名)。这个项目成功的最主要因素之一,就是他们没有试图一次构建整个产品——他们把这个庞然大物从两个维度进行了拆分:

  • 通过地区拆分。我们不需要一次发布就覆盖瑞典的所有地区,我们可以从只覆盖一个地区开始。
  • 通过犯罪类型拆分。开始我们不需要支持所有的犯罪类型,我们可以从只支持1-2种犯罪类型开始。
图片19

第一个版本,1.0,就是他们的滑板版本。

这是一个小系统,只支持几种犯罪类型,由东约特兰省的少数几名警察进行现场体验。其它的犯罪类型处理时,仍然需要采用以往的方式——开车回到警局和做文书工作。他们知道自己在充当小白鼠,也知道产品还没有完成。但他们非常愿意去体验,因为他们清楚替代方案。他们过去也曾见识过那种缺乏早期用户反馈的过程中产出的系统有多么的蹩脚,现在他们终于有机会在构建过程中就对系统施加影响了

他们的反馈是严厉而又坦诚的。我们抛弃了很多假设,并出现了一个大的窘境——该如何处理那些精心制作的、但是随着真实用户反馈信息的到来而显得越来越没有意义的用例说明书(这是个有着瀑布历史以及习惯做大量的前期分析工作的组织)。

不管怎样,长话短说,早期反馈被用于产品改进,并且东约特兰省的那些警察逐渐开始喜欢上这款产品,我们现在可以添加更多的犯罪类型和扩展到更多的地区。到发布1.4这个大版本的时候,我们已经推广到全国范围并对12000警察进行了培训,而且对此我们毫不担忧。因为我们已经发布了这么多的版本,经过了这么多的用户体验,所以在对全国进行发布的那天晚上,我们都睡得很安稳。

不幸的是,成功是短暂的。可能是由于老的习惯,接下来的项目(PUST Siebel)却回到了瀑布思想,并且搞砸了。下一代产品在没有任何发布和用户体验情况下,在为期2年的分析和测试之后,向12000名警察进行了一次大爆炸发布。这绝对是一场灾难,经过半年的折腾之后,他们关闭了整个项目。开发成本约为2000万欧元,但内部的研究估计,瑞典的社会成本(因为糟糕的系统给警察工作造成了障碍)相当于10亿欧元!

真是极其昂贵的学习方法!

4个例子:乐高

现在我在乐高工作,我对他们年复一年从不失败地发布新亮点的能力赞赏不已。关于他们如何做到这一点,我听到过很多有趣的故事,共同的主题都是要做原型和早期用户体验!我经常在办公室看到一群群的孩子,设计师与当地的幼儿园、学校和家庭合作,现场体验新产品的设计理念。

这是一个最近的例子– nexo knights (2016年1月发布的):

图片20

当他们第一次开始探索概念的时候,他们制作了纸上原型并交给孩子们。孩子们的第一反应是:“嘿,谁是坏人?我看不出谁好谁坏!”哎呀。因此,设计师们不断迭代,直到他们找到一个对孩子们有用的设计方案。我打赌,甚至连你都能看出上图中谁好谁坏……

在本故事中,无法精确辨别哪个是滑板版本,但是你收获了理念——来自真实用户的早期反馈!不要只进行设计和完整构建产品。想象一下,如果他们只是基于他们最初的设计假设去构建产品,在向全世界的商店发出几千箱货物后才学习到存在什么问题,会有什么的结果!

乐高也曾经历过惨重的失败。乐高宇宙(Lego Universe)就是个例子,这是一款大型的、多玩家的、在线的乐高世界。听起来好玩吧?问题是,他们野心太大了,结果终结于试图在发布前就完美构建出所有事物。

图片21

大概有250个人,工作了4-5年(由于完美主义导致了持续的项目范围蔓延)。当最终发布版本时,却遭到了…冷遇。最终完成的游戏很漂亮,但并不如预期的那样好玩,因此2年后这款产品被关闭了。

没有滑板版本!

为什么没有?因为滑板版本不够好(至少当你期望得到汽车时不够好),而乐高的文化完全是追求提供完美的用户体验!如果你在丹麦比隆的乐高总部工作,你每天都会走过下面这幅巨大的壁画:

图片22

可以粗略翻译成“只有最好才是足够好”。自从80年前公司成立以来,这一直是乐高的指导方针,并帮助他们成为世界上最成功的公司之一。但在本案例中,这个原则被误用。 对完美的追求耽误了获取至关重要的反馈,这意味着对用户的喜好做错误的假设。而这与Minecraft的工作方法正好相反。

十分有趣的是,乐高宇宙的开发团队其实是在严格地使用Scrum和迭代——与Minecraft团队的做法非常类似。但只进行内部发布,滑板版本、自行车版本等等十之八九是有的,但那些产品从未到达过真实用户。这就不是Scrum所预期的使用方法了。

是一个昂贵的失败,但乐高从中吸取了教训,并在早期体验和用户反馈上越做越好。

对“MVP”的改进

让我们深吸一口气,讨论下MVP(最小可行产品)这个话题。

背后的理念是伟大的,但这个术语本身却会导致很多困惑和焦虑。我见过很多的客户说:“我没办法做MVP交付——那就是我要获得的最终交付。”大多数情况下,团队交付了所谓的MVP后,就快速转向下一个项目,给客户留下一个有问题的、未完成的产品。对某些客户来说,MVP=MRC(Minimum Releasable Crap,最小可发布废物)

图片23

我明白,我很清楚,这些问题来自于管理不善而非MVP这个术语,但是…这个术语本身会招致误解。对于“最小”和“可行”,仁者见仁、智者见智,这就带来了问题。

因此,这里换一种说法。

首先,用“早(Early)”替换“最小(Minimum)”。发布MVP背后的整个理念是要获得早期的用户反馈——通过提供一个最小产品而非完整产品,我们才能更早的得到反馈。

很少有客户会想要“最小(minimum)”,但大多数客户都希望“早(early)”因此,那就是我们的第一个改变:

最小(Minimum)=> 最早(Earliest)

下一步,删除单词“可行(Viable)”,因为这个词太模糊。来说是可行,对来说却是“可怕”。有些人认为可行(Viable)就意味着“我可以体验和从中得到反馈”,其他一些人则认为可行(Viable)意味着“客户可以实际使用”。因此,让我们更明确地表述,把它分成三个不同的事物(可体验的(testable)/可使用的(usable)/令人喜爱的(lovable)):

图片24

最早可体验产品是滑板版本或者公共汽车票版本——这是第一个客户可以实际用来做事情的发布版本。可能并不能解决他们的问题,但至少能引发某种反馈。我们非常清楚,学习是这个版本的主要目的,获得的任何实际客户价值都是红利。

图片25

最早可使用的产品可能是自行车。这是第一个早期用户愿意使用的发布版本。虽然离最终完成还差得远,可能也不讨人喜欢。但它确实让你的客户进入到比以前更有利的位置。

图片26

最早令人喜爱的产品可能是摩托车。这是第一个客户喜欢的、会告诉朋友的并且愿意为之买单的发布版本。虽然还是有很多的改进空间,我们仍然可能继续改变,例如变成飞机或别的什么。但我们已经实现了一个真正有销路的产品。

图片27

我考虑过增加一个更早的环节“最早可反馈产品”,这基本上是一个纸面原型之类的东西,你可以用来从客户那里获得第一次反馈。但四个环节看起来太多了,而且“可反馈的”这个术语…嘿嘿。然而,这也是一个重要环节。有些人可能会把纸面原型称为最早可体验的产品,但我认为这取决于你如何定义“可体验的”。看看Martin的 MVP Guide ,可以学到更多——他有大量超级具体的例子说明了如何以最小的投入来获得早期反馈。

当然,人们可能会误解“最早可体验的/可使用的/令人喜爱的”,但这个说法至少比模糊的“最小可行产品”更加明确。

关键点

OK,到总结的时候了。没想到篇幅会这么长,感谢你的坚持!关键点:

  • 对于复杂、创新的产品开发,要避免大爆炸交付。你已经知道迭代和增量开发了,但你实际上真是这么做的吗?
  • 从识别滑板版本开始——最早可体验的产品。可以志存高远,但要收起你的骄傲,从交付滑板版本开始。
  • 避免使用术语MVP。实际谈论的要使用更加具体的语言。最早可体验的/可使用的/令人喜爱的只是一个例子,也可以使用其他任何不会对你的相干关系人造成困惑的术语。
记住–滑板/汽车图只是一个隐喻。别把它当真。:o)

PS——这里有个有趣的故事,是关于我和我的孩子们如何使用这些概念来赢得机器人相扑比赛 。:o)

感谢Mary Poppendieck, Jeff Patton, Alistair Cockburn, Anders Haugeto, Sophia, 以及其他Crisp, Spotify and Lego的同事,以及其他所有提供了很多有用反馈的人。

0
并发 、80端口节点、ss、ss机场、ss节点、v2ray、v2rayng、v2ray机场、v2ray节点、v2ray节点免费2022、v2ray订阅、vmess、vmess机场、vmess节点、vpn、俄罗斯节点、免费vpn、免费节点、内地接口、台湾节点、日本节点、机场、欧洲节点、美国节点、老五节点、节点、节点免费订阅、谷歌访问助手、韩国节点 2022最新节点 小程序开发 微信公众号涨粉 φουσκωτα στρωματα υπνου shadowsocks-mod soap 微信公众号运营 หนังออนไลน์ฟรี vvpn webservice wp文章隐藏部分内容 หนังเกาหลี sr节点后台搭建 web 在线工具 หนังออนไลน์ฟรี 2019 shadowrocket订阅v2ray text 在线图片压缩 เว็บหนังออนไลน์ดูฟรี ชัดเต็มเรื่อง shadowrocket App 文本展开与收起 json格式化 nowoczesne ogrodzenia pionowe 小火箭 安全 总结 xml格式化 sztacheta drewniana allegro sr节点前端搭建 软件 当你绝望时最接近成功 http在线请求 sztachety kompozytowe pełne Navicat Premium 15 三层架构 在线接口模拟 order flowers for delivery today 数据库工具 自适应 程序员和产品的矛盾 same day flower delivery usa 软件激活 Android 平板电视开发 程序员为啥生气 flowers today delivery 国内节点 开发 虚拟按键 excel文件讀取 toys ssr订阅 进程保活 matlab c#文件读取 autism sip002订阅 框架 lib OleDB craigslist trojan订阅 性能 数据 wifi ซีรีย์เกาหลี ss订阅 list bmob 网卡驱动 nowoczesne ogrodzenia betonowe trojan节点 for循环 app升级 重装无线网卡驱动 ogrodzenia drewniane allegro sip002节点 java matlab2015b wifi连接不上解决方案 ogrodzenia betonowe szemud ios节点 Google 破解安装 华硕笔记本 simulation mobile games 免费节点订阅 PWA 异常处理 ดูหนังออนไลน์ hd vmess订阅 Chrome CopyFile 技术 ดูหนังออนไลน์ยอดนิยมปี 2020 神秘的程序员 C++ string 比特币 ดู Netflix 1024 编程语言 类型转换 区块链是什么 ดูซีรีย์ 程序员是一群什么样的人 C++17 vector转数组 去中心化 how to write a general essay 老五节点 程序员 atoi与atof 分布式数据库 paper to write on Android 12 程序员中年危机 getLine Canva college essay editor 2021Google开发者大会 strtok 在线作图工具 量桨 节点免费订阅 HTTP 时间转换 工具软件推荐 国内首个量子机器学习开源框架 免费vpn 404 Elastic Search 开源框架 v2ray机场 阿尔法狗 JSONObject合并 or操作 free essay writer vmess机场 AlphaGo json should和must when writing an essay ss机场 AI 招聘 filter essay edge 双12 人工智能 彩蛋 win10开始菜单点击无效 Log4j 谷歌 字符串 win10开始菜单不能点击 2022最新节点 谷歌访问助手 就业 微信小程序我的页面 系统更新 翻墙 HignCharts 小程序我的页面布局 换新机 反编译 图表 elasticsearch filter should 日本节点 jadx chart es索引 韩国节点 经验 分页 elasticsearch基础 80端口节点 编程 MySql java json合并 欧洲节点 小程序 数据库 json处理 美国节点 网页 百度云盘 비트카지노 俄罗斯节点 微信 json解析 슬롯 카지노 台湾节点 开源 simdjson 카지노나라 v2ray节点免费2022 互联网 Vue 授权获取手机号 รีวิวหนังใหม่ code 密码 LocalBroadcast 组件开发 รีวิวหนังออนไลน์ 内地接口 web-view 局部广播 getPhoneNumber แนะนำหนังใหม่ปี 2020 cnzz 阿里巴巴 js交互 地理位置授权 birthstone necklace 网站统计 2017 apk disabled样式不可用 name plate necklace 51la IT 签名 短网址生成 gold cross necklace 百度统计 大事件 资源 老五 how we write essay 一键安装 脚本 图片 重定向 information about essay writing 傻瓜教程 HashMap 视频 essay on bank centos8 机器学习 分享 Minimum Viable Produc 数据挖掘 敏捷开发 最小可行产品 weka Scrum 敏捷和精益开发 随机森林 AppScan buy paper IKVM 漏洞修复 mba essay IKVM.NET dotnet hints on essay writing dll OnClick tempur στρωματα wp 事件 στρωμα tempur 统计 Network Security διπλες κρεβατοκαμαρες join jar转dll autocomplete androidx .net AutoCompleteType androidx与support v4/v7冲突与共存 jdk8 密码自动填充 android低版本升级到高版本 加载动画 小萌伴 android问题解决 源码 聊天机器人 CoreDNS dieta e caminhada 自定义控件 广告过滤 DNS o que dieta enteral Annotation 迭代 前端框架 dieta whole 30 cardapio 基础 敏捷实施 Excel café com leite tem carboidrato 注解 敏捷工具 trim o leite possui carboidratos AR leangooo 浏览器兼容 qual leite não tem carboidrato 增强现实 迭代管理 字符串去空格 tim k ARCore 禅道 页面生成pdf no strings attached 免费课程 zentao html paw patrol Collections 蒙版弹窗 hosts Photoshop API 996 发送邮件 图片编辑器 深度学习 996.ICU Affinity Photo 图片压缩 加班 Blockchain GNU WebP 公众号 面试指南 Photoshop 替代品 BPG IT老五 亚马逊 GNU 图像处理程序 TNG it-lao5 视频算法 常用方法 腾讯 itlao5 DVQA 校验 投资 2048 C3DVQA 工具方法 金融 bird 视频质量评估算法 更改注册表 腾讯生态圈 小鸟 AI训练 CredSSP加密Oracle修正 蓝牙 打飞机 wp站点置灰 CredSSP加密数据库修正 BLE 目录 tiktok windows Kotlin 手电筒 抖音 安全漏洞修复 开发资源 语音识别 抖音国际版 windows server 语音合成 免vpn DHCP Client 移动开发 语音唤醒 梯子 禁用445端口 微信开发 我的页面 v2ray Message Queuing 苹果 微信授权 vpn WWDC 用户信息获取 搬瓦工 document 霍金 菜单列表布局 优惠码 js异步加载 大事记 zoom xshell cnzz统计 预言 控件缩放 复活节 百度收录 RxJava wxs skew elastic 教程 手机号/身份证号隐藏 anagram 大数据看板统计 响应式编程 周末 do a barrel roll Kibana代码 iPhone 陪伴 免费电影 破解 找手机 天堂影视 SKEP GrayKey itlao5-xmb-weapp 资源分享 情感分析 漏洞 小程序跳app 老五影视 百度 webview 说话 VIP电影 Senta h5 语言表达 заказать создание сайта визитки Github推荐 AndroidP 面试 автоматическая воронка продаж 室内定位 职场 продвижение сайта Youtobe克隆项目 组件化 日期格式化 money loans online with bad credit 前端源码 二维码 经验总结 money mart loans online React 算法 post money loan scams VINE 网络请求 premium porn portal 神经演化 CoinTiger top paid porn sites Uber ftn paid porn sites Https porn sites premium 泛域名证书 ssl best premium porn Let's Encrypt tls premium porn sites 设计模式 语言 团队管理 love flower JavaScript Java10 沟通 love flower bouquet 项目管理 区块链 薪资 best flowers of love 需求 js 按钮事件 thinking of you flowers 开发源码 代码 重复点击 romantic flower delivery bug修复 哈希 节流函数 arrangements love flower c# gradle 微信二维码识别 best flowers for love protobuf 多二维码识别 roses love 语言 & 开发 二维码长按识别 funny pillows 文章同步助手 DevOps neck pillow funny 微信同步助手 云计算 wp迁移 top rated cervical pillows 一键发布文章 敏捷技术 阿里云 payday loans montgomery alabama 多平台文章一键发布 敏捷 站点迁移 direct lender payday loans online bad credit 自媒体 Kubernetes 站点备案 payday loans online with direct lenders redis 持续集成 段子 floral arrangements funeral 网络安全 Android Studio 友链 flower arrangement for funeral service 安全等保 D8 友情链接 flower delivery for funerals 三级等保 Dex judi casino k免费节点 编译器 程序员笑话 judi casino online 免费节点 Animation 哪吒 casino sbobet 动画 华为 woman has sex with two men 影视资源 鸿蒙系统 free sex teacher 电影分享 谷歌AndroidQ milfs in porn VIP影视 苹果窃听门 coin master 天猫超市 太空互联网 앙기뮤찌 漏洞券 华为地图服务 birthday gift for wife online 白菜群 今日推荐 send birthday gift baskets 淘宝 CentOS7 移动端兼容 flower birthday 京东 BBR 科学上网 Organic cbd 拼多多 VPS google-access-helper-2.3.0 Cbd gummys 机场 JNI 谷歌访问助手2.3.0破解版 wget win101 反射 十大经典排序算法 birthday gifts best 激活 Google I/O 2018 桶排序 birthday delivery ideas 谷歌访问 Android P 排序算法 best birthday flower es 朋友圈 桶排序源码 fifa 20 DB搜索引擎 Github html转pdf birthday present for wife 搜索引擎 MaterialDesign 网页转pdf cheap birthday balloons emoji Android Things jspdf love flowers for girlfriend 哪吒重生 操作系统 html2canvas flowers from you 浴血无名川 Material Design 十大经典算法 flowers love 侍神令 SDK 堆排序 keto grocery shopping list walmart 许愿神龙 view 完全二叉树 supplements for memory 送你一朵小红花 ui 堆积 keto costco shopping list reddit VIP影视 免费电影 电影分享 资源分享 架构设计 Android 10 FQ v2ray 免费节点 机场 科学上网 谷歌访问 移动 Android Q episode choose your story 技术一号位 TensorFlow Android正式版 iphone 6s cases walmart 研发管理 TensorflowLite Android全新logo sonix iphone case WX Backup 人声识别 angel iphone 7 silicone case 微信备份 gVisor 开源项目 艾菠 微信聊天 go 腾讯开源 aiboobeauty 聊天记录备份 沙箱 全栈机器学习开源模型 艾菠手工紋繡藝術 微信聊天记录 Activity 广告插入 personal essay db、 生命周期 help with my essay db 启动模式 essay writing format 会议 Netflix 华为方舟编辑器 PORN zuul 安卓10 narrative and descriptive writing 萨尔瓦多 微服务 安卓框架推荐 what to write an essay about 法定货币 网关 童年 how to write an essay 货币 Android周报 黑猫警长 Wuhan Wild Wings T Shirt Fuchsia OS OpenStack ipone porn photo of elderly old women 鸿蒙OS Rust 浴霸三摄 softcore photo butt close-up 主题 物联网 ihone11 watch pornography video 节点 TensorFlow Lite 苹果发布会 help with writing openBI 中文教程 Nexus essay writers uk 可视化报表 bug 智能手机 how to essay 开源BI工具 游戏 插件 phone looking 职业生涯 x86 网站建设 att cell phones HarmonyOS PC 谷歌字体无法加载 gadgets christmas gifts DevEco Studio Flutter 图片延时加载 blondine sexfilme AndroidStudio MVP Grow with Google freund xxx porno 编码 架构 谷歌成长计划 amateurporno Copilot MVC 谷歌在华 nha cai casino online tinycat99.world 团建 性能优化 Manjaro Linux 18.1 tinycat99 公司 Service LibreOffice royalty 神墓 四大组件 FreeOffice ben stokes the sun 哥斯拉大战金刚 广播 Fluteer mocospace chat 悬崖之上 BroadcastReceiver ios writing sa nginx App Maker 开发者 how to write an essay step by step apache 工具 语音输入 cheap essay writing service uk 禁止ip访问 多应用同时音频输入 神州天堂网 节点分享 PDF2Word 新公式 天堂文学 端口 生物识别 WPS Office 影视动漫 最新免费节点分析 身份验证 google chrome v77 小说网站 Fuchsia 程序员段子 免费vip 图片保存 Linux 程序员动图 emergency carpet cleaning brisbane 注册表修改 os C++ 标准库(STL) express carpet cleaning brisbane 图片格式 Python 3.7 微软 angel carpet cleaning brisbane reviews vmess Python MSVC situs gaple online ss 高级编程语言 Microsoft STL kode domino gaple online 香港节点 面向对象 TencentOS tiny download gaple online apk wifi连接 微信小程序 物联网操作系统 best love letter to your girlfriend on her birthday wifi-card 下拉刷新 量子计算机 love letter for her birthday tagalog 扫码连接wifi SpeedPan 商用量子计算机 love letter menu irvine 节点连接器 速盘 IBM 성인사이트 TLS1.2 百度网盘 计算机 ดูหนังออนไลน์ ssl/tls 下载 53-Qubit ดูหนังออนไลน์เต็มเรื่อง v2ray节点订阅 Aria2 53比特量子计算机 国外版抖音 节点订阅 css OpenJDK 13 海外版抖音 自定义菜单 前端 龙芯中科 抖音点赞关注无效 服务器配置 ImageSpan OpenJDK最新版本 MuMu模拟器 v2ray错误 控件 OpenJDK qq deposit pulsa v2ray问题 CIRQ Java环境 qq online dns刷新 量子算法框架 JDK 13 judi qq online VIP影视免费电影 Lineage 老五影院 descriptive narrative essay outline 天堂影院 ROM vip视频 comparative essay 无广告白嫖电影 Pixel 免费视频 a research paper 正义联盟 Pie 无广告电影电视剧 etax 白蛇2 Android 9.0 免费无广告vip视频 lil tecca 中国医生 Android Pie 视频网站 abc Milkdown 手机使用时间统计 电影网站 assignment help 文本编辑 z 免费资源 term papers and essays Markdown ScreenToGif CentOS 8 narrative and descriptive essay 误删文件 gif Red Hat 编程规范 文件恢复 屏幕录制 .NET Core 如何写出无法维护的代码 救援模式 win10 .NET Core 3.0 如何写出好代码 误删文件恢复 服务 vs pattern of essay writing in english v2ray节点 UserManager Visual Studio how to create an essay ss节点 MvRx Visual Studio 2019 16.3 write paper for me vmess节点 Airbnb Visual Studio 2019 essay guide 工程师 芯片 law essay writing service 跳槽 RecyclerView 阿里 essay draft 工作 强化学习 AI推理芯片 best same day delivery flowers TensorBoard 全球最强性能的AI推理芯片 best place to send a flower delivery same day خرید ویپ Crash 含光800芯片 order flowers for today ویپ اسموک 支付 NPU easy online loans bad credit ssr节点 微信支付 Android 11 quick easy payday loans for bad credit ssr节点分享 优化 easy loans online win11 wp优化 服务器 payday loans albuquerque win11镜像下载 站点优化 应用程序 payday loans mn Windows 11中文版 网站提速 微信公众号 direct lender payday loans no teletrack v2ray订阅 ios兼容 微信信息流 instant payday loans v2rayn 时间戳转换 微信二维码 instant online loan approval no credit check v2rayng sql 二维码识别 instant loan online 老五节点订阅 sql优化 长按识别二维码 best sushi near me 支付宝 weka-nogui html5 luxury dark 红包 wordpress 自定义协议 car 薅羊毛 浏览次数统计 chrome自定义协议打开ie浏览器 join διπλα κρεβατια 支付宝红包口令 wp免插件 微信公众号吸粉 stromata SSPanel-Uim v2ray订阅 台湾节点 香港节点 vmess节点 Harmony OS 鸿蒙 华为 v2ray节点 免费节点 资源分享 ss节点
  1. qrcode alipay
  2. qrcode weixin

评论