5

耗时 8 个月、花费 32 万元,只重新设计了三个网站页面?程序员:我后悔死了!

 7 months ago
source link: https://www.techug.com/post/took-8-months-spent-320000-yuan-and-only-redesigned-three-website-pages-programmer-i-regre-db9515/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

耗时 8 个月、花费 32 万元,只重新设计了三个网站页面?程序员:我后悔死了!

【CSDN 编者按】重新设计网站的三个页面,要花费多少时间和金钱?本文作者原本以为一个月时间和 7000 美元绰绰有余,但实际情况是:总共耗时 8 个月,并花费了 4.6 万美元(约人民币 32.9 万元)。

原文链接:https://mtlynch.io/tinypilot-redesign/

作者 | Michael Lynch

翻译 | 郑丽媛

出品 | CSDN(ID:CSDNnews)

两年前,我亲自为我的公司创建了一个网站。虽然我的设计技巧很糟糕,但我套用了一个还不错的模板,因此这个网站整体看起来还行。那时我告诉自己:如果公司业务发展得不错,那我就招一个真正的设计师,让这个网站看起来更专业。

(重新设计前的网站)

一年后,公司的月收入达到了 4.5 万美元,但我的网站看起来还像是一个大学生的业余项目——是时候兑现我对自己的承诺、找人重新设计网站了。

我只关心这个网站的三个页面,所以我猜重新设计应该会很简单,也许只需要几个月和 1.5 万美元?以下是网站重新设计后的样子:

 (重新设计后的网站)

看起来好像没有多复杂?但实际上这总共耗费了 8 个月和 4.6 万美元(约人民币 32.9 万元),期间还发生了许多令人头疼的事情。现在项目终于结束了,我开始重新审视我到底犯了哪些错误,才让整个过程变得如此超出预期。

我知道你在想什么

我知道,听说有人花了 4.6 万美元只为重新设计一个网站的三个页面时,你可能觉得他是一个没有软件基础或招聘经验的笨蛋。但我真的不是,我以前还干过这个,作为一名软件开发人员,曾招聘过几十名自由职业者,包括开发者、艺术家、作家和编辑。

我只能说,我在这个项目中犯的错,比你想象的要更有趣。

初步估算:四周,7000 美元

我不太想指名道姓地骂这家设计公司,所以我们就暂且叫它 DesignAgency 吧。这家公司位于美国,我是通过 HackerNews 找到他们的。相较之下,DesignAgency 的报价是我接触过的所有公司中最高的,但不得不说他们的作品风格最符合我的要求,其内部也人才济济,负责设计、定制插图和 3D 成像的人都有。

DesignAgency 的首席执行官 Isaac 在初次与我通话时,就建议我缩小项目范围,这个想法与我不谋而合,因此赢得了我的信任。显然,提出这个想法意味着他赚的钱会变少,但他还是建议进行品牌重塑,而不是全面的重新设计。总体而言,DesignAgency 将负责基本工作,如新 Logo、配色方案和字体。

品牌重塑后,我可以衡量结果,看看是否值得继续重新设计。如果不出意外,品牌重塑将为我与数字营销公司合作开展营销活动奠定坚实的基础——这听起来很不错!

DesignAgency 预计,品牌重塑需要在两到四周内花费 30-40 个小时的计费时间,而他们的时薪是 175 美元,因此我们需要 5-7 千美元来制作新 Logo 和品牌。这只是我预算的一半,所以我很快就同意了。

DesignAgency 的首席执行官 Isaac 跟我说,他们大多数客户都与其签订了价值不菲的长期聘用协议,而我公司的规模比其他客户的规模要小,项目内容也较为狭窄,因此可以按小时来计费。但如果有长期客户的工作需要花费更多时间,他们可能会偶尔暂停我这边的设计工作。

对于这一点我也不太在意,对方如果很忙,项目暂停一两周也不是什么大问题:我原本就计划这个项目需要两三个月的时间,所以多花几个星期并不算什么。

第一个月:“蜜月期”

项目开始的第一个月非常顺利。

DesignAgency 邀请我每两周与他们的首席设计师、高级设计师、项目经理和 Isaac 开一次会,他们会向我展示新 Logo 和品牌的样本,我也会给出反馈意见。在一次次的接触中,我们的想法越来越接近。

不到六周,我们就确定了一个大家都喜欢的概念。

(DesignAgency 提供的几版新 Logo 和品牌)

第一个危险信号:任务范围变了

在我们最初的几次会议中,DesignAgency 向我展示了带有不同颜色选项的网站模型:

随着项目不断发展,模型图变得越来越精细,DesignAgency 开始向我展示网站的自定义图片和图标:

在此之前,我们从未讨论过定制插图的问题,不过我猜这似乎是个小工程,也就没有过多追究。

几周后,DesignAgency 又召开了一次会议来分享最新进展,但他们没有拿出任何新的 Logo 和品牌,反而将重点放在了网站的设计理念上。

我有些疑惑,于是问道:“先说清楚,这还是个品牌重塑的项目,而不是重新设计,对吗?”

首席设计师向我保证:“哦,是的是的!在旧设计的基础上,有些品牌的选择并不合理,所以这些只是简单的草图。”

完成 Logo

到 12 月,项目已经持续推进了三个月,DesignAgency 完成了 TinyPilot 新 Logo 的 95%,我所要做的就是修改一些圆角、去掉边框等建议,我估计就是几个小时的工作量。

我急于完成新 Logo,因为这将是 DesignAgency 交给我的第一个完整成果。一旦准备就绪,我就可以将其发布到网站上,整合到产品的网络界面中,并打印在设备的实体包装盒上。

我真的以为只需要再花几个小时的时间,但我还是没有拿到新 Logo。

(DesignAgency 交付最终结果后,我可以在所有位置换上新的 TinyPilot Logo。)

为什么?因为 DesignAgency 一直在忙着重新设计网站,他们的首席设计师没有时间设计 Logo,而在全身心投入网站的新设计想法——于是,当 DesignAgency 开始向我展示网站博客的新设计时,我终于崩溃了!

从一开始,我就说过我只关心三个页面:登陆页面、产品页面和购物车页面,所有其他网站页面都明确不在设计范围内。

(项目说明摘录中,将博客明确列为设计范围之外。)

我直白地向 DesignAgency 指出了这一点,Isaac 很尴尬地给我打了电话,承认设计师们的工作不仅仅是画草图:他们对这个项目太兴奋了,有些忘乎所以了,不过 Isaac 承诺会把设计博客的计费时间去掉。

中途放了两个月的假

12 月中旬,我发现 DesignAgency 把所有事情都停了:他们不再约我一起开会审查工作,我对他们设计提出的意见也被忽视了好几个星期。

我把这一切归咎于假期,12 月份确实很多人都在休假,所以我以为新年后会慢慢恢复正常。

然而新年伊始,不仅项目进度缓慢,DesignAgency 的工作质量也下降了,我们在项目初期那种轻松、清晰的沟通不见了,取而代之的是一个小小的背景颜色问题就要来回沟通三次。

“我不知道我们什么时候能有时间”

二月初,我给 Isaac 发邮件询问情况。他打来电话,对项目的进展表示歉意,承认 DesignAgency 的内部问题影响了我的项目:他们的项目经理在 11 月辞职了,在还没找到替代人选之前,Isaac 只能自己补位。

同时,Isaac 还指出他们的工作质量并没有下降,只是 DesignAgency 的大客户工作量过大,但设计师还是一有空就处理我的项目,但专注力可能不如项目初期了。

我知道,我的 TinyPilot 对他们来说只是一个小客户,所以我愿意再等几周,直到他们的设计师忙完其他工作。但我希望,我用耐心等待换来的将是他们高质量的工作时间,而不是最近那种忙忙碌碌、随时待命的工作状态。

“我们一定会完成你的项目,”Isaac 也补充道,“但我不知道我们什么时候会有时间。”我问他未来两个月内有没有时间,他也不能打包票,但他提出了一个能加快项目进度的主意。

解决办法:多付钱

Isaac 说,真正的问题在于我是他们唯一按小时计费的客户,只要有长期客户过来提需求,我的项目就会一直被推后。那么,如果我要签署一份聘用协议来保证完工时间呢?DesignAgency 的预付费是每月 40 小时,每小时 160 美元。

事情发展到这里,我觉得自己上当受骗了。当时的情况是,DesignAgency 已经差不多完成了我项目要求的 80%,但都不能直接使用,如果我把工作交给其他供应商,就会出现大量返工——而现在,他们拿最后的 20% 来要挟我,让我签署一份昂贵的聘用协议? 

我尽可能委婉地告诉 Isaac,这种情况是 DesignAgency 的错:如果长期聘用协议很好,那为什么不早说?这个项目本来早就可以完成了。

面对我的质疑,Isaac 承认这种情况对我不公平,所以他答应我调整 12 月和 1 月的账单。虽然我当时没有签订协议,但他同意以签订长期协议的价格退还我差价。

但是每个月 40 个小时,我们该怎么办呢?项目只剩下 20 个小时了。

紧接着,Isaac 提议 DesignAgency 把开发工作也接手了。虽然 DesignAgency 的收费标准比 TinyPilot 内部开发人员要高,但 Isaac 预测他们会降低总体成本。TinyPilot 的开发人员擅长 Python 和 JavaScript 等编程语言,而  DesignAgency 的开发人员在设计繁重的 CSS 工作方面经验更丰富。

于是,我还是签了长期聘用合同,60 个高质量工时计划将从三月份开始。

开发工作从……修复小 Bug 开始?

这个协议开始得很顺利,第一周 DesignAgency 几乎完成了所有未完成的设计任务。虽然还有一些小问题需要解决,但三个网站页面中的两个已经可以交给开发人员了。

然后,DesignAgency 又开始没声了。

连续两周,DesignAgency 开发团队没有任何动静。我问 Isaac 发生了什么事,他解释说 DesignAgency 的日程安排是不固定的,所以不一定每周都会为我的项目工作。但他向我保证,月底之前,他们一定会用完我为这个月预付的剩余 48 小时。

可当这个月结束时,DesignAgency 并没有将网站向新设计靠拢,反而到最后还一直在修复网站上的小 Bug。

 

(DesignAgency 的一名开发人员,用了本月 60 个小时中的 15 个小时来修复任务队列末尾的小 Bug。)

你也许会问,是什么促使 DesignAgency 处理这些无关紧要的 Bug?DesignAgency 要求我为每项重新设计任务创建 Github 工单,并提醒我,他们不会退还或延长未使用的时间,因此他们让我除了安排重新设计工作之外,也一同安排开发任务。

令我没想到的是,DesignAgency 给开发人员分配任务的方式会如此不合理。我以为是开发人员 A 会负责 X 页面,开发人员 B 会负责 Y 页面。可实际上,DesignAgency 是把所有与设计相关的任务分配给了开发人员 A,然后将其余任务留给了开发人员 B。

原本一周的工作量,变成了五周

到了四月份,又出现了一个新问题。

TinyPilot 网站使用的是 Bootstrap CSS 框架,且它的 Bootstrap 主题与我第一次发布网站时的主题相同。DesignAgency 指出,在完全不同的主题上叠加新的设计会很混乱,他们建议用定制的 TinyPilot Bootstrap 主题来替换原本的主题和临时 CSS。他们的开发人员估计,这只需要几天时间就能完成,并且还能加快项目的其他部分。

我同意了,毕竟这听起来很不错。

可是他们说的“几天”过去了,甚至几个星期都过去了,新主题却没有任何更新。我当时猜想:难道工作时间比他们预期的要长?还是三月份的情况重演了,他们又把所有工作都挤到了这个月的最后几天?

下个月的发票给了我答案。更换 Bootstrap 主题的“一周”任务最终耗时五周,计费工时 38 小时,总成本 6100 美元。

(耗费五周时间和 6100 美元的网站,开发前后对比)

最后一个月

到五月份,我们网站的品牌重塑工作已经进行了七个月,耗资 4.6 万美元——按计划本应在四周内完成,耗资 7000 美元。这七个月,每个月我们似乎都离终点线只差几周的距离,但 DesignAgency 总会突然出现一些事情,使其无法完成我所关心的所有事情。

我觉得是时候叫停了,于是我提前 28 天通知 DesignAgency 终止合同。

DesignAgency 要求预付我每个月的款项,因此他们已经拿到了我最后一个月的所有款项。我本以为,既然我解雇了他们,那他们应该更没动力完成我的项目了。出乎意料的是,在我终止合同后,DesignAgency 的开发工作突然顺利得不可思议。

项目终于按照我从一开始就期望的速度进行了,DesignAgency 在 7-10 天内完成了每个页面的编码工作。虽然还是有问题,但这次我已经做好了准备。DesignAgency 不断提出新的设计建议,我全部拒绝了,并反复告诉他们请专注于我要求的设计工作。我庆幸我这样说了,不然他们今天可能还在为网站工作。

到了这个月的最后一天,最终页面还是没有完成,DesignAgency 也没有就退出项目一事与我沟通。到了 6 月 1 日,在我们的合同正式结束的第二天,他们的开发人员告诉我,Isaac 要他免费完成未完成的工作,因此他在两天内完成了最后一个网页。

终于完成了!实际上,这个项目早已远远超出了我最初的预期,对我的时间和经济造成了巨大的消耗。但我还是释怀了,并深感如释重负。

网站改版前后

以下,这是网站重新设计后的样子:

登录页面重新设计的前后对比

产品页面重新设计的前后对比

购物车页面重新设计的前后对比

事后总结

项目结束后,我跟 Isaac 通了电话,想要谈谈我们每个人可以做些什么来改进项目成果。我解释说,我正在写一篇博文,介绍我们合作的收获。

Isaac 坦诚地告诉我,这个项目并不像他希望的那样顺利。他认为,根本问题在于 DesignAgency 难以按照 TinyPilot 的预算缩减工作流程:一般他们的客户每月预付费在 2-4 万美元之间,而 TinyPilot 每月只需花费 40-60 个小时,这个时长对于他们来说可能只够维护而不是新开发。

我告诉 Isaac,我希望我们能早点安排好工作,尽早给我可用的成果。例如,我希望先有新 Logo,然后是新导航条设计,接着是登陆页面设计等等。而 Isaac 表示,DesignAgency 的客户通常只对最终结果感兴趣,而不是中间环节,但他也能理解为什么我很注重工作的循序渐进。

对我来说,我也很意外 DesignAgency 竟如此缺乏项目管理。我本以为 DesignAgency 的项目经理会定期提供最新状态并推进项目时间表,但没有人这么做。Isaac 说这是他的失误,原本 DesignAgency 会将项目管理控制在计费工时的 5% 以下,但这个比例放在我的项目规模上,无法带来任何实际效益,所以他完全取消了项目管理工作。Isaac 承认,现在回想起来,为了确保我想要的项目效果,应该让我也参与进这个决策的。

之后,我们还谈到了DesignAgency 不透明的工作时间。由于他们不经常分享工时,而且工作时间也不固定,所以我根本无法判断任务的拓展程度是否超出了我的预期。我真希望能早点提出这个问题,因为事实证明,我确实只要问一下就可以了:DesignAgency 用 toggl 跟踪计费时间,Isaac 说我完全可以去查看详细情况。

如果重来一遍,我的不同做法

如果我再次接手这个项目,以下是我将采取的不同做法,按重要性从大到小排列。

(1)雇用个人自由职业者,而不是代理机构

我不是根据这一次经历就对代理公司产生偏见,只是我觉得个人自由职业者可能更适合我这样规模的企业。在这次的项目中,产生的许多问题都与管理、资源分配和沟通有关,我极大低估了这些问题在一个团队而非一个自由职业者身上的难度。

代理公司每月与我合作 40-60 个小时,与 TinyPilot 的其他自由开发者一样。我原以为代理公司需要的监督时间与一名自由职业者差不多,但一个项目中的人员越多,需要的管理也就越多,即使他们每月的工作时间加起来也只有 40 个小时。

(2)为了连续产出结果,设置一个合适的结构

起初,让代理公司尽可能并行开展工作似乎是一个不费吹灰之力的办法,想着这样他们就能有效利用资源,我也就能以更低的成本获得更快的成果。但你可以这样想:如果一个项目涉及八个任务,每个任务大约需要一个月的时间,你会选择哪种做法?

  • 每个月完成一项任务,持续八个月;

  • 前七个月什么都不做,然后在第八个月结束时交付所有任务。

对于客户来说,一次实现一个任务更物有所值:在第一个月结束时,你就拥有一个成果能在接下来七个月的业务提供价值,到第二个月你会拥有更多成果,以此类推。

相较之下,让所有任务并行也许会使你在谈判中处于弱势:如果代理公司把八项任务都完成了 80%,那么你此时想缩小项目范围或更换供应商的成本就会很高;如果你限制代理公司一次只能完成两到三项任务,那么一旦项目出现问题,你就可以及时止损。

最后,同时监督  8 个任务也很耗费精力,每一项未完成的任务都会占据你的脑海。与其在整个项目中都拖拖拉拉,不如分批次快速完成。

(3)缩小项目范围

在设计阶段,代理公司本应只专注于徽标、配色方案和字体,但我错误同意让他们过多地重新设计了网站;在实施阶段,我应该更积极地阻止他们,不让他们在完成新设计之前耗费时间去修复小 Bug。

(4)确定时间表

在与 DesignAgency 团队的第一次会议上,我问他们预计我的项目需要多长时间。他们的首席设计师问跟我说,这取决于我:我可能会喜欢他们的第一份方案,也可能在几个星期内拒绝所有方案。

当时我认为他说的没错,因此没有要求更精确的时间表,后来我更是错误地把这种松懈的态度带到了开发工作中。我应该要求开发人员给出对每项任务的完成时间,如果工作远远超出了我的预期,也应该要求他们重新审视工作范围。这样就能避免出现像本来只需几天的重构任务最终耗时五周的情况。

(5)要求共享计费工时界面

回想起来,这次项目范围扩大的许多问题都是由于 DesignAgency 的报告反馈太慢造成的。

DesignAgency 的流程是每月报告两次工时:每个月 15 号,他们会共享已使用的总工时,但不会详细说明做了哪些任务,到了月底,他们会发送一份按任务划分的明细表。

(DesignAgency 在每月 15 号会简单报告工时总数,然后在月底报告详细内容。) 

相比之下,TinyPilot 的内部开发人员在每次工作结束后都会报告他们的工作时间,因此我对他们的工作进度能更好地了解。如果一项计划耗时 10 小时的任务看起来像是要耗时 25 小时,我们就会重新评估是否要取消或缩小这项任务的范围。

 

(TinyPilot 的内部开发人员会在工作过程中报告他们的工作时间。)

如果将来我与一家设计公司合作,我会坚持使用一种能让我们共享计费工时界面的工具,就像我与 TinyPilot 开发人员使用的工具一样。

(6)避免成为供应商的最小客户

当我们开始这个项目时,DesignAgency 就告诉我,他们大多数客户的规模都比我公司大,但他们还是希望能服务到我。听起来好像很划算:尽管我的预算有限,但我依旧可以享受到通常只有大公司才能享受到的服务。

可实际上,我并没有得到和他们大客户一样的服务,因为我只是按小时计费的客户。后来当我升级为预付款的长期客户时,他们也很难在我的预算范围内有效地工作。

你为什么不……?

在这个项目期间,我跟很多人说过这件事,有人问我为什么不采取一些简单明了的方法解决问题。我认为这些反馈都是善意的,但他们可能都是自专家或只与代理公司合作过的大客户。

下面,我将解释为什么我收到的那些建议行不通。

(1)你为什么不在工作完成之前拒绝付款?

DesignAgency 要求预付款。对于按小时的计费合同,我必须以 30 小时为单位来购买时间。对于按月付费的合同,我也必须在每月 1 日之前支付账单,因此没有任何财务威胁可以迫使他们加速完成项目。

如果我一开始就坚持按进度付款,那 DesignAgency 可能就不会跟我合作了:在他们看来,我是一个可以发展的小客户,但没有人愿意与一个像大公司一样苛刻的小客户合作。

(2)你为什么不找个便宜的开发人员来做,可能每小时只要 4 美元?

根据我的经验,在以下情况下,可以找个便宜的开发人员:

  • 你需要的是一次性代码,而且必须只运行一次。

  • 你不太在意你的时间,不介意自由职业者每一个小时的工作给你两个小时的反馈。

而我计划 TinyPilot 网站还要运行很久,我需要能够方便维护的代码,因此我需要一个能写出清晰代码的专业开发人员。

(3)你为什么不直接解雇他们,然后找个更好的?

解雇 DesignAgency 并寻找替代者会耗费 30-60 个小时的管理时间,而且我也无法保证能找到更好的人。在这个项目的大部分时间里,我都在处理一堆未完成的任务,重新分配未完成的工作和组建新供应商的成本,几乎与从头开始一样贵。

(4)为什么不使用 Shopify 模板?

如果能回到最初创建网站的时候,我一定会把它做成一个简单的 Shopify 商店,再配上一个自定义主题。可当初我创建网站时,我不太想依赖 Shopify,也不想学习他们的模板系统,因为我需要的只是一个简单的“购买”按钮,因此我使用自己熟悉的前端框架手工编写了网站代码。

随着时间的推移,TinyPilot 的购买体验变得越来越复杂。最后,我花了大价钱重新实现了一些用 Shopify 模板就可以免费实现的功能。但此时,将网站的所有内容迁移到 Shopify 将是一个大工程,所以我坚持重新设计现有的内容。

结论

我相信,DesignAgency 在这个项目上已经尽了最大努力,他们并不是有意欺骗我或想从我这骗钱,只是我们真的不太合适。我习惯与个人自由职业者合作,DesignAgency 则习惯于与大客户合作——如果让我重来一次,我应该不会再这么做了。

但是,尽管有这么多的失误和压力,结果证明所有的痛苦好像都是值得的。

我本以为新网站能将销售额提高 10%-20%,但结果却接近 40%,甚至七月份,TinyPilot 网站的销售额达到了 7.25 万美元的历史新高,比重新设计前增加了 66%。虽然现在下结论还为时过早,但我还是希望,我支付给 DesignAgency 的 4.6 万美元将获得积极的回报。



本文文字及图片出自 CSDN


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK