当前位置: 首页 > news >正文

以精益的眼光重新关注电子商务

法国欧尚(Auchan France)的网上杂货送货服务Auchan:Direct决定采用精益化来开发新的电子商务网站。其首席执行官成为了第一位顾客,他们利用来自其顾客对新体验持续不断的、快速的反馈,通过持续的交付来改善网站质量。

\\

2017年3月14日到15日,在巴黎举办的2017年精益信息科技高峰会议( Lean IT Summit 2017)上,Bastien Duret谈到应用精益建设Auchan:Direct的新网站。InfoQ通过问答、简报和文章的形式来全面报道这次会议。

\\

InfoQ采访了Bastien Duret关于Auchan:Direct的新起点、设定的目标、用于转换的方法和在这个过程中他们所学到的东西及其技术开发栈的演化。

\\

InfoQ:Bastien,能否请您自我介绍一下?

\\
\

Bastien Duret:我是Auchan:Direct的技术负责人,我领导技术团队开发和管理用来运营送货服务的软件,送货服务是把杂货送到顾客的家。我正在帮助这个团队,使他们拥有最佳环境以获得成功。我是一个热衷于大型软件系统的工程师,我的职业生涯始于视频游戏行业。

\
\\

InfoQ: Auchan:Direct为什么决定重建网站?

\\
\

Duret:2015年失败的评估是个起点:不仅用户体验糟糕,我们还没法正常地维护系统。一点点改动就要几个月的时间才能投入使用,而且质量通常也不够好。这次的重写始于2016年初,有两个目标:\\
• 提供更优质的用户体验\\
• 掌握技术,提升日常改进能力

\
\\

InfoQ:Auchan:Direct定了哪些目标?为什么?

\\
\

Duret:Auchan:Direct不会在路线图上随便定个不能完成的目标,相反我们制定了一个目标,从9月19日起为顾客提供可能的最佳体验。这是因为我们的新自动化仓库将在10月启用,商品的数量会翻两翻。

\
\\

InfoQ:最早的目标之一是“首席执行官的订单上线”。能否解释一下这个目标?

\\
\

Duret:在Auchan:Direct,我们是精益化老手;对我们来说,真正重要的是尽快推动最低限度的产品进入生产,那样的话,顾客就可以订购了。我们选择我们的首席执行官作为我们的第一位顾客,是为了从一开始就让他参与到这个迭代的过程中来。公司上下已经对这一点达成了明确的共识。

\
\\

InfoQ:您采用了哪些方法来提高网站的质量?

\\
\

Duret:这个过程中最重要的组成部分是从顾客那里得到关于新体验持续和快速的反馈。我们很早就推出了这个网站,尽管那时还不完善,但给了顾客一个和我们沟通的渠道。一开始,它是一个电话号码;当打入的电话数量增长后,我们增加了邮件沟通渠道。这非常有助于持续交付。

\
\\

InfoQ:在您的演示中,您声明您只使用内部开发人员来重写系统。您为什么做了这个决定?

\\
\

Duret:这个选择来自我们都有的信念:内部团队参与得越多,从长期来看,交付的工作质量越好,好过由自由职业者或外部人员组成的团队。顺便提一下,我们项目中的这个选择是由我们在项目开始之初通过实验所确认的。我们要求两个团队一起开发相同的东西。这两个团队的其中之一是由自由职业者组成,另一个则是由内部开发人员组成。我们比较了交付的工作质量和交付速度,结果很清楚:内部开发人员团队比自由职业者团队的交付速度快一倍,而成本只是后者的三分之一。

\\

让我们自己的开发人员来做这个项目的原因是我们赋予他们选择的自由并让他们承担相应的责任。可以选择和做出好决策的内部开发人员让事情变得不一样了。

\
\\

InfoQ:您讲到您决定定制您的产品。这是为什么?是怎样做的?

\\
\

Duret:提升原来的网站质量原因之一是我们没有掌握我们所用的工具和技术。我相信,为了给顾客提供优质的体验,网站每天都能所改进,对于所用的工具和技术的掌握是必须的。但是,在使用一个一体化框架的时候,这是非常困难的,起初很神奇,但却无法对特定的设计进行调整。但不是说我们什么都做。例如,我们用了大量开源库:Django、React和NGINX等等。

\
\\

InfoQ:对于这样一个系统重写,会有很多连接和交易,您采用了什么架构?是什么引导团队到那个方向的?

\\
\

Duret:我们的架构很简单。对于后端,我们在PgSQL数据库前面有Django API服务器。该网站是一个ReactJS单页面应用,其基本渲染由NodeJS提供。我们选用ReactJS是因为我们希望网站用户体验尽可能接近一个应用。后端用Django是一个机会主义的选择,因为我们的团队里有Django专家,随时准备和我们一起工作。我们所有的应用都在Docker容器中运行,这意味着我们不依赖基础设施。

\
\\

InfoQ:您是否有什么指标来衡量这个架构的业务和技术收益?

\\
\

Duret:从技术上讲,新网站的表现要好得多:响应时间是过去的一半,从全球看,反馈速度(超过响应时间)更好。不管怎样,转型没有不痛苦的,因为我们要求第一批顾客改变他们的某些使用习惯,但是我们的转化率提高了10%。

\
\\

InfoQ:在这个过程中,您有了哪些经验?接下来会做些什么?

\\
\

Duret:我们已经知道让一个遗留系统演化是多么的复杂:一点点的扰动就会揭示深藏的问题。例如:当我们尝试获取顾客信息时,我们因为前些年的演变而遭受痛苦。下一步,我们会利用我们的能力提供卓越的用户体验,特别是在手机上的。

\
\\

查看英文原文:Refocusing e-Commerce with Lean

\\

感谢薛命灯对本文的审校。

\

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号:InfoQChina)关注我们。

相关文章:

  • leetcode-000-序
  • cropper使用在线图片的问题
  • 在SAE搭建Python+Django+MySQL(基于Windows)
  • Java 单例模式
  • TP5分页类
  • 新CSS伪类:focus-within
  • 如果一个人
  • xmemcached 0.60 优化过程
  • 生产环境硬件使用总结
  • xmemcached发布1.1.2 (权重、noreply、spring集成)
  • tomcat8.5报错
  • Clojure世界:利用HouseMD诊断clojure
  • pat解题报告【1082】
  • Java IO详解(七)------随机访问文件流
  • Spring+SpringMVC+MyBatis深入学习及搭建(三)——MyBatis全局配置文件解析
  • angular学习第一篇-----环境搭建
  • C++11: atomic 头文件
  • cookie和session
  • Facebook AccountKit 接入的坑点
  • golang 发送GET和POST示例
  • js继承的实现方法
  • Map集合、散列表、红黑树介绍
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • Netty 4.1 源代码学习:线程模型
  • OSS Web直传 (文件图片)
  • Python爬虫--- 1.3 BS4库的解析器
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 闭包--闭包作用之保存(一)
  • 多线程 start 和 run 方法到底有什么区别?
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • 如何正确理解,内页权重高于首页?
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​HTTP与HTTPS:网络通信的安全卫士
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #前后端分离# 头条发布系统
  • (1)bark-ml
  • (4)事件处理——(7)简单事件(Simple events)
  • (二)Linux——Linux常用指令
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (蓝桥杯每日一题)love
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (转)Windows2003安全设置/维护
  • .aanva
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • @Transient注解
  • [.NET]桃源网络硬盘 v7.4
  • []FET-430SIM508 研究日志 11.3.31
  • [4.9福建四校联考]
  • [52PJ] Java面向对象笔记(转自52 1510988116)
  • [AutoSar]BSW_Memory_Stack_004 创建一个简单NV block并调试
  • [C#]C# winform部署yolov8目标检测的openvino模型
  • [ComfyUI进阶教程] animatediff视频提示词书写要点