It was a number management system for tier 2 telcos (These were a BIG deal back in the day). We’d built and installed our enormous VB6 / MS-SQL 2000 application, about half a year later than planned (waterfall projects, dontcha just love ‘em?!) and had some good initial feedback. However, now the newness had worn off people were beginning to complain about things like speed and usability. There’s a lot of number crunching and file shipping to do with number management and provisioning so this is to be expected, but we still felt that we wanted to deliver a better user experience.
We started work on optimisation and pretty soon it became apparent that there wasn’t a great deal we would be able to do. I was working in the team in charge of this. We could speed up queries, but at the end of the day we depended on other systems and networks to complete tasks, so there was only so much we could do.
Whilst we were struggling through this we got a call from the client. “Thanks so much for that latest release, it’s really addressed those performance issues. Great job!”. Obviously we were confused. We hadn’t done a performance release. There had been a service release that updated some of the UI and squished a couple of bugs, but nothing that would have any meaningful impact on performance.
We headed over to the client to see for ourselves. We ran execution time tests on the system and there were no noticeable differences in execution times. So, we asked the user that had called us to show us how they used the system, thinking they had, perhaps, been doing things wrong previously that was affecting the overall experience. He logged in and opened the application. Straightaway he said “See, it even LOOKS faster!”. He clicked about and sent a complex request to the back end “It just feels so much more solid now…”. The request came back, no faster than it ever had, but he seemed delighted. “See?” he said, “So much better”.
It took us a while to figure out what it was. The service release, as well as fixing some typos in error messages had also included a new set of custom designed icons for all the different asset number types and controls. Users liked the application more, and felt it performed better, not because it was faster, but because it LOOKED like it would be faster. These new design elements made it a nice place to be and that meant users gave it the benefit of the doubt.
Smash cut to the 2008 crash and I’m in a meeting room with a client who literally has their head in their hands. They’re a business with a platform in a highly competitive digital space and they’ve just had to let more than half of their development team go (ring any bells?). My client now has the job of beating the competition to survive, but with less than half the resources she had needed just to keep up with them.
She showed me the roadmap they’d been working to until the crash. “These things are ‘Must do’ and these other ones are “nice to haves”. The problem was that most of their competition was already way ahead and had covered off a lot of the things on her ‘Nice to have list’. She was still playing catch up with ‘Must do’ things like improved security, timeout issues on some of the apis, slowing down database queries etc etc. She had no chance of even getting to one of the ‘nice to haves’. Not with a diminished team.
“OK” I said, “Out of the ‘Nice to Haves’ what would be the most fun? What would be the biggest talking point? What would make this an exciting place to work?”. The answer was the app. None of their competitors had an app yet (this is a long time ago!) but it was something they felt they couldn’t even consider until the ‘Must do’ list had been done. But the thing is that nobody would even know they’d even done this stuff. You don’t do a Press release that says “now with adequate security” or buy banner ads that promote your platform as having ‘appropriately optimised queries’. So you can do all that work, no one ever knows, and you go under, like so many did in that year. Or you buy some pizzas and launch the first app in your sector.
They took my advice and launched an app. They positioned themselves as the technical leaders, even though there was still significant technical debt in their platform and they’re still here today, I know of at least two of their competitors that didn’t make it.
When you have no good choices, pick the most fun. Forget the basics.