In the third of what seems to be growing into a series of posts about Umbraco V8 I delve a little deeping into the idea of "when" V8 should be ready and released.
You can read the first two posts here:
- Getting Umbraco V8 up and running - how to get the recent alpha release of V8 up and running locally as a developer.
- The V8 event horizon - how we need to ideally not get too distracted with V8 until its nearly ready.
There is an excellent discussion going on about some of the inner workings of V8 at the minute over on the issue tracker, you don't need to know the details btw but it raised some interesting points in the comments from HQ. There is one common theme in all the answers though, "if we had more time then we could do X but for now Y will have to do". Now I'm all for pragmatic solutions at the right time and sometimes "good enough" is just that but in this instance any of their work is going to effect 10,000's of developers, customers, users.
This got me thinking, why don't they have the time? Why are we (both HQ and the community in our lust for it) "rushing" to get this release out? It seems to me that V8 has been talked about for the last 2-3 years but its only since Code Garden in May 2018 that some actual shape of what V8 is and isn't was announced up on stage. We now know what its hoped it will be so to me the clock only really started ticking since then, in that mind set should we percieve it as V8 has only really just been started rather than starting the clock about when we first got mention of it?
This situation reminds me of when a client asks for an urgent quote (they are always urgent) and a delivery date. They then disappear for 8 weeks before coming back and giving your the green light and assume the delivery date still stands despite their delay thus compressing the development time you had to do the job! What about scheduling that work in, don't they think of these things, I mean we might be busy. Umbraco is no different, its not like they haven't been working on other things.
What could be more important than V8 I hear you say? Well turns out quite a bit:
- A new way to migrate content between instances in "the cloud", aka "Deploy". This took almost a year to write and has replaced the old Courier system on "the cloud" sites. The previous system to doing this (Courier) was a major source of issues and gobbled up support time and maintenance regularly. Rebuilding it from the ground up made for a much more stable long term solution but that took time to put together and needed at least one of the Core developers at HQ to work on it for a year.
- A new CTO at Umbraco, Jacob joined at the start of this year and has been taking his time to get to grips with the setup, community, etc. and has been making changes to make things move a little faster in a managed way. That takes time to get right. Before Jacob we had Shannon in that role which mean he couldn't code anywhere near as much as he would like (and if honest as much as we would like too) so the project was another player down for over a year.
- Headless CMS, Umbraco saw an opportunity to move into the newly emerging Headless CMS space and chose to carve out a slice. By coming up with a Headless offering they can sell more cloud accounts, attract new developers and agencies and increase the awareness of Umbraco. All important aspects to the future of Umbraco and those that use it to earn a living (that's you and me btw). This was a worth while distraction and hopefully a profitable one.
- Finally there is this little thing call V7 which has been having multiple incremental releases of polish added to it. We've almost become so used to it working and getting better each release that I think we've taken this a little bit for granted. Excellent work by all those at HQ for making such a rock solid solution and continually making it better. Its often not seen as glamorous work making something a little bit better over and over but its an amazing sign of the maturity of the product and the team behind it. Chapeau!
So, if we think about it, V8 has only really...sort of...maybe...started to take shape and be worked on with purpose a few months ago. So with that in mind when do we think it should be ready for release? Or put another way When do we think it would be ready to build a real paying customers site on?
Although they sound like the same question they are two different ones. The first is "when can I as a developer download it and start playing with it" is also know as the "when can I rebuild my own site on it to test it out". The second is "when am I happy charging money for building on it". You need it to be "good enough" that you aren't wasting time with errors that will "be fixed in the next minor release" or with new ways of working that you aren't ready for yet otherwise you become inefficient or have to look after a site that needs a lot of support; neither of which make you very happy or profitable.
Ideally we would like the gap between when its ready to play with and when its ready to sell to be as short as possible but when should it be ready? In the one hand we have HQ developers wishing they had more time and in the other we've got developers, sales people and clients wanting to get their hands on it as quickly as possible. But do they? Should they? Should we get it ASAP or should we wait and end up with a better product at the end, one that "just works" and we can get on stream with it building real client sites asap. Which would be better?
I've got my own views but I didn't know what the community thought and it seemed neither did anyone else so I thought I'd thrown some attempt at science at the problem by putting it out to a vote (well three actually).
First up is Developers, they tend to always want to play with the shiny new stuff, its them that should know the true benefits of the changes and at the end of the day they are the ones who will be building new sites on it:
Umbraco DEVELOPERS, When would you be happy with Umbraco V8 being released and safe to build on?— Peter Duncanson (@peteduncanson) June 11, 2018
A clear signal there to "take your time and get it right".
Next up same question and answers but this time aimed at business/sales/marketing folk. They have to sell it, they know if a new version will be a deal winner or not when in a pitch.
Umbraco SALES/BUSINESS/MARKETING TYPES, When would you be happy with Umbraco V8 being released and safe to build on?— Peter Duncanson (@peteduncanson) June 11, 2018
Another clear signal here that rushing isn't going to help anyone, trying to sell a rushed release is always going to be harder than selling a solid release.
Last question was a little different, rather than asking when you would be Happy to have it released this one when do you actually Expect it to be released and anyone could jump into this one (I said this was an attempt at science because by adding the extra line about 2020 in this poll I sort of made it a leading answer compared to the other questions, forgive me).
Umbraco EVERYONE, When do you actually EXPECT Umbraco V8 will be ready #lastOneIPromise (reminder by the way, 2020 is only 18 months away...I know right?!?!?!)— Peter Duncanson (@peteduncanson) June 11, 2018
Again there is a favouring of taking your time on this one, although "within 12 months" has the most votes "18 months" and "when its ready" are not far behind!
I found the result quite surprising. I would have thought that everyone would want it as soon as possible because once the genie is out the bottle you want to get making some wishes right? Well turns out...no. The biggest take away was 65% of developers and 45% of marketing/business types were happy to wait until it was ready, effectively take as long as you like but get it right. But the final poll gives us a better feel maybe, when do you EXPECT it to be released, in which 36% thought within the next 12 months (so probably Code Garden 2018 next summer then). But if its not ready by then...it seems there is some allowance to hold it off and wait some more to get it right, I think it all depends on how expectations are managed.
I hope you found those stats enlightening. Personally I think HQ should have as long as they need to "get it right". V7 is an amazingly solid bit of work and I'd be happy to keep using it in the meantime for as long as need be. This is assuming it still gets some development love in the meantime too. As per my V8 Event Horizon post we will do ourselves no favours by not maintaining and strengthening V7 along side V8 development until we and it are ready to switch. We know V7 well, we know it works, we can produce stable, easy to maintain sites that scale with it right now. By realising that we might have to wait for the V8 goodness and for HQ to see that there is slack externally to "do it right" then we might all end up with a much better product at the end of it.
A caveat to this of course is this is not licence to take forever, or licence to put EVERYTHING ever wrong with Umbraco right in this version. That is not what V8 was about. They still have to ship at some point and its not a rewrite. V8 is intended to be "the tidy up version" were we strip out all the old stuff from V4 that is still floating around, swap out the odd core feature (hello NuCache) and pave the way for ASP Core (which some of you seemly can't wait for). If they need a few extra months or more to better lay the foundations for those paths then the view of those in the polls and my personal view is take it if you need it, we trust you, the product will be better and stronger as a result and in the meantime V7 continues to kicks ass.