Creating game like activities in agile software engineering education


Published on

Presentation from the 23rd Australasian Software Engineering Conference (ASWEC), April 2014, Sydney, Australia.

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Creating game like activities in agile software engineering education

  1. 1. Creating game-like activities in agile software engineering education Associate Professor David Parsons Massey University, Auckland, New Zealand 23rd Australasian Software Engineering Conference (ASWEC) April 2014, Sydney, Australia
  2. 2. What is a game? • What is ‘gamification’? – Rules – Goals – Players (individual or team) – Artifacts (physical or virtual) – Entertainment – Competition (cooperation in team games)
  3. 3. Game-Like Activities in Agile SE 1. Game-like aspects within methods – CRC cards, planning game, planning poker 2. Game-like coding for software craftsmanship – Code katas, coding dojos, coderetreats 3. Games to teach agile aspects – XP game, Lego games, Agile hour
  4. 4. Game Creation for Learning • Game-like activities can help teach agile software engineering • Emulate real world software projects • Higher level skills are better developed by creative actions • Creating an agile game is a challenging and insightful process that can benefit the learner in many ways
  5. 5. Class Assignment • Post grad course in agile SE • Played the XP Game and the Agile Technique Hour • Then asked to create and demonstrate their own agile games • Had to address only one aspect of agile methods
  6. 6. • Provided as part of the assessment requirements “ A Definition of ‘game-like’ “To be ‘game-like’, an activity should be fun to do, include some level of competition (individual or team) have clear goals and some way of checking if those goals have been reached”
  7. 7. Task Challenges • Creativity and reflection – Easy to think up game-like activities – Harder to use these to help others learn about agile methods • Planning – Many ideas too hard to implement in practice – Not just a theoretical exercise - had to create a viable product
  8. 8. Agile Skills • The assignment addressed skills essential to agile practice: – Planning – Testing – Iterative development – Meeting stakeholder requirements – ‘doing the simplest thing that could possibly work’
  9. 9. Four ‘Successful’ Games • Realistic to deliver in class • Focused on a single aspect of agile development 1. pair programming 2. stand up meetings 3. team strategy 4. refactoring • Gained positive feedback from players
  10. 10. Assembling Pens • Re-assembling pens in pairs – pairing is claimed to have more value on tasks that are not well understood at the beginning • Relative roles of driver and navigator • Additional rules such as silent pairing
  11. 11. Assembling Pens Materials
  12. 12. Scrumhancer • Explores stand up meetings • Specific problem solving tasks to do • Each developer reports, team members decide strategy for the next cycle • Assessed whether meetings were correctly time constrained, focused and constructive
  13. 13. Observation Score Sheet Questions Yes No N/A Did the standup meeting start on time? Did the standup meeting end on time (i.e. after one minute)? Were all three developers and the Scrum master on time for the meeting? Did all developers actively participate in the meeting? Could all participants make their points clear? Was there any irrelevant topic proposed by anyone during the meeting? Did everybody in the team stand during the meeting? Was the Scrum master able to maintain the meeting decorum? (e.g. did the scrum master ask developers to move on if an irrelevant topic was brought up?)
  14. 14. Agile Poker • The value of working in pairs and teams (collaborative strategy) • Make a poker hand by adding 4 cards (1 card each) to the first card drawn by the game controller • Members work individually, then in silent pairs, then as a team
  15. 15. Scoring Example Game Controller’s drawn card Team 1 Team 2 Straight Flush (1 Point) Full House (1 Point) Win (1 Point) Lose (0 Point)
  16. 16. An Agile Story • Changing requirements and refactoring • Stories based on supplied characters, actions, and locations • New characters, actions and locations are added in iterations • Story must be refactored while maintaining design quality
  17. 17. Story Components
  18. 18. Summary of 4 Agile Games Agile Game Game Features Learning focus Materials Goals Goal checking Assembling Pens Pair programming Pens Cooperate to assemble components Functional testing Scrumhancer Standup meetings Puzzles Gain value from meetings Observer scorecard Agile Poker Team strategy Playing cards Learn to develop team strategy Poker scoring Agile Story Refactoring ‘Story’ cards * Maintain quality while embracing change ‘Customer’ as judge * Not the same as the ‘story cards’ often used in agile development
  19. 19. Summary • A broad assessment canvas, encompassing: – Analytical skills, identifying core agile concepts – Creative thinking skills in design – Organizational skills running games – Reflection and peer review
  20. 20. Acknowledgement • The author thanks the Agile Software Engineering students whose work is referenced in this presentation: – Gautam Atmakuri – Mridu Gupta – Dylan McLeod – Agus Leonardi Sugianto