热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

法国欧尚(AuchanFrance)的网上杂货送货服务Auchan:Direct决定采用精益化来开发新的电子商务网站。其首席执行官成为了第一位顾客&#x


法国欧尚(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)关注我们。




推荐阅读
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • 本文探讨了容器技术在安全方面面临的挑战,并提出了相应的解决方案。多租户保护、用户访问控制、中毒的镜像、验证和加密、容器守护以及容器监控都是容器技术中需要关注的安全问题。通过在虚拟机中运行容器、限制特权升级、使用受信任的镜像库、进行验证和加密、限制容器守护进程的访问以及监控容器栈,可以提高容器技术的安全性。未来,随着容器技术的发展,还需解决诸如硬件支持、软件定义基础设施集成等挑战。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 开发笔记:计网局域网:NAT 是如何工作的?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了计网-局域网:NAT是如何工作的?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
author-avatar
为你空手的执着
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有