PolyMorse Seminar Fabio Petrillo January, 29th 2016 1/##
Fabio Petrillo Ph.D. Candidate ● Master - Computer Science - UFRGS/Brazil ● agile game development ○ Electrical Engineer/UFRGS ● Program committee GAS 2015 e 2016 ● More than 20 year of experience in software engineering industry ● Java, C/C++, PHP, Python, Delphi developer ○ Agile coach and team manager ○ Eclipse plugin development ● Teaching in Brazil ● Software Engineering ○ Game Development Project ○ Teacher assistant at LOG8430 - Advanced Software Architecture :-) ● 2
Research topics software comprehension ● software maintenance and evolution ● software and information visualization ● dynamic and static code analysis ● identification of patterns ● polymorphism ○ mining software repositories ● human aspects of software engineering ● empirical software engineering ● agile software development ● game development practices ● software/code linguistics ● 3
Seminar Part One 4
Fifth International Workshop on Games and Software Engineering (GAS 2016) Are the old days gone? A survey on actual software engineering processes in video game industry Cristiano Politowski, Fabio Petrillo, Lisandra Fontoura, Yann-Gaël Guéhéneuc 5/##
Video game is a multibillionaire industry! 6
Video game projects have multidisciplinary teams! 7
GDC 2016 State of the Industry Report 30% Programmers 16% 11% 8
Video games are softwares! 9
Does game industry have the same problems that "traditional" software industry? 10
2006 11
20 game industry postmortems 12/##
" In fact, all the main problems of the traditional software industry are also found in the games industry " Petrillo, F., Pimenta, M., Trindade, F., & Dietrich, C. (2009). What went wrong? A survey of problems in game development. Computers in Entertainment , 7 (1), 1. 13
What is the most important problem in game industry? 14
Unrealistic or ambitious scope and features creep 75% of projects 15
So, how can we mitigate these problems? 16
" We believe that adoption of agile practices in game development can achieve promising results. " Petrillo, F., & Pimenta, M. (2010). Is agility out there? Agile Practices in Game Development. In Proceedings of the 28th ACM International Conference on Design of Communication - SIGDOC ’10 (p. 9). New York, New York, USA: ACM Press. 17
2016 18
19
" The old days are gone. You can't expect producers or leads to come up with a huge waterfall of everything they thought would get done over the next three years. In the game development business, it's insane to think you have any insight into what your team will be doing one year from now. You can set major milestones with hard dates, but filling in all the details between those points is an exercise in futility. " Fridley, M. (2013). Postmortem: Kingdoms of Amalur: Reckoning. Retrieved from http://www.gamasutra. com/view/feature/197269/postmortem_kingdoms_of_amalur_.php 20
Are this claim general or a "cherry picking" case? 21
RQ: Are "the old days" really gone in video game industry? 22
Methodology 23
24
Meta-model (BPMN) 25
Iterative process - Kingdoms of Amalur: Reckoning model 26
20 process models 27
Results 28
Process occurrences by category 29
Agile practices in game projects 30
Conclusions 31
Conclusion 1 The ``old days" are gone, but not completely at all. 32
Conclusion 2 Iterative process is actually mainstream in the game industry. 33
Conclusion 3 Agility are increasing in the last years. 34
We believe that iterative process benefits are yet misunderstood by part of game community. 35
Suggestion Educators include game agile methodologies in game development courses . 36
37
Are the old days gone? A survey on actual software engineering processes in video game industry Cristiano Politowski, Fabio Petrillo, Lisandra Fontoura, Yann-Gaël Guéhéneuc Thank you! 38/##
Research opportunities Debugging ● behavior and strategy analysis on stepping/following execution debugging ○ infrastructure collect and share debugging data (Swarm Debugging) ○ debugging recommendation system (machine learning) ○ Software visualization ● Polymorphism ● mining of polymorphism ○ polymorphism comprehension in static and dynamic type language projects ○ polymorphism visualization ○ Games and Software Engineering ● Game development process survey using postmortem analysis (GAS 2016) ○ Game Agile Methods Applied (GAMA) ○ Gama index ○ Systematization of empirical studies using postmortem ○ problems, practices, processes ■ 39
Seminar Part Two 40
In your experience, how much time is needed to do a paper some like that? a) less than 1 month b) between 1 and 3 months c) between 3 and 6 months d) more than 6 months 41
In your experience, how much time is needed to do a paper some like that? 42
In your experience, how much time is needed to do a paper some like that? 43
In your experience, how much time is needed to do a paper some like that? 44
In your experience, how much time is needed to do a paper some like that? 20 days 45
So, how can we achive it?
Use agile practices in research!
Research project - agile practices in SE research Apply agile practices on our projects and evaluate their impact: ● quality ○ productivity ○ replicability ○ 49
Proposal interested groups (optional) ● Scrum Master role ● Research "Owner" Role ● organize the teams ● run some sprints ● practices and tools ● during sprints ● collect project and team data ○ journals ○ evidences (photos, videos, chatting, backlogs, post-its, kanbans, etc) ○ Results and analyses ● Publication :-) ● 50
Win-Win approach 51
How can we start? 52
How could we start? 53
How could we start? 1) email me for scheduling a meeting 2) I exposed the idea/process 3) We organize the planning and sprints 4) And run! :-) 54
Seminar Part Three 55
Focused Project Swarm Debugging collecting and sharing debug session information 56
if debugging is important to create knowledge about a software project, why is this human knowledge lost? 57
Can we collect and share debugging session information? 58
Swarm Debugging 59
Infrastructure 60
Architecture 61
Metadata 62
Research possibilities 1) Paper about debugging stepping or following execution behavior survey on debugging stepping/following execution a) b) collect session information during debugging session in controlled experiments c) mapping behaviors in stepping debugging sessions 2) Paper on debugging session recommendation system a) machine learning modelling b) based on collected data during the previous work 3) Paper on debugging session searching and visualization support a) supporting stepping sessions b) UML sequence diagram alternative c) debugging pathfinder in large method call graphs d) formalizing these visualizations 63
Searching Tools How can we support new debugging session using this collected information? Breakpoint search tool (textual search - ElasticSearch) ● Starting point method search ● Ending point method search ● ????? ● 64
Visualisation Tools Sequence Stack diagram ● Dynamic Method Call Graph ● Swarm Dashboard ● Debugging pathfinder recommendation graph ● ???? ● 65
Sequence Stack Diagram 66
Sequence Stack Diagram Sequence Stack Diagram 67
Dynamic Call Graph 68
69
Debugging pathfinder recommendation graph Complex call graph Complex call graph Recommended Debugging path M0 M0 M0 M2 M2 M1 M1 M3 M3 M2 M4 M4 M6 M6 M5 M5 M3 Mn Mn M9 M9 M7 M7 M7 M8 M8 M10 M11 M10 M11 70 M12 M12
Research proposal Work 0 - debugging stepping information repository a. describe problem problem and scenarios b. determinate some questions to be answered c. describe Swarm Debugging i. metadata ii. architecture iii. infrastructure iv. REST API d. demonstrate applications and usage e. demonstrate how previous questions can be answered with SD f. submit to ICPC 2016 - abstract: Feb 8 - submission: Feb 15 71
Recommend
More recommend