Saturday, July 21, 2018

An Unfictional Review of an Unfictional Company

I've been moonlighting as a bit of a project manager and design consultant for an ecommerce company I've had quite a long history with. Their website is old and decrepit and about as precariously stable as a man changing a lightbulb while standing one rung past the "don't go past this rung" point on a stepladder. You know, the one your dad keeps in the back of the garage that he bought from a neighbour's moving sale twenty years ago so that the Christmas decorations could be taken down at the end of each season. We all know that noble intentions of this particular variety have a shelf life of two years, max.

Anyways, this online storefront is generally terrible and they want to replace it. Having worked with them on the last 2-3 incarnations of the site, I've been called on to be a second set of eyes and generally facilitate development with the firm they'd signed a contract with. We'll call the development firm XYZ Corp, which is lead by their intrepid client manager Mr B.

So far the work has gone terribly awry. It's been painfully obvious that both the client and the developer are speaking to each other through forced, shiny grins from across an icy divide. The good news is that we've almost wrapped things up: after (hopefully) one last set of revisions, the hand-off will be complete and the two companies will part ways. Then we'll start work with another developer to actually get this new website into functional condition so that it can be released out into the wild.

In order to secure a not insignificant discount on the general bill of labour, XYZ Corp offers their clients the option to write a review/testimonial to be used for marketing purposes. My boss seems pretty keen on being the one to write it, and not necessarily as an opportunity to spread around some warm and fuzzies.

I've been thinking a lot about how I'd write this review, if it were left to me. So what I'd like to do here is write my own version as a way to unpack what I think has happened and generally confront one of my biggest professional failings to date.

---

Hrm.

Mr. B deftly informed me that the above word was an unprofessional way to start a communication. Quite frankly, I find professional speak to be an embarrassingly abundant and semi-worthless commodity. Forgive me Father, for I have sinned: I choose to speak through my keyboard in a manner that conveys a bit of personality and humanity.

But who are hell am I talking to right now, anyways? Someone that wants to hire XYZ to make some cool shit? Right on! Before you sign on and get started, I'd like to give you a few tips.

PIECE OF ADVICE FOR XYZ CORP'S FUTURE CLIENTS

#1: Don't assume that XYZ understands your needs. Insist on a proper evaluation at the start.

When we begun our project with XYZ Corp they told us that an in-person evaluation of our site and needs would be cost and time prohibitive without much benefit. In hindsight, we should have insisted. Instead we made a few assumptions that turned out to be quite wrong: We assumed they'd take even the most cursory of glances at the existing site. We assumed the new site would be made to be equal to or better than the existing site. We assumed that development would be a dynamic process that would let us make reasonable changes/revisions until things were completed.

We should not have assumed any of those things. Instead of a proper hands-on review, they pushed us to do a brand-building exercise which proved to be wholly useless and a legitimate waste of time.

PIECE OF ADVICE FOR XYZ CORP'S FUTURE CLIENTS

#2: If it ain't in the proposal, it ain't happenin'. Get absolutely everything in writing.

Next, XYZ Corp gave us a big-ass proposal. It detailed many things using many words organized under many headings and subheadings. We thought it was pretty cool that they'd be so throrough with the documentation, even though it was a bit of a chore to review. Alas, what we found out (the hard way) was that the most remarkable thing was not what was included in the proposal, but what wasn't included. And how iron-clad this document was.

A lot of what we perceived as being standard, obvious, necessary elements were thrown to the side of the trail on our little journey in Web Development Land. "That Feature is Out of Scope" would become an annoying and reoccurring one-liner character present throughout the entire process.

Now we're taking delivery of a site that doesn't support all our products, omits a payment method popular with a quarter of our visitors, and has a broken navigation incompatible with our catalog.

PIECE OF ADVICE FOR XYZ CORP'S FUTURE CLIENTS

#3: No, seriously, make sure the proposal is done right from the beginning. Just because it's long and detailed doesn't mean it's even remotely on target.

There were other gaps in the proposal. The number of products and categories to be imported? They were off by a factor of 10. We thought, "That's obviously just a placeholder value and it won't matter as everything will be automatically imported." Nope, nope, nope. They seriously thought they were dealing with a mere fraction of what we actually had. This highlights two things: we were supremely stupid for not correcting this earlier, and XYZ never even looked at the existing catalog of products. They did not reference the very piece of technology they were being hired to replace.

PIECE OF ADVICE FOR XYZ CORP'S FUTURE CLIENTS

#4: Colour within the lines. Do not colour outside the lines.

XYZ does a really kickass job of outlining how they'll tackle the whole kit n' kabootle. Four overall phases of development, with an itinerary that details how many business days it takes to complete each step. It's impressive that they can lay it all out in a linear manner. But have mercy on your soul if you don't personally work like that.

When it works, it works flawlessly and XYZ can get a large amount of work done on a tight schedule. The problem is that, being a mere human (notice my unprofessional lack of a professional writing style), sometimes things aren't quite so self-contained.

One of the biggest points of contention between us and the developer is that we would sign off on one phase and later discover problems that should have been addressed earlier. Ladies and gentlemen, we're now introducing "Out of Scope's" wise-cracking sidekick, "You've Already Signed Off on That". And, yes, XYZ is absolutely right - we signed off. We should not be revisiting this territory. But we uncover something we hadn't noticed before, and it takes a great deal of effort to address the issue outside of the designated structure.

This became particularly true towards the end: we had signed off on the functionality and design of the site, and then XYZ Corp populated the site with production-level content as the final step to wrapping up the project. Once we saw our new house filled with our actual furniture and belongings (rather than a cardboard sofa with the word "SOFA" written in large letters), things started to really come together for us. We got deeper into testing and begun understanding the relationship between content and features. Problems were becoming uncovered which should have been flagged much, much sooner. A large amount of our detailed testing was being conducted outside of the period XYZ had initially slotted for us.

To their credit, they've attempted to address our concerns as best they can. Alas, "You've Already Signed Off on That" and "Out of Scope" came along for the ride.

Yup, we dun goofed. We should've done a more thorough job of testing earlier. And yet I can't help but feel like it isn't too out of line to want to do most of the testing with the real content near the end on the approach to final hand-off.

PIECE OF ADVICE FOR XYZ CORP'S FUTURE CLIENTS

#5: Mind the details and the cutting of corners.

Due to budget constraints, over the course of the project we had to trim a lot of extra features, procedures, and services that XYZ had initially proposed. I imagine that we significantly gutted their profit margins for the whole project, and it must've been frustrating as hell for them. I feel kinda bad, but they were warned up front that we didn't have the deepest of pockets.

It felt like it took a lot of effort to steer the ship onto a new course, and at times I felt like Mr. B was fairly tone deaf towards us and our monetary plight. But after a lot of the professional equivalent of wailing and gnashing of teeth, navigational corrections were made.

It seemed to me, oh so subtly, that as we trimmed the fat (and money) off the project, the relationship turned a bit cold. At one point, a simple revision to the payment schedule for services would have cost us $1800; apparently the only way to change some dates were to have his lawyers spend 2-3 hours (at $600/hr) amending the contract. We were unimpressed. I started getting the sense that XYZ just wanted to get this thing done and out the door, and with that... Came what we perceived as some corner cutting.

The cover of the project proposal (of which I've received many, many revisions) has the XYZ logo with the tagline, "High Quality Software Solutions". Many sections of said proposal talks about thorough testing and vetting.

One of two things must be true to explain the several bugs and odd design choices we've encountered over the last few weeks: Either XYZ does not have any capacity for attention to detail (which I find unlikely), or the frigid working relationship and reduced scope of the project has lead them to relax their standards in the sake of completing the designated scope of work. Part of me doesn't blame them if the latter is true, but the other part of me is just pissed that they'd be so sloppy with parts of their work.

From a design and UX/UI perspective, they've made some GLARING mistakes. Clumsy at best, completely ignorant at worst. Maybe they're more technically-minded, and my dumb artist brain can't appreciate all their wonderful work they've done behind the scenes to make this ship water-tight. Maybe they just don't recognize bad typography and design, because that's not their specialty. If so, it's hard to blame them - you gotta trust who you hire to know their stuff, and sometimes they aren't quite as good at what they do as you're paying them to be.

Me, here, as a project manager on developing this whole website is a good example.

But to recap the point: they may claim to be high quality, but keep your eyes open to make sure they prove it through their work.

PIECE OF ADVICE FOR XYZ CORP'S FUTURE CLIENTS

#5: Don't be a shitty client.

Yup, I'm going there. I did a horrible, terrible job of being a project manager on this. Sure, I did an okay job of facilitating deliverable and communications and setting up meetings... But I should have paid closer attention to the damn proposal. I'm embarrassed at my own lack of attention to detail when reviewing the project specifications, and at how I thought things would get sorted out as we moved along. I should've known what lane we needed to be in with the exact toll booth change in hand, rather than trusting that we could just cross bridges as we got to them.

I. Did. A. Bad. Job.

It was all written out in the proposal. I have no excuse for why I didn't slow down and read it all, line by line, and make a list of things that needed to get added or modified. Instead I figured we could approach it as having a developer on staff, addressing things as we went along. XYZ Corp made a comprehensive document that we signed off on multiple times, and I should have paid closer attention before giving a thumbs-up. From a legal standpoint, they have us over a barrel. We gave our approval to things that should not have been approved.

And yet I don't think I, or the company I'm representing, are entirely at fault. Mr. B and XYZ Corp didn't quite do a good job of communicating how exactly the process would work, how rigid they'd be in their adherence to it, and helping us to understand that features, functions, and layouts needed to be thoroughly vetted much earlier in the process. I don't think Mr. B succeeded at reading and connecting on an empathetic level with his client.

At one point he was quite indignant that we were coming to him with problems. He insisted that he had always been available and willing to field questions during the entire length of the project. And you know what? He was. The problem is that we were only discovering these concerns now, and not earlier in the process when it would've been ideal for him to address.

I had written him a long email generally recapping our position: I admitted it was our fault for signing off on things without vetting it thoroughly, but suggested that we didn't fully understand the process and content. His response was essentially, "You've already signed off on things". It struck me as, once again, somewhat tone-deaf. Maybe I was hoping he'd meet me part way and acknowledge that we'd had some communication issues. Instead he stuck to his Contractually-Bound Proposal-Shaped Guns. A bit of a disappointment.

I think perhaps I approached this whole project with too much humanity and optimism, thinking that we would get along and figure it all out as we went. I think Mr B and XYZ had a bit too much to drink from their flask of professionalism, making the process rather rigid and cold.

Looking at what we wanted to accomplish with this new site versus what we'll actually receive... We're left feeling a bit cheated in a bamboozlement admittedly of our own making. And we can't help but feel that XYZ stood by and let it happen.

Maybe it's stupid to blame someone else for allowing you to do something stupid. Perhaps my psyche is really that fragile that I'm making desperate attempts to project the blame for my own shortcomings onto another party. Or it could be that they really do deserve for some of the blame.

So what now? A tidy little tl;dr review:

XYZ Corp: ?/5 stars.

It hasn't been a pleasant experience for either our company or XYZ, and the final product is about 3/4 of what we needed to have developed. XYZ Corp was structured, technically capable, and professional. We should have paid much closer attention to their paperwork and vetting process. They should've done their fundamental research. If we weren't such a bad client, and if they were a bit more flexible, attentive, and empathetic to guide us through the process... Things might've gone a lot differently. But as is, I have no idea if I should recommend these guys or not. Your mileage may vary.

2 comments:

Frank said...

Eek. I know that's a shite comment after everything you wrote, but I thought you should know I read it all.

As far as them vs you, fuck it, it's a learning experience for you. It's like trusting a car salesman. You feel they got too much of your money, but you did get a car. And it sounds like they were at least flexible enough to let you drop downstream requests to make up for things that weren't in scope. I would give them a 3. They never did the upfront work to understand your needs but they were open enough and fast to make changes as needed. You say they did 3/4 of the work, give them 3/5.

Crilix said...

Hah! I thought for sure you'd tune out on this one. Props for making it the whole way through.

It was definitely a learning experience, it just sucks that it had to happen while I was working for a company I have a long/close relationship with. I think part of my problem is that all of my web development history was part of an ongoing relationship, not a fixed-length contract. Now I guess I at least have one more tool in my belt.

The More You Know.