SlideShare a Scribd company logo
1 of 108
Download to read offline
+
       Scaling	
  Massive	
  Flash-­‐Projects           	
  
    -­‐How	
  to	
  build	
  a	
  Top	
  10	
  game	
  on	
  
                       Facebook-­‐        	
  
                                    	
  
             Philipp	
  Moeser	
  (Co-­‐Founder	
  &	
  CTO)   	
  
              Ma8es	
  Groeger	
  (Senior	
  Engineer)    	
  
n 
            Teams	
  &	
  tools	
  	
  
      Teams	
  and	
  Tools	
  you	
  need	
  to	
  build	
  a	
  Top	
  
      Game	
  

           you	
  need	
  to	
  build	
  	
  
              a	
  big	
  game	
  

                                                                            2	
  
wooga	
  –	
  world	
  of	
  gaming	
  
 About	
  wooga	
  
 Founded	
  January	
  2009	
                                                                  Philipp	
  Moeser	
  
 Funding	
  of	
  $32m	
                                                                     -­‐Co-­‐Founder	
  &	
  CTO-­‐	
  
 InternaJonal	
  team	
  of	
  100	
  
 from	
  over	
  20	
  countries	
  in	
  Berlin	
  

               Ma8es	
  Groeger	
  
                -­‐Senior	
  Engineer-­‐	
             Key	
  stats	
  
                                                       6	
  games	
  on	
  Facebook,	
  39	
  million	
  acJve	
  users	
  
                                                       3rd	
  biggest	
  social	
  game	
  developer	
  worldwide	
  
                                                       70%	
  of	
  users	
  are	
  female	
  (age	
  20-­‐60)	
  




                                                                                                                              3	
  
Agenda	
  

 I.  Challenges	
  

 II.  Our	
  philosophy	
  

 III.  Environment	
  

 IV.  Best	
  pracJce	
  examples	
  

 V.  Summary	
  



                                        4	
  
Agenda	
  

 I.  Challenges	
  




                      5	
  
§    Launched	
  February	
  2010	
  
§    12th	
  Facebook	
  game	
  
§    10	
  m	
  monthly	
  acJve	
  user	
  (MAU)	
  
§    800	
  engineering	
  days	
  invested	
  
§    Launched	
  May	
  2010	
  
§    14th	
  biggest	
  Facebook	
  game	
  
§    8,7	
  m	
  MAU	
  
§    1200	
  engineering	
  days	
  invested	
  so	
  
      far	
  
§    Launched	
  August	
  2011	
  
§    Top	
  10	
  fastest	
  growing	
  game	
  
§    3	
  m	
  MAU	
  
§    500	
  engineering	
  days	
  invested	
  so	
  far	
  
How	
  do	
  games	
  differ	
  



                    n    Quick	
  prototyping	
  

                    n    Features	
  get	
  killed	
  

                    n    High	
  complexity	
  




                                                          9	
  
Challenges	
  summary	
  



                   n    Complex	
  
                   n    Large	
  
                   n    Moving	
  target	
  




                                                10	
  
Agenda	
  

 I.  Challenges	
  

 II.  Our	
  philosophy	
  




                              11	
  
Agile!	
  


             12	
  
Why	
  agile?	
  


                    13	
  
development	
  
         manifesto	
  for	
  agile	
  soJware	
  
14	
  




                                                    http://10yearsagile.org/wp-content/uploads/2011/01/background.jpg/
Our	
  philosophy:	
  agile	
  


           n    Individuals	
  and	
  interacJons	
  over	
  	
  
                 processes	
  and	
  tools	
  
           n    Working	
  socware	
  over	
  	
  
                 comprehensive	
  documentaJon	
  
           n    Customer	
  collaboraJon	
  over	
  	
  
                 contract	
  negoJaJon	
  
           n    Responding	
  to	
  changes	
  over	
  	
  
                 following	
  a	
  plan	
  


                                                                     15	
  
Our	
  philosophy:	
  agile	
  

            n    Individuals	
  and	
  interacJons	
  over	
  	
  
                  processes	
  and	
  tools	
  
            n    Working	
  socware	
  over	
  	
  
                  comprehensive	
  documentaJon	
  
            n    Customer	
  collaboraJon	
  over	
  	
  
                  contract	
  negoJaJon	
  
            n    Responding	
  to	
  changes	
  over	
  	
  
                  following	
  a	
  plan	
  



                                                                      16	
  
talk	
  




           17	
  
Our	
  philosophy:	
  agile	
  

            n    Individuals	
  and	
  interacJons	
  over	
  	
  
                  processes	
  and	
  tools	
  
            n    Working	
  socware	
  over	
  	
  
                  comprehensive	
  documentaJon	
  
            n    Customer	
  collaboraJon	
  over	
  	
  
                  contract	
  negoJaJon	
  
            n    Responding	
  to	
  changes	
  over	
  	
  
                  following	
  a	
  plan	
  



                                                                      18	
  
prototypes	
  




                 19	
  
Our	
  philosophy:	
  agile	
  

            n    Individuals	
  and	
  interacJons	
  over	
  	
  
                  processes	
  and	
  tools	
  
            n    Working	
  socware	
  over	
  	
  
                  comprehensive	
  documentaJon	
  
            n    Customer	
  collaboraJon	
  over	
  	
  
                  contract	
  negoJaJon	
  
            n    Responding	
  to	
  changes	
  over	
  	
  
                  following	
  a	
  plan	
  



                                                                      20	
  
collaborate	
  




21	
  




http://aspektmagazin.wordpress.com/2011/05/16/honig-im-dreivierteltakt/
Our	
  philosophy:	
  agile	
  

            n    Individuals	
  and	
  interacJons	
  over	
  	
  
                  processes	
  and	
  tools	
  
            n    Working	
  socware	
  over	
  	
  
                  comprehensive	
  documentaJon	
  
            n    Customer	
  collaboraJon	
  over	
  	
  
                  contract	
  negoJaJon	
  
            n    Responding	
  to	
  changes	
  over	
  	
  
                  following	
  a	
  plan	
  



                                                                      22	
  
Collaborate.




         best	
  soluPon	
  
23	
  




http://www.financialmeltdown.com/the_solution.html
Why	
  agile?	
  


                    24	
  
Philosophy	
  summary	
  	
  
	
  

  n    Internal	
  communicaJon	
  (instead	
  of	
  processes)	
  
  n    Protoyping	
  &	
  iteraJng	
  
  n    External	
  communicaJon	
  (instead	
  of	
  contracts)	
  
  n    Flexibility	
  




                                                                       25	
  
Agenda	
  

 I.  Challenges	
  

 II.  Our	
  philosophy	
  

 III.  Environment	
  




                              26	
  
Independence	
  


                   27	
  
no	
  frameworks	
  




                       28	
  
no	
  processes	
  




                      29	
  
no	
  manager	
  




                    30	
  
Responsibility	
  


                     31	
  
few	
  roles	
  




                   32	
  
small	
  team	
  
                    33	
  
CommunicaPon	
  


                   34	
  
one	
  room	
  	
  




one	
  room	
  
                       35	
  
Team	
  summary	
  	
  
	
  


                     n    Independence	
  
                     n    Responsibility	
  
                     n    CommunicaJon	
  




                                                36	
  
Agenda	
  

 I.  Challenges	
  

 II.  Our	
  philosophy	
  

 III.  Environment	
  

 IV.  Best	
  pracJce	
  examples	
  




                                        37	
  
And	
  now...	
  


                    38	
  
hands	
  on	
  




                  39	
  
Agile	
  rocks	
  


                     40	
  
danger	
  




             41	
  
42	
  




         http://www.lebensmittelfotos.com/2008/07/20/spaghetti-und-pesto/
43	
  
Examples	
  



  n    Unit	
  tesJng	
  
  n    Service	
  layer	
  
  n    ConJnuous	
  integraJon	
  




                                      44	
  
Examples	
  



  n    Unit	
  tesJng	
  
  n    Service	
  layer	
  
  n    ConJnuous	
  integraJon	
  




                                      45	
  
What	
  is	
  unit	
  tesJng?	
  



              A	
                           C	
  
                                    B	
  



                                                    46	
  
One	
  test	
  per	
  class	
  



               A	
                        C	
  
                                  B	
  


               T	
                T	
     T	
  
                                                  47	
  
change	
  of	
  
perspecPve	
  
                48	
  
encapsulaPon	
  




49	
  




http://cheejyg.deviantart.com/art/HortPark-Recycling-bin-174639710
encapsulation
                                                                     safety	
  net	
  




50	
  




http://cheejyg.deviantart.com/art/HortPark-Recycling-bin-174639710
acts	
  as	
  
         documentaPon	
  
             encapsulation
                                                                     safety net




51	
  




http://cheejyg.deviantart.com/art/HortPark-Recycling-bin-174639710
52	
  
53	
  
54	
  
55	
  
 	
  	
  




               56	
  
 	
  	
  




               57	
  
 	
  	
  




               58	
  
59	
  
Mock	
  objects	
  



     n    Simulated	
  objects	
  with	
  controlled	
  
           behaviour	
  
     n    Same	
  interface	
  as	
  the	
  real	
  object	
  
     n    SuggesJng:	
  Mockito	
  Flex	
  
           h8ps://bitbucket.org/loomis/mockito-­‐flex	
  	
  




                                                                  60	
  
Example	
  



              A	
             C	
  
                      B	
  



                                      61	
  
Dependency	
  



         A	
             C	
  
                 B	
  


                 T	
  
                                 62	
  
Mock	
  dependency	
  



          A	
                    M	
  
                         B	
  


                         T	
  
                                         63	
  
64	
  
Example	
  


                                       IUser	
  

              A	
  
                                      Energy	
  
                                     Controller	
  
                      Reward
                      Assigner	
  




                         T	
  
                                                      65	
  
 	
  	
  




               66	
  
 	
  	
  




               67	
  
 	
  	
  




               68	
  
 	
  	
  




               69	
  
 	
  	
  



               70	
  
Examples	
  



               n    Unit	
  tesJng	
  
               n    Service	
  layer	
  
               n    ConJnuous	
  integraJon	
  




                                                   71	
  
Client	
  communicaJon	
  



                       Client	
  




           JS	
     Backend	
       Facebook	
  


                                                   72	
  
Keep	
  your	
  client	
  independent	
  



                           Client	
  

                       Service	
  Layer	
  


             JS	
      Backend	
          Facebook	
  


                                                         73	
  
Now	
  you	
  can	
  fake	
  everything	
  



                             Client	
  

                         Service	
  Layer	
  

            Fake	
        Fake	
                Fake	
  
             JS	
        Backend	
            Facebook	
  

                                                             74	
  
Benefits?	
  


               75	
  
easier	
  to	
  test	
  


                       76	
  
target new platforms
                       77	
  
work	
  offline	
  


                    78	
  
How	
  to	
  implement?	
  


                              79	
  
80	
  
decoraPon	
  




                81	
  
82	
  
 	
  	
  




               83	
  
 	
  	
  




               84	
  
 	
  	
  




               85	
  
Compiler	
  Constants	
  




                            86	
  
Compiler	
  Constants	
  




                            87	
  
Compiler	
  Constants	
  




                            	
  	
  	
  




                                           88	
  
Compiler	
  Constants	
  




                            	
  	
  	
  




                                           89	
  
Compiler	
  Constants	
  




                            90	
  
Always	
  build	
  	
  
two	
  versions???	
  


                           91	
  
Examples	
  



               n    Unit	
  tesJng	
  
               n    Service	
  layer	
  
               n    ConJnuous	
  integraJon	
  




                                                   92	
  
What	
  it	
  does	
  



            n    ConJnuously	
  applies	
  quality	
  control	
  
            n    Runs	
  on	
  a	
  server	
  
            n    AutomaJcally	
  builds	
  and	
  deploys	
  
            n    Jobs:	
  snapshot,	
  nightly,	
  release	
  




                                                                     93	
  
94	
  
 	
  	
  




               95	
  
 	
  	
  




               96	
  
 	
  	
  




               97	
  
Test	
  coverage	
  




                       98	
  
Benefits?	
  


               99	
  
runnable	
  version	
  

                          100	
  
run	
  all	
  tests	
  




     runnable version

                          101	
  
runs all tests




                    arPsts	
  see	
  	
  
                 their	
  changes	
  
                                       102	
  
runs all tests



                 perform	
  heavy	
  
                     operaPons	
  




                                        103	
  
Wrap-­‐up:	
  best	
  pracJce	
  



  n    Special	
  requirements	
  for	
  code	
  
  n    Keep	
  up	
  producJon	
  speed	
  
  n    Keep	
  your	
  client	
  independent	
  
  n    Automate	
  as	
  much	
  as	
  possible	
  




                                                       104	
  
Agenda	
  

 I.  Challenges	
  

 II.  Our	
  philosophy	
  

 III.  Environment	
  

 IV.  Best	
  pracJce	
  examples	
  

 V.  Summary	
  



                                        105	
  
I.	
  Challenges	
                            II.	
  Our	
  philosophy	
  	
  




                                              Internal communication (instead of processes)
                                                  Internal communication |
                                              Protoyping & iterating
                           Large | complex              Protoyping & iterating | External
                                              External communication (instead of contracts)
                            | moving target             communication | Flexibility
                                              Flexibility

III.	
  Environment!	
                        IV.	
  Best	
  pracPce	
  examples	
  
                                              	
  
     Independence | responsibility |          	
  
            communication                     	
                       Unit testing | service
                                                                   layer | cont. integration
wooga.com/jobs	
     107	
  
Thank	
  you!	
  
                	
  
       Philipp	
  Moeser	
  
CO-­‐Founder	
  &	
  CTO	
  wooga	
  
                	
  
       Ma^es	
  Groeger	
  
Senior	
  Engineer	
  at	
  wooga	
  
      @Ma8esGroeger	
  
                	
  
      Twi^er:	
  @wooga	
  
      wooga.com/jobs	
  




                                        108	
  

More Related Content

Viewers also liked

Séminaire revenu canada
Séminaire revenu canadaSéminaire revenu canada
Séminaire revenu canadaisabelle999
 
EXPERIENCIAS DE AULA
EXPERIENCIAS DE AULAEXPERIENCIAS DE AULA
EXPERIENCIAS DE AULANidiatati
 
Chaine de valeur et pré qualification des ventes
Chaine de valeur et pré qualification des ventesChaine de valeur et pré qualification des ventes
Chaine de valeur et pré qualification des ventesREPEX
 
Препорака 2 Филип Лазаревски.PDF
Препорака 2 Филип Лазаревски.PDFПрепорака 2 Филип Лазаревски.PDF
Препорака 2 Филип Лазаревски.PDFFilip Lazarevski
 
EXAMEN PRÁCTICO DE COMPUTACIÓN 2DO BIM
EXAMEN PRÁCTICO DE COMPUTACIÓN 2DO BIMEXAMEN PRÁCTICO DE COMPUTACIÓN 2DO BIM
EXAMEN PRÁCTICO DE COMPUTACIÓN 2DO BIMBrayan Caraguay
 
Unleash 2016 Wilkinson FINAL
Unleash 2016 Wilkinson FINALUnleash 2016 Wilkinson FINAL
Unleash 2016 Wilkinson FINALIan Wilkinson
 
Tutorial prerregistro beca SEP - OPORTUNIDADES
Tutorial prerregistro beca SEP - OPORTUNIDADESTutorial prerregistro beca SEP - OPORTUNIDADES
Tutorial prerregistro beca SEP - OPORTUNIDADESCBTA 52
 
Bm1 2010 mlaka 1
Bm1 2010 mlaka 1Bm1 2010 mlaka 1
Bm1 2010 mlaka 1Azmah Zin
 
Poeme de victor_hugo_mfs
Poeme de victor_hugo_mfsPoeme de victor_hugo_mfs
Poeme de victor_hugo_mfspacouli
 
Est02 limpiemos mexico
Est02   limpiemos mexicoEst02   limpiemos mexico
Est02 limpiemos mexicoemmstone
 
José carlos duarte ibm - painel 4
José carlos duarte   ibm - painel 4José carlos duarte   ibm - painel 4
José carlos duarte ibm - painel 4Unomarketing
 

Viewers also liked (19)

Séminaire revenu canada
Séminaire revenu canadaSéminaire revenu canada
Séminaire revenu canada
 
EXPERIENCIAS DE AULA
EXPERIENCIAS DE AULAEXPERIENCIAS DE AULA
EXPERIENCIAS DE AULA
 
Chaine de valeur et pré qualification des ventes
Chaine de valeur et pré qualification des ventesChaine de valeur et pré qualification des ventes
Chaine de valeur et pré qualification des ventes
 
Препорака 2 Филип Лазаревски.PDF
Препорака 2 Филип Лазаревски.PDFПрепорака 2 Филип Лазаревски.PDF
Препорака 2 Филип Лазаревски.PDF
 
Ap
ApAp
Ap
 
EXAMEN PRÁCTICO DE COMPUTACIÓN 2DO BIM
EXAMEN PRÁCTICO DE COMPUTACIÓN 2DO BIMEXAMEN PRÁCTICO DE COMPUTACIÓN 2DO BIM
EXAMEN PRÁCTICO DE COMPUTACIÓN 2DO BIM
 
Unleash 2016 Wilkinson FINAL
Unleash 2016 Wilkinson FINALUnleash 2016 Wilkinson FINAL
Unleash 2016 Wilkinson FINAL
 
sistema operativo Windows xp
 sistema operativo Windows xp sistema operativo Windows xp
sistema operativo Windows xp
 
Cruzada do coração de jesus
Cruzada do coração de jesusCruzada do coração de jesus
Cruzada do coração de jesus
 
Tutorial prerregistro beca SEP - OPORTUNIDADES
Tutorial prerregistro beca SEP - OPORTUNIDADESTutorial prerregistro beca SEP - OPORTUNIDADES
Tutorial prerregistro beca SEP - OPORTUNIDADES
 
Bm1 2010 mlaka 1
Bm1 2010 mlaka 1Bm1 2010 mlaka 1
Bm1 2010 mlaka 1
 
Unica
Unica Unica
Unica
 
Igors 1
Igors 1Igors 1
Igors 1
 
Poeme de victor_hugo_mfs
Poeme de victor_hugo_mfsPoeme de victor_hugo_mfs
Poeme de victor_hugo_mfs
 
Est02 limpiemos mexico
Est02   limpiemos mexicoEst02   limpiemos mexico
Est02 limpiemos mexico
 
Capa Facebook
Capa FacebookCapa Facebook
Capa Facebook
 
José carlos duarte ibm - painel 4
José carlos duarte   ibm - painel 4José carlos duarte   ibm - painel 4
José carlos duarte ibm - painel 4
 
Moocs desafios do sec xxi
Moocs   desafios do sec xxiMoocs   desafios do sec xxi
Moocs desafios do sec xxi
 
Pelaporan
PelaporanPelaporan
Pelaporan
 

Similar to How to build a Top 10 game on Facebook

Project Management (PMP Material)
Project Management (PMP Material)Project Management (PMP Material)
Project Management (PMP Material)VR M
 
Software craftsmanship - Imperative or Hype
Software craftsmanship - Imperative or HypeSoftware craftsmanship - Imperative or Hype
Software craftsmanship - Imperative or HypeSUGSA
 
Evolution ofinnovationmanagement palgravemacmillan-201302-ramoncosta-thecaseo...
Evolution ofinnovationmanagement palgravemacmillan-201302-ramoncosta-thecaseo...Evolution ofinnovationmanagement palgravemacmillan-201302-ramoncosta-thecaseo...
Evolution ofinnovationmanagement palgravemacmillan-201302-ramoncosta-thecaseo...Ramon Costa i Pujol
 
40 hack fwd noah sf 2012
40 hack fwd noah sf 201240 hack fwd noah sf 2012
40 hack fwd noah sf 2012NOAH Advisors
 
The Power of Virtual Collaboration in Project Management
The Power of Virtual Collaboration in Project ManagementThe Power of Virtual Collaboration in Project Management
The Power of Virtual Collaboration in Project ManagementCitrix Online
 
LLAMA Intro to Agile May 2019 Download
LLAMA Intro to Agile May 2019 DownloadLLAMA Intro to Agile May 2019 Download
LLAMA Intro to Agile May 2019 DownloadTorranceLearning
 
BEST PRACTICES FOR COMMUNICATING WITH KEY PROJECT STAKEHOLDERS A Case Study
BEST PRACTICES FOR COMMUNICATING WITH KEY PROJECT STAKEHOLDERS A Case StudyBEST PRACTICES FOR COMMUNICATING WITH KEY PROJECT STAKEHOLDERS A Case Study
BEST PRACTICES FOR COMMUNICATING WITH KEY PROJECT STAKEHOLDERS A Case StudyEna Arel
 
Streamlining Nonprofit Organizations - It's all About the Cloud!
Streamlining Nonprofit Organizations - It's all About the Cloud!Streamlining Nonprofit Organizations - It's all About the Cloud!
Streamlining Nonprofit Organizations - It's all About the Cloud!Marc Baizman
 
Streamlining Nonprofit Organizations: It's All About the Cloud
Streamlining Nonprofit Organizations: It's All About the CloudStreamlining Nonprofit Organizations: It's All About the Cloud
Streamlining Nonprofit Organizations: It's All About the CloudDebra Askanase
 
Report Wikicrats Workshop Reboot2009 Nadia Elimam
Report Wikicrats Workshop Reboot2009 Nadia ElimamReport Wikicrats Workshop Reboot2009 Nadia Elimam
Report Wikicrats Workshop Reboot2009 Nadia ElimamEdgeryders Lbg
 
Software Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeSoftware Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeFadi Stephan
 
IAD 2023 Milan - Building a Culture of SW Craftsmanship
IAD 2023 Milan - Building a Culture of SW CraftsmanshipIAD 2023 Milan - Building a Culture of SW Craftsmanship
IAD 2023 Milan - Building a Culture of SW CraftsmanshipMichele Brissoni
 
EDI Strategy Lab December 2007
EDI Strategy Lab December 2007EDI Strategy Lab December 2007
EDI Strategy Lab December 2007Ed Morrison
 
How to embed UX thinking in API design
How to embed UX thinking in API designHow to embed UX thinking in API design
How to embed UX thinking in API designstephshin
 
Rapid Project Inception
Rapid Project InceptionRapid Project Inception
Rapid Project Inceptionudairaj
 
Software development is hard
Software development is hardSoftware development is hard
Software development is hardEd Wong
 
FROM DISTRO TO CUSTOM - HOW WE CREATE GREAT COMMUNITIES FOR EVERY ORGANIZATIO...
FROM DISTRO TO CUSTOM - HOW WE CREATE GREAT COMMUNITIES FOR EVERY ORGANIZATIO...FROM DISTRO TO CUSTOM - HOW WE CREATE GREAT COMMUNITIES FOR EVERY ORGANIZATIO...
FROM DISTRO TO CUSTOM - HOW WE CREATE GREAT COMMUNITIES FOR EVERY ORGANIZATIO...DrupalCamp Kyiv
 

Similar to How to build a Top 10 game on Facebook (20)

Project Management (PMP Material)
Project Management (PMP Material)Project Management (PMP Material)
Project Management (PMP Material)
 
Software craftsmanship - Imperative or Hype
Software craftsmanship - Imperative or HypeSoftware craftsmanship - Imperative or Hype
Software craftsmanship - Imperative or Hype
 
Evolution ofinnovationmanagement palgravemacmillan-201302-ramoncosta-thecaseo...
Evolution ofinnovationmanagement palgravemacmillan-201302-ramoncosta-thecaseo...Evolution ofinnovationmanagement palgravemacmillan-201302-ramoncosta-thecaseo...
Evolution ofinnovationmanagement palgravemacmillan-201302-ramoncosta-thecaseo...
 
40 hack fwd noah sf 2012
40 hack fwd noah sf 201240 hack fwd noah sf 2012
40 hack fwd noah sf 2012
 
The Power of Virtual Collaboration in Project Management
The Power of Virtual Collaboration in Project ManagementThe Power of Virtual Collaboration in Project Management
The Power of Virtual Collaboration in Project Management
 
LLAMA Intro to Agile May 2019 Download
LLAMA Intro to Agile May 2019 DownloadLLAMA Intro to Agile May 2019 Download
LLAMA Intro to Agile May 2019 Download
 
BEST PRACTICES FOR COMMUNICATING WITH KEY PROJECT STAKEHOLDERS A Case Study
BEST PRACTICES FOR COMMUNICATING WITH KEY PROJECT STAKEHOLDERS A Case StudyBEST PRACTICES FOR COMMUNICATING WITH KEY PROJECT STAKEHOLDERS A Case Study
BEST PRACTICES FOR COMMUNICATING WITH KEY PROJECT STAKEHOLDERS A Case Study
 
Streamlining Nonprofit Organizations - It's all About the Cloud!
Streamlining Nonprofit Organizations - It's all About the Cloud!Streamlining Nonprofit Organizations - It's all About the Cloud!
Streamlining Nonprofit Organizations - It's all About the Cloud!
 
Streamlining Nonprofit Organizations: It's All About the Cloud
Streamlining Nonprofit Organizations: It's All About the CloudStreamlining Nonprofit Organizations: It's All About the Cloud
Streamlining Nonprofit Organizations: It's All About the Cloud
 
Report Wikicrats Workshop Reboot2009 Nadia Elimam
Report Wikicrats Workshop Reboot2009 Nadia ElimamReport Wikicrats Workshop Reboot2009 Nadia Elimam
Report Wikicrats Workshop Reboot2009 Nadia Elimam
 
Software Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeSoftware Craftsmanship - It's an Imperative
Software Craftsmanship - It's an Imperative
 
Social Business as the New Organizing Principle
Social Business as the New Organizing PrincipleSocial Business as the New Organizing Principle
Social Business as the New Organizing Principle
 
What is Rapid Innovation
What is Rapid InnovationWhat is Rapid Innovation
What is Rapid Innovation
 
IAD 2023 Milan - Building a Culture of SW Craftsmanship
IAD 2023 Milan - Building a Culture of SW CraftsmanshipIAD 2023 Milan - Building a Culture of SW Craftsmanship
IAD 2023 Milan - Building a Culture of SW Craftsmanship
 
EDI Strategy Lab December 2007
EDI Strategy Lab December 2007EDI Strategy Lab December 2007
EDI Strategy Lab December 2007
 
MSR-2022.pdf
MSR-2022.pdfMSR-2022.pdf
MSR-2022.pdf
 
How to embed UX thinking in API design
How to embed UX thinking in API designHow to embed UX thinking in API design
How to embed UX thinking in API design
 
Rapid Project Inception
Rapid Project InceptionRapid Project Inception
Rapid Project Inception
 
Software development is hard
Software development is hardSoftware development is hard
Software development is hard
 
FROM DISTRO TO CUSTOM - HOW WE CREATE GREAT COMMUNITIES FOR EVERY ORGANIZATIO...
FROM DISTRO TO CUSTOM - HOW WE CREATE GREAT COMMUNITIES FOR EVERY ORGANIZATIO...FROM DISTRO TO CUSTOM - HOW WE CREATE GREAT COMMUNITIES FOR EVERY ORGANIZATIO...
FROM DISTRO TO CUSTOM - HOW WE CREATE GREAT COMMUNITIES FOR EVERY ORGANIZATIO...
 

More from Wooga

Story of Warlords: Bringing a turn-based strategy game to mobile
Story of Warlords: Bringing a turn-based strategy game to mobile Story of Warlords: Bringing a turn-based strategy game to mobile
Story of Warlords: Bringing a turn-based strategy game to mobile Wooga
 
Instagram Celebrities: are they the new cats? - Targetsummit Berlin 2015
Instagram Celebrities: are they the new cats? - Targetsummit Berlin 2015Instagram Celebrities: are they the new cats? - Targetsummit Berlin 2015
Instagram Celebrities: are they the new cats? - Targetsummit Berlin 2015Wooga
 
In it for the long haul - How Wooga boosts long-term retention
In it for the long haul - How Wooga boosts long-term retentionIn it for the long haul - How Wooga boosts long-term retention
In it for the long haul - How Wooga boosts long-term retentionWooga
 
Leveling up in localization! - Susan Alma & Dario Quondamstefano
Leveling up in localization! - Susan Alma & Dario QuondamstefanoLeveling up in localization! - Susan Alma & Dario Quondamstefano
Leveling up in localization! - Susan Alma & Dario QuondamstefanoWooga
 
Evoloution of Ideas
Evoloution of IdeasEvoloution of Ideas
Evoloution of IdeasWooga
 
Entitas System Architecture with Unity - Maxim Zaks and Simon Schmid
Entitas System Architecture with Unity - Maxim Zaks and Simon Schmid Entitas System Architecture with Unity - Maxim Zaks and Simon Schmid
Entitas System Architecture with Unity - Maxim Zaks and Simon Schmid Wooga
 
Saying No to the CEO: A Deep Look at Independent Teams - Adam Telfer
Saying No to the CEO: A Deep Look at Independent Teams - Adam TelferSaying No to the CEO: A Deep Look at Independent Teams - Adam Telfer
Saying No to the CEO: A Deep Look at Independent Teams - Adam TelferWooga
 
Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)Wooga
 
Big Fish, small pond - strategies for surviving in a maturing market - Ed Biden
Big Fish, small pond - strategies for surviving in a maturing market - Ed BidenBig Fish, small pond - strategies for surviving in a maturing market - Ed Biden
Big Fish, small pond - strategies for surviving in a maturing market - Ed BidenWooga
 
Review mining aps2014 berlin
Review mining aps2014 berlinReview mining aps2014 berlin
Review mining aps2014 berlinWooga
 
Riak & Wooga_Geeek2Geeek Meetup2014 Berlin
Riak & Wooga_Geeek2Geeek Meetup2014 BerlinRiak & Wooga_Geeek2Geeek Meetup2014 Berlin
Riak & Wooga_Geeek2Geeek Meetup2014 BerlinWooga
 
Staying in the Game: Game localization practices for the mobile market
Staying in the Game: Game localization practices for the mobile marketStaying in the Game: Game localization practices for the mobile market
Staying in the Game: Game localization practices for the mobile marketWooga
 
Startup Weekend_Makers and Games_Philipp Stelzer
Startup Weekend_Makers and Games_Philipp StelzerStartup Weekend_Makers and Games_Philipp Stelzer
Startup Weekend_Makers and Games_Philipp StelzerWooga
 
DevOps goes Mobile (daho.am)
DevOps goes Mobile (daho.am)DevOps goes Mobile (daho.am)
DevOps goes Mobile (daho.am)Wooga
 
DevOps goes Mobile - Jax 2014 - Jesper Richter-Reichhelm
DevOps goes Mobile - Jax 2014 - Jesper Richter-ReichhelmDevOps goes Mobile - Jax 2014 - Jesper Richter-Reichhelm
DevOps goes Mobile - Jax 2014 - Jesper Richter-ReichhelmWooga
 
CodeFest 2014_Mobile Game Development
CodeFest 2014_Mobile Game DevelopmentCodeFest 2014_Mobile Game Development
CodeFest 2014_Mobile Game DevelopmentWooga
 
Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014
Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014
Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014Wooga
 
How to hire the best people for your startup-Gitta Blat-Head of People
How to hire the best people for your startup-Gitta Blat-Head of PeopleHow to hire the best people for your startup-Gitta Blat-Head of People
How to hire the best people for your startup-Gitta Blat-Head of PeopleWooga
 
Two Ann(e)s and one Julia_Wooga Lady Power from Berlin_SGA2014
Two Ann(e)s and one Julia_Wooga Lady Power from Berlin_SGA2014Two Ann(e)s and one Julia_Wooga Lady Power from Berlin_SGA2014
Two Ann(e)s and one Julia_Wooga Lady Power from Berlin_SGA2014Wooga
 
Pocket Gamer Connects 2014_The Experience of Entering the Korean Market
Pocket Gamer Connects 2014_The Experience of Entering the Korean MarketPocket Gamer Connects 2014_The Experience of Entering the Korean Market
Pocket Gamer Connects 2014_The Experience of Entering the Korean MarketWooga
 

More from Wooga (20)

Story of Warlords: Bringing a turn-based strategy game to mobile
Story of Warlords: Bringing a turn-based strategy game to mobile Story of Warlords: Bringing a turn-based strategy game to mobile
Story of Warlords: Bringing a turn-based strategy game to mobile
 
Instagram Celebrities: are they the new cats? - Targetsummit Berlin 2015
Instagram Celebrities: are they the new cats? - Targetsummit Berlin 2015Instagram Celebrities: are they the new cats? - Targetsummit Berlin 2015
Instagram Celebrities: are they the new cats? - Targetsummit Berlin 2015
 
In it for the long haul - How Wooga boosts long-term retention
In it for the long haul - How Wooga boosts long-term retentionIn it for the long haul - How Wooga boosts long-term retention
In it for the long haul - How Wooga boosts long-term retention
 
Leveling up in localization! - Susan Alma & Dario Quondamstefano
Leveling up in localization! - Susan Alma & Dario QuondamstefanoLeveling up in localization! - Susan Alma & Dario Quondamstefano
Leveling up in localization! - Susan Alma & Dario Quondamstefano
 
Evoloution of Ideas
Evoloution of IdeasEvoloution of Ideas
Evoloution of Ideas
 
Entitas System Architecture with Unity - Maxim Zaks and Simon Schmid
Entitas System Architecture with Unity - Maxim Zaks and Simon Schmid Entitas System Architecture with Unity - Maxim Zaks and Simon Schmid
Entitas System Architecture with Unity - Maxim Zaks and Simon Schmid
 
Saying No to the CEO: A Deep Look at Independent Teams - Adam Telfer
Saying No to the CEO: A Deep Look at Independent Teams - Adam TelferSaying No to the CEO: A Deep Look at Independent Teams - Adam Telfer
Saying No to the CEO: A Deep Look at Independent Teams - Adam Telfer
 
Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)Innovation dank DevOps (DevOpsCon Berlin 2015)
Innovation dank DevOps (DevOpsCon Berlin 2015)
 
Big Fish, small pond - strategies for surviving in a maturing market - Ed Biden
Big Fish, small pond - strategies for surviving in a maturing market - Ed BidenBig Fish, small pond - strategies for surviving in a maturing market - Ed Biden
Big Fish, small pond - strategies for surviving in a maturing market - Ed Biden
 
Review mining aps2014 berlin
Review mining aps2014 berlinReview mining aps2014 berlin
Review mining aps2014 berlin
 
Riak & Wooga_Geeek2Geeek Meetup2014 Berlin
Riak & Wooga_Geeek2Geeek Meetup2014 BerlinRiak & Wooga_Geeek2Geeek Meetup2014 Berlin
Riak & Wooga_Geeek2Geeek Meetup2014 Berlin
 
Staying in the Game: Game localization practices for the mobile market
Staying in the Game: Game localization practices for the mobile marketStaying in the Game: Game localization practices for the mobile market
Staying in the Game: Game localization practices for the mobile market
 
Startup Weekend_Makers and Games_Philipp Stelzer
Startup Weekend_Makers and Games_Philipp StelzerStartup Weekend_Makers and Games_Philipp Stelzer
Startup Weekend_Makers and Games_Philipp Stelzer
 
DevOps goes Mobile (daho.am)
DevOps goes Mobile (daho.am)DevOps goes Mobile (daho.am)
DevOps goes Mobile (daho.am)
 
DevOps goes Mobile - Jax 2014 - Jesper Richter-Reichhelm
DevOps goes Mobile - Jax 2014 - Jesper Richter-ReichhelmDevOps goes Mobile - Jax 2014 - Jesper Richter-Reichhelm
DevOps goes Mobile - Jax 2014 - Jesper Richter-Reichhelm
 
CodeFest 2014_Mobile Game Development
CodeFest 2014_Mobile Game DevelopmentCodeFest 2014_Mobile Game Development
CodeFest 2014_Mobile Game Development
 
Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014
Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014
Jelly Splash: Puzzling your way to the top of the App Stores - GDC 2014
 
How to hire the best people for your startup-Gitta Blat-Head of People
How to hire the best people for your startup-Gitta Blat-Head of PeopleHow to hire the best people for your startup-Gitta Blat-Head of People
How to hire the best people for your startup-Gitta Blat-Head of People
 
Two Ann(e)s and one Julia_Wooga Lady Power from Berlin_SGA2014
Two Ann(e)s and one Julia_Wooga Lady Power from Berlin_SGA2014Two Ann(e)s and one Julia_Wooga Lady Power from Berlin_SGA2014
Two Ann(e)s and one Julia_Wooga Lady Power from Berlin_SGA2014
 
Pocket Gamer Connects 2014_The Experience of Entering the Korean Market
Pocket Gamer Connects 2014_The Experience of Entering the Korean MarketPocket Gamer Connects 2014_The Experience of Entering the Korean Market
Pocket Gamer Connects 2014_The Experience of Entering the Korean Market
 

Recently uploaded

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Recently uploaded (20)

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

How to build a Top 10 game on Facebook

  • 1. + Scaling  Massive  Flash-­‐Projects   -­‐How  to  build  a  Top  10  game  on   Facebook-­‐     Philipp  Moeser  (Co-­‐Founder  &  CTO)   Ma8es  Groeger  (Senior  Engineer)  
  • 2. n  Teams  &  tools     Teams  and  Tools  you  need  to  build  a  Top   Game   you  need  to  build     a  big  game   2  
  • 3. wooga  –  world  of  gaming   About  wooga   Founded  January  2009   Philipp  Moeser   Funding  of  $32m   -­‐Co-­‐Founder  &  CTO-­‐   InternaJonal  team  of  100   from  over  20  countries  in  Berlin   Ma8es  Groeger   -­‐Senior  Engineer-­‐   Key  stats   6  games  on  Facebook,  39  million  acJve  users   3rd  biggest  social  game  developer  worldwide   70%  of  users  are  female  (age  20-­‐60)   3  
  • 4. Agenda   I.  Challenges   II.  Our  philosophy   III.  Environment   IV.  Best  pracJce  examples   V.  Summary   4  
  • 5. Agenda   I.  Challenges   5  
  • 6. §  Launched  February  2010   §  12th  Facebook  game   §  10  m  monthly  acJve  user  (MAU)   §  800  engineering  days  invested  
  • 7. §  Launched  May  2010   §  14th  biggest  Facebook  game   §  8,7  m  MAU   §  1200  engineering  days  invested  so   far  
  • 8. §  Launched  August  2011   §  Top  10  fastest  growing  game   §  3  m  MAU   §  500  engineering  days  invested  so  far  
  • 9. How  do  games  differ   n  Quick  prototyping   n  Features  get  killed   n  High  complexity   9  
  • 10. Challenges  summary   n  Complex   n  Large   n  Moving  target   10  
  • 11. Agenda   I.  Challenges   II.  Our  philosophy   11  
  • 12. Agile!   12  
  • 14. development   manifesto  for  agile  soJware   14   http://10yearsagile.org/wp-content/uploads/2011/01/background.jpg/
  • 15. Our  philosophy:  agile   n  Individuals  and  interacJons  over     processes  and  tools   n  Working  socware  over     comprehensive  documentaJon   n  Customer  collaboraJon  over     contract  negoJaJon   n  Responding  to  changes  over     following  a  plan   15  
  • 16. Our  philosophy:  agile   n  Individuals  and  interacJons  over     processes  and  tools   n  Working  socware  over     comprehensive  documentaJon   n  Customer  collaboraJon  over     contract  negoJaJon   n  Responding  to  changes  over     following  a  plan   16  
  • 17. talk   17  
  • 18. Our  philosophy:  agile   n  Individuals  and  interacJons  over     processes  and  tools   n  Working  socware  over     comprehensive  documentaJon   n  Customer  collaboraJon  over     contract  negoJaJon   n  Responding  to  changes  over     following  a  plan   18  
  • 19. prototypes   19  
  • 20. Our  philosophy:  agile   n  Individuals  and  interacJons  over     processes  and  tools   n  Working  socware  over     comprehensive  documentaJon   n  Customer  collaboraJon  over     contract  negoJaJon   n  Responding  to  changes  over     following  a  plan   20  
  • 22. Our  philosophy:  agile   n  Individuals  and  interacJons  over     processes  and  tools   n  Working  socware  over     comprehensive  documentaJon   n  Customer  collaboraJon  over     contract  negoJaJon   n  Responding  to  changes  over     following  a  plan   22  
  • 23. Collaborate. best  soluPon   23   http://www.financialmeltdown.com/the_solution.html
  • 25. Philosophy  summary       n  Internal  communicaJon  (instead  of  processes)   n  Protoyping  &  iteraJng   n  External  communicaJon  (instead  of  contracts)   n  Flexibility   25  
  • 26. Agenda   I.  Challenges   II.  Our  philosophy   III.  Environment   26  
  • 32. few  roles   32  
  • 35. one  room     one  room   35  
  • 36. Team  summary       n  Independence   n  Responsibility   n  CommunicaJon   36  
  • 37. Agenda   I.  Challenges   II.  Our  philosophy   III.  Environment   IV.  Best  pracJce  examples   37  
  • 39. hands  on   39  
  • 41. danger   41  
  • 42. 42   http://www.lebensmittelfotos.com/2008/07/20/spaghetti-und-pesto/
  • 43. 43  
  • 44. Examples   n  Unit  tesJng   n  Service  layer   n  ConJnuous  integraJon   44  
  • 45. Examples   n  Unit  tesJng   n  Service  layer   n  ConJnuous  integraJon   45  
  • 46. What  is  unit  tesJng?   A   C   B   46  
  • 47. One  test  per  class   A   C   B   T   T   T   47  
  • 50. encapsulation safety  net   50   http://cheejyg.deviantart.com/art/HortPark-Recycling-bin-174639710
  • 51. acts  as   documentaPon   encapsulation safety net 51   http://cheejyg.deviantart.com/art/HortPark-Recycling-bin-174639710
  • 52. 52  
  • 53. 53  
  • 54. 54  
  • 55. 55  
  • 56.       56  
  • 57.       57  
  • 58.       58  
  • 59. 59  
  • 60. Mock  objects   n  Simulated  objects  with  controlled   behaviour   n  Same  interface  as  the  real  object   n  SuggesJng:  Mockito  Flex   h8ps://bitbucket.org/loomis/mockito-­‐flex     60  
  • 61. Example   A   C   B   61  
  • 62. Dependency   A   C   B   T   62  
  • 63. Mock  dependency   A   M   B   T   63  
  • 64. 64  
  • 65. Example   IUser   A   Energy   Controller   Reward Assigner   T   65  
  • 66.       66  
  • 67.       67  
  • 68.       68  
  • 69.       69  
  • 70.       70  
  • 71. Examples   n  Unit  tesJng   n  Service  layer   n  ConJnuous  integraJon   71  
  • 72. Client  communicaJon   Client   JS   Backend   Facebook   72  
  • 73. Keep  your  client  independent   Client   Service  Layer   JS   Backend   Facebook   73  
  • 74. Now  you  can  fake  everything   Client   Service  Layer   Fake   Fake   Fake   JS   Backend   Facebook   74  
  • 75. Benefits?   75  
  • 76. easier  to  test   76  
  • 80. 80  
  • 81. decoraPon   81  
  • 82. 82  
  • 83.       83  
  • 84.       84  
  • 85.       85  
  • 88. Compiler  Constants         88  
  • 89. Compiler  Constants         89  
  • 91. Always  build     two  versions???   91  
  • 92. Examples   n  Unit  tesJng   n  Service  layer   n  ConJnuous  integraJon   92  
  • 93. What  it  does   n  ConJnuously  applies  quality  control   n  Runs  on  a  server   n  AutomaJcally  builds  and  deploys   n  Jobs:  snapshot,  nightly,  release   93  
  • 94. 94  
  • 95.       95  
  • 96.       96  
  • 97.       97  
  • 99. Benefits?   99  
  • 101. run  all  tests   runnable version 101  
  • 102. runs all tests arPsts  see     their  changes   102  
  • 103. runs all tests perform  heavy   operaPons   103  
  • 104. Wrap-­‐up:  best  pracJce   n  Special  requirements  for  code   n  Keep  up  producJon  speed   n  Keep  your  client  independent   n  Automate  as  much  as  possible   104  
  • 105. Agenda   I.  Challenges   II.  Our  philosophy   III.  Environment   IV.  Best  pracJce  examples   V.  Summary   105  
  • 106. I.  Challenges   II.  Our  philosophy     Internal communication (instead of processes) Internal communication | Protoyping & iterating Large | complex Protoyping & iterating | External External communication (instead of contracts) | moving target communication | Flexibility Flexibility III.  Environment!   IV.  Best  pracPce  examples     Independence | responsibility |   communication   Unit testing | service layer | cont. integration
  • 107. wooga.com/jobs   107  
  • 108. Thank  you!     Philipp  Moeser   CO-­‐Founder  &  CTO  wooga     Ma^es  Groeger   Senior  Engineer  at  wooga   @Ma8esGroeger     Twi^er:  @wooga   wooga.com/jobs   108