Wishlists and other black holes
Every month we receive and process 200–300 annual surveys from Wild Apricot users (account administrators). I love this exercise, and now I love it even more because I don't have to read and reply to them all by myself! This task is now distributed between 6 people from our product design, support, and marketing teams. There are always great gems of insight, very nice comments – and a fair share of criticism. One of the most painful types of feedback we receive is related to our Wishlist, and it usually goes something like this:
“What sucks about Wild Apricot is that you guys never address our wishlist requests. Our suggestion XXX has been on your wishlist since 2009 and you just don't care.”
What makes this most painful to bear is that I know there is a very large degree of truth in these comments. (And I know that for my colleague, Evgeny, who is in charge of our product design team, this feedback is especially hard to read.)
Here’s the real puzzle: We do care – a lot! And we have a very substantial development team – over 40 people in total involved in product design, development, testing, and deployment.
So, how come we are doing so seemingly poorly at addressing the requests on our Wishlist?
Version 5.0 sinkhole
The last big release which addressed lots of user requests was back in July 2012 – Version 4.4.
We did release a bunch of new payment systems in Version 4.5 in April 2013, and we have just released Version 4.6, which finally makes the first step to enable Wild Apricot integration with other systems – our first API.
But frankly these last two releases haven’t made even a small dent in that huge mountain of user requests on our wishlist.
So have we been sitting twiddling our thumbs since the last summer?
What has happened to us is Version 5.0.
I’ve now been in the software industry for over 18 years, and I am not excited to admit that we have made at least half of all those mistakes you read about in software development books.
- For starters, we have totally underestimated the work involved to overhaul our CMS (and automatically convert all client sites). The work on Version 5.0 actually started in the summer 2011 – only now, 2 years later, are we entering the final stretch.
- We have applied project planning and development management approaches which worked fine for individual features and smaller versions, but were totally inappropriate for something bigger.
- We have utilized a whole bunch of new "bleeding edge" technologies – and they all turned out to be much funkier in real life than the stuff you read about them in blog posts.
I can go on and list a whole bunch of other reasons why I want to curl up and cry about Version 5.0 – but I think you get the gist. :-)
The last few months have been especially trying. Ever since June, we have been in this state where most of the development is complete, but all the time these new unexpected problems and bugs pop up, and we delay our expectations by 2 weeks. Then 2 weeks more. Then another 3 weeks...
Inefficient development process
Our development process was originally designed to batch, design, develop, test, and release new versions one after another every few months. This meant the scope of each version had to be decided well in advance, and then frozen so that we could design and develop, and release the selected batch of changes.
Version 5.0 is like a big ship slowly moving forward in a narrow channel, with all other small ships aka requests stuck behind it. Until we release it, we cannot tackle outstanding user requests.
Hidden part of the iceberg
As you know, the part of the iceberg you can see above water is much smaller than the rest hidden below the water.
For Wild Apricot, user requests discussed on our wishlist forum is that small visible part of the iceberg. Here is a (partial) list of other things we have to work on:
- System performance – as our userbase and usage keeps growing, we periodically have to upgrade and redesign parts of the system to provide the same or better response speed
- System security – something very few users bring up but critically important to monitor and maintain
- Something called "refactoring" – basically rewriting parts of the system code which were written a long time ago and now every little change takes too much time as we have to tiptoe around old routines
- User requests we receive via surveys and in support tickets – only a small proportion of them makes it to the wishlist forum so we have an internal system which tracks them
- Needs of our billing team and support teams – so they can have an efficient interface to handle billing and customer service tasks
- Reports and other functions for our marketing team
Non–transparent prioritization of requests
Our wishlist forum is in fact just that – a discussion forum. It works pretty well, but it is not a specialized tool to collect and manage product requests. Over the years we have tweaked it and found the workarounds to use it pretty efficiently, but it still has many weak points:
- Requires a separate registration to comment
- Its not obvious for people how to "vote" for a specific request (the best way is to comment on a particular thread)
- Requests cannot be easily ranked by their relative interest from our users (the closest approximation is the number of comments in each thread – but it is easily skewed as the same user or WA team member might have multiple comments on the same thread)
The silver lining
With all the whining behind me, is there anything exciting and positive at all about Wild Apricot plans to address your wishlist requests? Actually, tons!
- Version 5.0 – its been a very long time coming (and we are still dealing with a huge number of remaining bugs – the best case for release is end of November. If we can't make it, we would have to delay until mid-January, as we don't want to launch during the holiday season. But, I am very excited about the changes it brings to Wild Apricot webmasters – check out the 5.0 preview page!
- Faster releases – we have been tweaking our development methodology to enable parallel development of multiple small features instead of having to batch them into large releases. This has been piloted in Versions 4.5 and 4.6 and we plan to take it to the next level in 2014.
- New tool to interact with our users about their requests. We have been looking around for several years and finally are about to settle on a new tool to replace our discussion forums called Uservoice, key benefits being:
- Very simple and transparent prioritization – all requests can be easily ranked by the number of votes and voting can be done in one click, and can be done without registration!
- Each user will get a certain number of votes – this helps to not overweight certain requests just because one particular person has been very insistent and posted 5 comments about it.
- Easy to see requests that have progressed to design and development stages.
- Ability to see past, completed and released requests.
I want to conclude with some statistics from our current Wishlist forum:
- Current number of Wishlist Threads: 704
- #1 poster on the discussion forums by number of posts: Yours truly, with 4,566 posts!
- #1 poster not affiliated with Wild Apricot: gypse, with 223 posts
- Top five threads by replies:
- Online store – 94
(Considering for 2014)
- Badges/labels – 88
(In analysis, but a workaround is on our help site)
- Recurring events – 76
(Being designed now for Version 5.1)
- Admin notification when contact records are edited – 74
(One of the top candidates for Version 5.1)
- API – 71
(First version has been released! See Version 4.6 and this blog post)