creating game like activities in agile software engineering education
DESCRIPTION
Presentation from the 23rd Australasian Software Engineering Conference (ASWEC), April 2014, Sydney, Australia.TRANSCRIPT
Creating game-like activities in agile software engineering education
Associate Professor David ParsonsMassey University, Auckland, New Zealand
23rd Australasian Software Engineering Conference (ASWEC)
April 2014, Sydney, Australia
What is a game?
• What is ‘gamification’?– Rules– Goals– Players (individual or team)– Artifacts (physical or virtual)– Entertainment– Competition (cooperation in team games)
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
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
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
• 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”
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
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’
Four ‘Successful’ Games
• Realistic to deliver in class• Focused on a single aspect of agile
development1. pair programming
2. stand up meetings
3. team strategy
4. refactoring• Gained positive feedback from players
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
Assembling Pens Materials
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
Observation Score Sheet
Questions Yes No N/ADid 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?)
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
Scoring ExampleGame
Controller’s
drawn card
Team 1 Team 2
Straight Flush (1 Point) Full House (1 Point)
Win (1 Point) Lose (0 Point)
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
Story Components
Summary of 4 Agile GamesAgile 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
meetingsObserver 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
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
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