SlideShare a Scribd company logo
1 of 27
GAME DEVELOPMENT,
START-UPS, AND
TECHNICAL DEBT
Eriks Klotins
PhD student in software engineering, BTH
“How to improve software engineering practices in start-ups?”
9+ years of experience in different roles in software engineering
ABOUT ME
ERIKS KLOTINS
eriks.klotins@bth.se
https://www.linkedin.com/in/eriksklotins/
THE FIRST CONCEPT
GAME DEVELOPMENT
Video games is A MIX OF ART AND ENGINEERING, a balance of what an artist
can imagine and what is technically possible
In contrast to other types of software,
MOST OF THE GAME MECHANICS MUST BE INVENTED. Customers do not care
whether to shoot at zombies, mend a farm, or drive a car, as long as it is fun
For game to be fun and engaging, there must be
A STRONG EMPHASIS ON NON-FUNCTIONAL REQUIREMENTS
VIDEO GAMES EVOLVE OVER TIME, more content is added, games are ported to
different platforms etc.
THE SECOND CONCEPT
START-UP COMPANIES
New companies created for a purpose to develop and bring a new,
innovative product to market.
Often lack resources and experience. Teams are minimal and build
software ad-hoc way.
There is a false belief that start-ups can write off any amount of
technical debt if the product turns out unsuccessful
THE THIRD CONCEPT
TECHNICAL DEBT
Technical debt is DISCREPANCIES FROM GOOD ENGINEERING
PRACTICES causing extra work later
Technical debt can be planned and CAN HELP TO ACHIEVE GOALS
FASTER at the expense of more work later
Technical debt CAN BE A RESULT OF NEGLIGENCE, LACK OF SKILL,
POOR DECISIONS and lead to bankruptcy.
A STORY
DEVELOPMENT OF A GAME PLATFORM
Build a website with 20 mini-games. Put together something
quick-and-dirty to test if there is a market potential
Games are mostly puzzle, attention games
Use HTML5, because it is new and cool
A STORY
DEVELOPMENT OF A GAME PLATFORM
Build a website with 20 mini-games. Put together something
quick-and-dirty to test if there is a market potential.
Use HTML5, because it is new and cool!
Just add 20 more games!
40
A STORY
DEVELOPMENT OF A GAME PLATFORM
Build a website with 20 mini-games. Put together something
quick-and-dirty to test if there is a market potential.
Use HTML5 because it is new and cool!
Just add 20 more games!
Can we have scoreboards, multiplayer features, and
more stuff?
40
Web ,iPhone, iPad,
Android tablets + phones (including
cheap ones),
Kindle Fire
A STORY
DEVELOPMENT OF A GAME PLATFORM
Build a website with 20 mini-games. Put together something
quick-and-dirty to test if there is a market potential.
Use HTML5 because it is new and cool!
Just add 20 more games!
Can we have scoreboards, multiplayer features, and more stuff
We want a mobile version for the entire thing
40
A STORY
DEVELOPMENT OF A GAME PLATFORM
Web ,iPhone, iPad,
Android tablets + phones (including
cheap ones),
Kindle Fire
Build a website with 20 mini-games. Put together something
quick-and-dirty to test if there is a market potential.
Use HTML5 because it is new and cool!
Just add 20 more games!
Can we have scoreboards, multiplayer features, and more..
We want mobile version for the entire thing (and 20 more games)
40
60
Web ,iPhone, iPad,
Android tablets + phones (including
cheap ones),
Kindle Fire
60
40
A STORY
DEVELOPMENT OF A GAME PLATFORM
Build a website with 20 mini-games. Put together something
quick-and-dirty to test if there is a market potential.
Use HTML5 because it is new and cool!
Just add 20 more games!
Can we have scoreboards, multiplayer features, and more..
We want mobile version for the entire thing (and 20 more games)
We want the product to be better than a competitor
A STORY
DEVELOPMENT OF A GAME PLATFORM
Build a website with 20 mini-games. Put together something
quick-and-dirty to test if there is a market potential.
Use HTML5 because it is new and cool!
Just add 20 more games!
Can we have scoreboards, multiplayer features, and more..
We want mobile version for the entire thing (and 20 more games)
We want the product to be better than a competitor
..add better sound effects in all 55+ games
Web ,iPhone, iPad,
Android tablets + phones (including
cheap ones),
Kindle Fire
60
40
A STORY
DEVELOPMENT OF A GAME PLATFORM
Web ,iPhone, iPad,
Android tablets + phones (including
cheap ones),
Kindle Fire
60
40
Build a website with 20 mini-games. Put together something
quick-and-dirty to test if there is a market potential
Use HTML5 because it is new and cool!
Just add 20 more games!
Can we have scoreboards, multiplayer features, and more..
We want mobile version for the entire thing (and 20 more games)
We want the product to be better than a competitor
..add better sound effects in all 55+ games
Why are these small changes taking forever?
DISAPPOINTMENT!
Stalling development of new features to deal with ”small” changes in all the
games
Unmanageable code, written by different developers in a hurry using an ad-
hoc framework
Architecture, built for few simple web games, ended up supporting 9+
platforms and 60 games
Documentation were in a form of emails and checklists. Knowledge about
the framework and platform was implicit
Testing the absolute minimum with manual, ad-hoc smoke, regression, and
scenario tests
A STORY
THE OUTCOME
There always be more ideas than there is time and money
Use of immature technologies with unknown limitations
Lack of skills to make the right decisions
Poorly managed change in quality goals from quick-and-dirty to portable and
competitive
Communication issues - too much pressure to deliver, too little
understanding and trust
REFLECTION
WHAT WENT WRONG?
Analysis of 200+ companies suggest that my story is very common among
new companies
Unwanted technical debt is introduced by smart people in difficult
circumstances
Testing is the least fun activity in software engineering just after maintaining
documentation
Larger teams need more coordination
Scaling up team and product exposes the technical debt
REFLECTION
WHAT HAPPENS IN OTHER START-UPS?
On a team level
• Architecture, quality goals
• Technology decisions
• Quality assurance practices
On an individual level
• Skills, experience
• Attitude
COUNTERMEASURES
TO UNWANTED TECHNICAL DEBT
Architecture
• Monolithic vs modular application
• Architecture should mimic your organizational structure
COUNTERMEASURES TO UNWANTED TECHNICAL DEBT
ON A TEAM LEVEL
Manage the shift in quality goals
COUNTERMEASURES TO UNWANTED TECHNICAL DEBT
ON A TEAM LEVEL
time
Technology decisions:
• JAVA vs PHP
• Ad hoc in-house framework vs a well known framework
• Just released, hyped libraries/tools/frameworks?
COUNTERMEASURES TO UNWANTED TECHNICAL DEBT
ON A TEAM LEVEL
Quality assurance practices:
• Automated metrics to identify code smells
• Linters
• Code reviews
• Pair-programming
• Collective code ownership
• Shared understanding what are good and bad practices
• Refactoring
COUNTERMEASURES TO UNWANTED TECHNICAL DEBT
ON A TEAM LEVEL
• Educate yourself
• Read good code, write good code
• Contribute to an open-source project
• Have a mentor
• Mind the Dunning-Kruger effect
COUNTERMEASURES TO UNWANTED TECHNICAL DEBT
ON AN INDIVIDUAL LEVEL
“If you are incompetent, you can’t know you
are incompetent… The skills you need to
produce a right answer are exactly the skills
you need to recognize what the right answer
is.”
- David Dunning
COUNTERMEASURES TO UNWANTED TECHNICAL DEBT
ON AN INDIVIDUAL LEVEL
COUNTERMEASURES TO UNWANTED TECHNICAL DEBT
ON AN INDIVIDUAL LEVEL
Three things you remember from my presentation?
DISCUSSION
Three things you remember from my presentation?
One thing that you really liked?
One thing where you disagree?
One thing that you don’t understood completely?
DISCUSSION
Game development, Start-ups, and Technical debt

More Related Content

Similar to Game development, Start-ups, and Technical debt

Publishing HTML5 Games: It’s ShowTime! | Laurens Rutten
Publishing HTML5 Games: It’s ShowTime! | Laurens RuttenPublishing HTML5 Games: It’s ShowTime! | Laurens Rutten
Publishing HTML5 Games: It’s ShowTime! | Laurens RuttenJessica Tams
 
The Modern Tech Stack: Microservices - The Dark Side
The Modern Tech Stack: Microservices - The Dark SideThe Modern Tech Stack: Microservices - The Dark Side
The Modern Tech Stack: Microservices - The Dark SideAggregage
 
Leiyoo company introduction
Leiyoo company introductionLeiyoo company introduction
Leiyoo company introductionRunApple
 
The Future of Video 2013
The Future of Video 2013The Future of Video 2013
The Future of Video 2013The Story Lab
 
Pitch Deck Teardown: Encore's $3M Pre-seed / Seed deck
Pitch Deck Teardown: Encore's $3M Pre-seed / Seed deckPitch Deck Teardown: Encore's $3M Pre-seed / Seed deck
Pitch Deck Teardown: Encore's $3M Pre-seed / Seed deckHajeJanKamps
 
LAFS Marketing and Monetization Lecture 7: Sales and Distribution
LAFS Marketing and Monetization Lecture 7: Sales and DistributionLAFS Marketing and Monetization Lecture 7: Sales and Distribution
LAFS Marketing and Monetization Lecture 7: Sales and DistributionDavid Mullich
 
The App Revolution - Is your Business Ready for Mobile?
The App Revolution - Is your Business Ready for Mobile?The App Revolution - Is your Business Ready for Mobile?
The App Revolution - Is your Business Ready for Mobile?Matthew David
 
Ideaworks Game Studio Profile
Ideaworks Game Studio ProfileIdeaworks Game Studio Profile
Ideaworks Game Studio Profilerobhendry
 
Flash vs. HTML5 - by Omer Gartzman
Flash vs. HTML5 - by Omer GartzmanFlash vs. HTML5 - by Omer Gartzman
Flash vs. HTML5 - by Omer GartzmanOmer Gartzman
 
Advancing the State of The Art in AI and Testing - DevOps Next
Advancing the State of The Art in AI and Testing - DevOps NextAdvancing the State of The Art in AI and Testing - DevOps Next
Advancing the State of The Art in AI and Testing - DevOps NextPerfecto by Perforce
 
Metodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en GamingMetodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en GamingGlobant
 
Is Content Marketing too Good to be True?
Is Content Marketing too Good to be True? Is Content Marketing too Good to be True?
Is Content Marketing too Good to be True? NapierPR
 
IoT, AI, ML Mix or How to Deal with New Technologies (Borys Pratsiuk Technolo...
IoT, AI, ML Mix or How to Deal with New Technologies (Borys Pratsiuk Technolo...IoT, AI, ML Mix or How to Deal with New Technologies (Borys Pratsiuk Technolo...
IoT, AI, ML Mix or How to Deal with New Technologies (Borys Pratsiuk Technolo...IT Arena
 
Globant Mobile Future - Android UADE FIT 2013
Globant Mobile Future - Android UADE FIT 2013Globant Mobile Future - Android UADE FIT 2013
Globant Mobile Future - Android UADE FIT 2013Pablo Vittori
 
Pieter Brinkman - My first mobile experience From mobile no no, to mobile go ...
Pieter Brinkman - My first mobile experienceFrom mobile no no, to mobile go ...Pieter Brinkman - My first mobile experienceFrom mobile no no, to mobile go ...
Pieter Brinkman - My first mobile experience From mobile no no, to mobile go ...SUGCON
 
AWS Partner Presentation - KANO/APPS - Large Scale HTML5 Games on Desktop, M...
AWS Partner Presentation -  KANO/APPS - Large Scale HTML5 Games on Desktop, M...AWS Partner Presentation -  KANO/APPS - Large Scale HTML5 Games on Desktop, M...
AWS Partner Presentation - KANO/APPS - Large Scale HTML5 Games on Desktop, M...Amazon Web Services
 
2014: The Breakthrough Year for HTML5 games?
2014: The Breakthrough Year for HTML5 games?2014: The Breakthrough Year for HTML5 games?
2014: The Breakthrough Year for HTML5 games?BoosterMedia
 
EuroIA 2016 Designing Connected Products
EuroIA 2016 Designing Connected ProductsEuroIA 2016 Designing Connected Products
EuroIA 2016 Designing Connected ProductsKoen Van Niekerk
 

Similar to Game development, Start-ups, and Technical debt (20)

Publishing HTML5 Games: It’s ShowTime! | Laurens Rutten
Publishing HTML5 Games: It’s ShowTime! | Laurens RuttenPublishing HTML5 Games: It’s ShowTime! | Laurens Rutten
Publishing HTML5 Games: It’s ShowTime! | Laurens Rutten
 
The Modern Tech Stack: Microservices - The Dark Side
The Modern Tech Stack: Microservices - The Dark SideThe Modern Tech Stack: Microservices - The Dark Side
The Modern Tech Stack: Microservices - The Dark Side
 
Leiyoo company introduction
Leiyoo company introductionLeiyoo company introduction
Leiyoo company introduction
 
The Future of Video 2013
The Future of Video 2013The Future of Video 2013
The Future of Video 2013
 
Pitch Deck Teardown: Encore's $3M Pre-seed / Seed deck
Pitch Deck Teardown: Encore's $3M Pre-seed / Seed deckPitch Deck Teardown: Encore's $3M Pre-seed / Seed deck
Pitch Deck Teardown: Encore's $3M Pre-seed / Seed deck
 
LAFS Marketing and Monetization Lecture 7: Sales and Distribution
LAFS Marketing and Monetization Lecture 7: Sales and DistributionLAFS Marketing and Monetization Lecture 7: Sales and Distribution
LAFS Marketing and Monetization Lecture 7: Sales and Distribution
 
The App Revolution - Is your Business Ready for Mobile?
The App Revolution - Is your Business Ready for Mobile?The App Revolution - Is your Business Ready for Mobile?
The App Revolution - Is your Business Ready for Mobile?
 
EIA 2015 Validating Revenue Model Assumptions
EIA 2015 Validating Revenue Model AssumptionsEIA 2015 Validating Revenue Model Assumptions
EIA 2015 Validating Revenue Model Assumptions
 
Ideaworks Game Studio Profile
Ideaworks Game Studio ProfileIdeaworks Game Studio Profile
Ideaworks Game Studio Profile
 
Ink AI Review.pdf
Ink AI Review.pdfInk AI Review.pdf
Ink AI Review.pdf
 
Flash vs. HTML5 - by Omer Gartzman
Flash vs. HTML5 - by Omer GartzmanFlash vs. HTML5 - by Omer Gartzman
Flash vs. HTML5 - by Omer Gartzman
 
Advancing the State of The Art in AI and Testing - DevOps Next
Advancing the State of The Art in AI and Testing - DevOps NextAdvancing the State of The Art in AI and Testing - DevOps Next
Advancing the State of The Art in AI and Testing - DevOps Next
 
Metodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en GamingMetodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en Gaming
 
Is Content Marketing too Good to be True?
Is Content Marketing too Good to be True? Is Content Marketing too Good to be True?
Is Content Marketing too Good to be True?
 
IoT, AI, ML Mix or How to Deal with New Technologies (Borys Pratsiuk Technolo...
IoT, AI, ML Mix or How to Deal with New Technologies (Borys Pratsiuk Technolo...IoT, AI, ML Mix or How to Deal with New Technologies (Borys Pratsiuk Technolo...
IoT, AI, ML Mix or How to Deal with New Technologies (Borys Pratsiuk Technolo...
 
Globant Mobile Future - Android UADE FIT 2013
Globant Mobile Future - Android UADE FIT 2013Globant Mobile Future - Android UADE FIT 2013
Globant Mobile Future - Android UADE FIT 2013
 
Pieter Brinkman - My first mobile experience From mobile no no, to mobile go ...
Pieter Brinkman - My first mobile experienceFrom mobile no no, to mobile go ...Pieter Brinkman - My first mobile experienceFrom mobile no no, to mobile go ...
Pieter Brinkman - My first mobile experience From mobile no no, to mobile go ...
 
AWS Partner Presentation - KANO/APPS - Large Scale HTML5 Games on Desktop, M...
AWS Partner Presentation -  KANO/APPS - Large Scale HTML5 Games on Desktop, M...AWS Partner Presentation -  KANO/APPS - Large Scale HTML5 Games on Desktop, M...
AWS Partner Presentation - KANO/APPS - Large Scale HTML5 Games on Desktop, M...
 
2014: The Breakthrough Year for HTML5 games?
2014: The Breakthrough Year for HTML5 games?2014: The Breakthrough Year for HTML5 games?
2014: The Breakthrough Year for HTML5 games?
 
EuroIA 2016 Designing Connected Products
EuroIA 2016 Designing Connected ProductsEuroIA 2016 Designing Connected Products
EuroIA 2016 Designing Connected Products
 

Recently uploaded

Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
High Profile Call Girls Dahisar Arpita 9907093804 Independent Escort Service ...
High Profile Call Girls Dahisar Arpita 9907093804 Independent Escort Service ...High Profile Call Girls Dahisar Arpita 9907093804 Independent Escort Service ...
High Profile Call Girls Dahisar Arpita 9907093804 Independent Escort Service ...Call girls in Ahmedabad High profile
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).pptssuser5c9d4b1
 

Recently uploaded (20)

Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
High Profile Call Girls Dahisar Arpita 9907093804 Independent Escort Service ...
High Profile Call Girls Dahisar Arpita 9907093804 Independent Escort Service ...High Profile Call Girls Dahisar Arpita 9907093804 Independent Escort Service ...
High Profile Call Girls Dahisar Arpita 9907093804 Independent Escort Service ...
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
 

Game development, Start-ups, and Technical debt

  • 2. PhD student in software engineering, BTH “How to improve software engineering practices in start-ups?” 9+ years of experience in different roles in software engineering ABOUT ME ERIKS KLOTINS eriks.klotins@bth.se https://www.linkedin.com/in/eriksklotins/
  • 3. THE FIRST CONCEPT GAME DEVELOPMENT Video games is A MIX OF ART AND ENGINEERING, a balance of what an artist can imagine and what is technically possible In contrast to other types of software, MOST OF THE GAME MECHANICS MUST BE INVENTED. Customers do not care whether to shoot at zombies, mend a farm, or drive a car, as long as it is fun For game to be fun and engaging, there must be A STRONG EMPHASIS ON NON-FUNCTIONAL REQUIREMENTS VIDEO GAMES EVOLVE OVER TIME, more content is added, games are ported to different platforms etc.
  • 4. THE SECOND CONCEPT START-UP COMPANIES New companies created for a purpose to develop and bring a new, innovative product to market. Often lack resources and experience. Teams are minimal and build software ad-hoc way. There is a false belief that start-ups can write off any amount of technical debt if the product turns out unsuccessful
  • 5. THE THIRD CONCEPT TECHNICAL DEBT Technical debt is DISCREPANCIES FROM GOOD ENGINEERING PRACTICES causing extra work later Technical debt can be planned and CAN HELP TO ACHIEVE GOALS FASTER at the expense of more work later Technical debt CAN BE A RESULT OF NEGLIGENCE, LACK OF SKILL, POOR DECISIONS and lead to bankruptcy.
  • 6. A STORY DEVELOPMENT OF A GAME PLATFORM Build a website with 20 mini-games. Put together something quick-and-dirty to test if there is a market potential Games are mostly puzzle, attention games Use HTML5, because it is new and cool
  • 7. A STORY DEVELOPMENT OF A GAME PLATFORM Build a website with 20 mini-games. Put together something quick-and-dirty to test if there is a market potential. Use HTML5, because it is new and cool! Just add 20 more games! 40
  • 8. A STORY DEVELOPMENT OF A GAME PLATFORM Build a website with 20 mini-games. Put together something quick-and-dirty to test if there is a market potential. Use HTML5 because it is new and cool! Just add 20 more games! Can we have scoreboards, multiplayer features, and more stuff? 40
  • 9. Web ,iPhone, iPad, Android tablets + phones (including cheap ones), Kindle Fire A STORY DEVELOPMENT OF A GAME PLATFORM Build a website with 20 mini-games. Put together something quick-and-dirty to test if there is a market potential. Use HTML5 because it is new and cool! Just add 20 more games! Can we have scoreboards, multiplayer features, and more stuff We want a mobile version for the entire thing 40
  • 10. A STORY DEVELOPMENT OF A GAME PLATFORM Web ,iPhone, iPad, Android tablets + phones (including cheap ones), Kindle Fire Build a website with 20 mini-games. Put together something quick-and-dirty to test if there is a market potential. Use HTML5 because it is new and cool! Just add 20 more games! Can we have scoreboards, multiplayer features, and more.. We want mobile version for the entire thing (and 20 more games) 40 60
  • 11. Web ,iPhone, iPad, Android tablets + phones (including cheap ones), Kindle Fire 60 40 A STORY DEVELOPMENT OF A GAME PLATFORM Build a website with 20 mini-games. Put together something quick-and-dirty to test if there is a market potential. Use HTML5 because it is new and cool! Just add 20 more games! Can we have scoreboards, multiplayer features, and more.. We want mobile version for the entire thing (and 20 more games) We want the product to be better than a competitor
  • 12. A STORY DEVELOPMENT OF A GAME PLATFORM Build a website with 20 mini-games. Put together something quick-and-dirty to test if there is a market potential. Use HTML5 because it is new and cool! Just add 20 more games! Can we have scoreboards, multiplayer features, and more.. We want mobile version for the entire thing (and 20 more games) We want the product to be better than a competitor ..add better sound effects in all 55+ games Web ,iPhone, iPad, Android tablets + phones (including cheap ones), Kindle Fire 60 40
  • 13. A STORY DEVELOPMENT OF A GAME PLATFORM Web ,iPhone, iPad, Android tablets + phones (including cheap ones), Kindle Fire 60 40 Build a website with 20 mini-games. Put together something quick-and-dirty to test if there is a market potential Use HTML5 because it is new and cool! Just add 20 more games! Can we have scoreboards, multiplayer features, and more.. We want mobile version for the entire thing (and 20 more games) We want the product to be better than a competitor ..add better sound effects in all 55+ games Why are these small changes taking forever?
  • 14. DISAPPOINTMENT! Stalling development of new features to deal with ”small” changes in all the games Unmanageable code, written by different developers in a hurry using an ad- hoc framework Architecture, built for few simple web games, ended up supporting 9+ platforms and 60 games Documentation were in a form of emails and checklists. Knowledge about the framework and platform was implicit Testing the absolute minimum with manual, ad-hoc smoke, regression, and scenario tests A STORY THE OUTCOME
  • 15. There always be more ideas than there is time and money Use of immature technologies with unknown limitations Lack of skills to make the right decisions Poorly managed change in quality goals from quick-and-dirty to portable and competitive Communication issues - too much pressure to deliver, too little understanding and trust REFLECTION WHAT WENT WRONG?
  • 16. Analysis of 200+ companies suggest that my story is very common among new companies Unwanted technical debt is introduced by smart people in difficult circumstances Testing is the least fun activity in software engineering just after maintaining documentation Larger teams need more coordination Scaling up team and product exposes the technical debt REFLECTION WHAT HAPPENS IN OTHER START-UPS?
  • 17. On a team level • Architecture, quality goals • Technology decisions • Quality assurance practices On an individual level • Skills, experience • Attitude COUNTERMEASURES TO UNWANTED TECHNICAL DEBT
  • 18. Architecture • Monolithic vs modular application • Architecture should mimic your organizational structure COUNTERMEASURES TO UNWANTED TECHNICAL DEBT ON A TEAM LEVEL
  • 19. Manage the shift in quality goals COUNTERMEASURES TO UNWANTED TECHNICAL DEBT ON A TEAM LEVEL time
  • 20. Technology decisions: • JAVA vs PHP • Ad hoc in-house framework vs a well known framework • Just released, hyped libraries/tools/frameworks? COUNTERMEASURES TO UNWANTED TECHNICAL DEBT ON A TEAM LEVEL
  • 21. Quality assurance practices: • Automated metrics to identify code smells • Linters • Code reviews • Pair-programming • Collective code ownership • Shared understanding what are good and bad practices • Refactoring COUNTERMEASURES TO UNWANTED TECHNICAL DEBT ON A TEAM LEVEL
  • 22. • Educate yourself • Read good code, write good code • Contribute to an open-source project • Have a mentor • Mind the Dunning-Kruger effect COUNTERMEASURES TO UNWANTED TECHNICAL DEBT ON AN INDIVIDUAL LEVEL “If you are incompetent, you can’t know you are incompetent… The skills you need to produce a right answer are exactly the skills you need to recognize what the right answer is.” - David Dunning
  • 23. COUNTERMEASURES TO UNWANTED TECHNICAL DEBT ON AN INDIVIDUAL LEVEL
  • 24. COUNTERMEASURES TO UNWANTED TECHNICAL DEBT ON AN INDIVIDUAL LEVEL
  • 25. Three things you remember from my presentation? DISCUSSION
  • 26. Three things you remember from my presentation? One thing that you really liked? One thing where you disagree? One thing that you don’t understood completely? DISCUSSION

Editor's Notes

  1. To maintain the balance there must be a close cooperation between artists and engineers
  2. To maintain the balance there must be a close cooperation between artists and engineers
  3. To maintain the balance there must be a close cooperation between artists and engineers Technical debt is discrepancies from good engineering practices now that will cause extra work later
  4. To maintain the balance there must be a close cooperation between artists and engineers Technical debt is discrepancies from good engineering practices now that will cause extra work later
  5. To maintain the balance there must be a close cooperation between artists and engineers Technical debt is discrepancies from good engineering practices now that will cause extra work later
  6. To maintain the balance there must be a close cooperation between artists and engineers Technical debt is discrepancies from good engineering practices now that will cause extra work later
  7. To maintain the balance there must be a close cooperation between artists and engineers Technical debt is discrepancies from good engineering practices now that will cause extra work later
  8. To maintain the balance there must be a close cooperation between artists and engineers Technical debt is discrepancies from good engineering practices now that will cause extra work later
  9. To maintain the balance there must be a close cooperation between artists and engineers Technical debt is discrepancies from good engineering practices now that will cause extra work later
  10. To maintain the balance there must be a close cooperation between artists and engineers Technical debt is discrepancies from good engineering practices now that will cause extra work later
  11. To maintain the balance there must be a close cooperation between artists and engineers Technical debt is discrepancies from good engineering practices now that will cause extra work later
  12. If you notice, I did not mention if games were good or bad, whether the customers liked them or not.. Whether the company had a meaningful business model.. Yet we spent hours arguing about game designs and other nitty-gritty details. We never got to the point where this is relevant.. Mostly due to bad decisions and technical debt! 1. The ideas are exclusively about customer value, visible features. However these features need Internal support in architecture. Sadly, as a developer you are paid for external features only. Internals is your business. 2. Bad decisions were made by good people Under pressure With incomplete information
  13. Many young companies never launch their product Many never get to the point where the features matter Many never get to the point where the business model matters Knowledge = domain, SE, marketing, sales + means of benefiting from group knowledge Have a nice narrative.. Talk about contributing factors to TD
  14. Modular – easier to split work, less dependencies. Easier to test. Easier to add/remove features Monolithic lump = grows too big too fast. Interdependencies makes changes difficult.
  15. Modular – easier to split work, less dependencies. Easier to test. Easier to add/remove features Monolithic lump = grows too big too fast. Interdependencies makes changes difficult.
  16. “If you are incompetent, you can’t know you are incompetent… The skills you need to produce a right answer are exactly the skills you need to recognize what the right answer is.” - David Dunning
  17. Things go as low as people are ready to tolerate Software engineering is a team activity and each person in the team is responsible for the end result.