Software Development: why every patch is not pure innovation


#1

Content archived from the Original Vainglory forums - originally posted by Clockentyne on 11th of October, 2016 archived by @DragonBuster

preface: I work at a company with over 20k employees and a sizable R&D. My daily work involves writing mobile applications, currently for android, but I do cross platform work with iOS & Windows as well.

Software Development​
Software development is not a simple process. People don’t check into the office, sit down at their computer and type some crazy stuff into an app and out pops a feature. There are meetings between product managers. There are meetings between product managers and engineers. There are arguments. There are changes of plans. There are sudden crisis issues where you drop whatever you are doing and go work on a major bug that is affecting customers, delaying what you are working on. There are analytics that sometimes conflict with your most vocal customers, enough so that even though the hard numbers say one thing, you still have to go and work on a feature because a customer is loud enough and important enough that the hard numbers don’t work out.

With an online service there are huge factors. You have your client, which has a whole different team of engineers with different skill sets that work on building it out. There is hard maths going on to get the pretty images you see in a game going, to make them perform well. These hard maths then need to also translate into communications with your server code, which has yet another set of engineers, with their own product managers, managers, engineers, skill sets, requirements trying to come up with the huge new feature.

These disparate teams of people have to then come together and somehow get this architecture to work with each other, and in the case of many mobile apps, get them to work on a large number of devices with different capabilities, different geographic locations and distances from your server farms. There is a huge amount of work going on to make sure all of that works, works well, and people available to triage and work on issues that do come up at any hour/time. This means being on call, working well more than 40 hours a week, having to sometimes drop your own personal life because a crisis is big enough that it can harm your company.

So why am I saying this?​

With a company that has released every month you can’t expect every single patch to have giant features. Some features, which to an end user like you or I might be invisible, but to SEMC it is a giant thing. One of those recent features to be giant that is semi-visible? Finally getting multi-touch to work across platforms. Making sure that by enabling the feature character skills do not break, movement is still accurate, people can access skills without triggering them accidentally, detecting finger vs palm for rejection of unintended touches, and more. This is what you would call an epic feature. This is probably something that consumed a great amount of time at SEMC, yet to most is a feature that isn’t realized or thanked much - because it isn’t as visible as a new character.

On top of this there is play testing, developing new characters, and adjusting the engine to support new effects and abilities that it did not support before. Not every character can bring new mechanics in - Gwen is an example of that - because sometimes a large portion of your engineering team is working on a feature that takes more than a month to release.

To compound that you have Apple - you really take those 4 weeks and shrink them to 3 weeks because of the review process. You then take those 3 weeks and reduce that to 2 weeks, where maybe half of that is true development, the other have is working through product managers, testing, readying betas to be tested by a smaller group of the public, working on server architecture so that you have more reliable uptime around the world, and figuring out how to deploy and keep those servers up and running under the stress of new code being deployed each month.

It is not reasonable to expect every release to be huge. At my own company we really only have maybe 3 major releases in a year, although we do monthly releases as well. The amount of work that goes into making “bigger” features never can fit into a month cycle, so please, when you look at a patch like 1.23 understand that there is a huge amount of work that goes into a product like Vainglory, and decisions that happen outside and inside impact the work. For example the call out for being true to the OG skins - that impacts the work of coming out with new skins, because artists do have to go back and recolor, make sure things are done well, work that was not planned for originally because product managers, decision makers said do this instead of that.

so tldr;

Sometimes you should thank the crew at SEMC and send thanks through @PlayoffBeard, @Nivmett, @Zekent and crew and maybe think of complaining less about how some patch isn’t everything you hoped, why they aren’t fixing balance NAOW, because they are people just like you and I and there are only so many hours in the day to get things done.


#2

I always loved this post - such a great look into how much work goes into each update, and how much planning is involved… months to years in advance.