scaling online game development
DESCRIPTION
How do you transform from a small company with just a few people to one that's 60+ people strong, developing and operating multiple online games at the same time? The presentation covers: - the pains of introducing Scrum to the company - how to get the right people in the company and how to keep them - our solutions for knowledge and technology sharing across the teams - the importance of automation of the build and release processTRANSCRIPT
ScalingOnline Game Development
Maciej MrózCTO, Ganymede
39 M.Registered Users
3.1 M.MAU
70 KNew Registrations Per Day
We started small, just likeeveryone else.
Took us a while to get to ~30 people.
Then in 2012 we almost doubled our headcount.
Made quite a few mistakes in the process :(
OUR GROWTH
4
THE'STARTUPDECEPTION'
Startups are agile by nature.
Any formalities and hierarchies are just overhead.
Fast and loose on both engineering and product development.
Everyone knows each other, the product, the customer.
Communication is very informal.
... AND THEN IT ALL BREAKS DOWN
Growing complexity of technology, products,
operations.
... AND THEN IT ALL BREAKS DOWN
Unclearand changing requirements.
Product quality becomes harder
and harder to maintain.
Development slows down, morale suffers.
New employees are the first affected,but the last to voice their concerns.
8
OURMISTAKES
What we missed:
Formal hierarchy and clear responsibilities.
Development process.
Documentation.
Communication channels.
Employee onboarding and training.
!
THE BIGGEST MISTAKE
Assuming that things will work the same wayat 2x size!
WELCOME TO HELL
SCRUM as standard development framework.
CORE TECHNOLOGY TEAM
STANDARDIZEDcollaboration tools (issue tracker, source control, code review, continuous integration).
AUTOMATE EVERYTHINGthat's repeatable.
EDUCATEour employees!
TAMING THE CHAOS
CHAOS
WHY SCRUM?
15
WHY SCRUM?
15
Extremely goodfit to online gaming where
iterative approach to development is the norm.
Simple,almost minimalistic
framework.
Mostdevelopershave at least vague idea of how it works.
Trainingand resourcesare widely available.
SCRUM TRAINING
Storypoints
PRODUCTOWNER
RETROSPECTIVE
Task
Sprint
SUCCESScharts
GROWTH
Backlog
developers
SCRUM
SCRUMTRAINING
Probably the most misunderstood framework in software engineering.
Knowing Scrum Guide and understanding it are two different things.
Reading a book on agile software engineering is not enough!
Don't assume anything, train everyone!
Get external help, it is worth it.
SCRUM
IT'S NOT FOR EVERYONE, lone wolves may find it difficult to adjust.
THE SPRINTmust become the heart beat of the company, and it takes time.
BROKEN IMPLEMENTATIONScan do more harm than good.
CHANGING THE ORGANIZATIONis going to meet resistance.
THE TRAPS
It’s not thedevelopment teams!
Job positionsand responsibilities must be changed.(Not everyone is going to be happy about it).
Getting businesspeople to understand technology is hard.
So is getting tech peopleto understand business.
Product peoplerequire even more training than developers.
THE REAL CHALLENGE
DO IT EARLY
If we were doing it again it would be a lot earlier!
Introducing Scrum late is extremely painful.Old habits die hard.
Prepare yourself for a marathon.
it took ~18 months to see the benefits
IN OUR CASE
INDEPENDENTTEAMS
Keep decisions decentralized, track only highlevel KPIs.
Product teams are cross functional.•Programmers, designer, artist, tester, analyst...
Product teams must really be in charge.
Our development teams are responsible for product operations.
KNOWLEDGE/TECHNOLOGY SHARING
Core technology team (application server, tools, standards).
SIGs/tribes (Spotify as an inspiration).•QA, analytics, server side development.•Can only be encouraged.
Central Wiki for storing documentation - everyone sees (almost) everything.
GitHub-like development model (we use GitLab) - everyone can see and use code from other teams.
On the backend moving towards microservices.
Automation
Builds•Repeatable build straight from source control is probably the most important thing you can do!
Deployments, Rollbacks.
Setting up/tearing down servers.
Calculating common KPIs across all products.
AUTOMATION
Mix of junior and senior people.
Employee onboarding and training becomesfull time job.•Technical, process, business knowledge.
Recruitment becomes a constant process,not ad-hoc activity.
Getting the right people in (and wrong people out) is a challenge.
Better to stay small than grow unprepared.
EMPLOYEE EDUCATION
GROWTH MUST BE PLANNED
Make changes in advance
The solutions for successful growth
span every aspect of the company
The balance is hard to keep
Do not overdo it, some things do not make sense at small scale
SCALING IS NEVER REALLY DONE
There's no silver bullet.
Many things affecting how we work:•product portfolio, our users, keeping employees happy.
Being more efficient vs having shorter cycle time.
Cross functional teams vs silos - we are a hybrid!
What works today, doesn't have to work for you tomorrow.