Responsify Desktop

A paradigm shift was underway as I came onto the Bite Squad team. Demand for work across a range of internal and external projects was outpacing available developer resources. Management was growing the team. They decided to move to a more agile-like flow to replace the old waterfall process that would not scale. I worked on the desktop and mobile web team with three other developers, a QA engineer, and a product manager.

Room for improvement

The biggest perceived (and unspoken) criticism aimed at our team was that we were too slow in delivering new features and functionality. This perception came from multiple factors:

  • The lead developer is especially talented and experienced. He knows the site inside and out. He delivers features quickly. The business appreciates this and allows him to ignore or change requirements from managers and designers that slow him down. Our team, by contrast, was held accountable for all requirements, no matter how minor. These included original acceptance criteria, scope creep, and unspoken sentiments from one hard-to-please manager who would invariably feel disappointment when receiving what he asked for.
  • The move to agile was a recent one. The team was still working out the kinks. That takes time. Our continued support of out-of-sprint (waterfall) items also did not help.
  • We were supporting two applications that essentially did the same thing, differing only in what device a user was on, be it desktop or mobile web.

Find a solution

There was really nothing the team could do to combat the first two items other than point them out. Technical architects were receptive to the third item. The emerging pattern was one where we would implement a feature on desktop, then turn to the mobile web application and implement the same feature on that framework essentially doubling our efforts every time. The mobile website framework, jQueryMobile, was and is opinionated and outdated both in function and style.

I argued against supporting two separate platforms that accomplish the same goal. I argued for making the desktop site responsive to replace and sunset the jQueryMobile application. I used language that would resonate with managers to gain their buy-in. My arguments won the day.

We created a plan to start implementing the new solution one page at a time. Discovery during this proof of concept phase exposed the idea that we might kill two birds with one stone by updating markup to Block Element Modifier here and now to support our new MDL grid, another major effort we had underway to allow re-use of components across the site.

Management steps in

While it certainly felt like a win when everyone agreed it was the best way to proceed, the effort quickly got lost in the backlog. This sensible long-term proposal to reduce significant technical debt was deprioritized to make room for shortsighted one-off efforts to squeeze more profits. Bite Squad decided to continue tweaking the food ordering process, continue implementing innovative new service charges for their customers, and continue siphoning greater percentages of tips from their drivers.

Bite Squad’s goal when I signed on was to have a solid, manageable software product to support their business. They hired talented, experienced developers to do that. They realized somewhere along the line that the effort was not worth it.

…and finds another solution

They told us all in a hastily called together meeting over the phone that we were underperforming and were being laid off. This was the first any of us had heard about it. To the contrary, some of us had just had glowing annual reviews. Our manager stonewalled our questions with the same underperforming line repeated again and again.

Lame.

Now that some time has passed, I do believe it was a shrewd business decision. The company looks a lot more attractive to investors or potential buyers now after shedding a bunch of high-paying positions. And because this had always been a concern after learning that Bite Squad’s owner had done this before selling previous companies, it wasn’t a huge shock.

If you had told me when I started that day that I was going to be laid off, I would have been upset. After it went down, I realized it wasn’t a place I wanted to work, so it really was okay.

So it’s lame. But it’s also just fine in the end.