creating game like activities in agile software engineering education

20
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

Upload: david-parsons

Post on 08-May-2015

413 views

Category:

Education


2 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Creating game like activities in agile software engineering education

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

Page 2: Creating game like activities in agile software engineering education

What is a game?

• What is ‘gamification’?– Rules– Goals– Players (individual or team)– Artifacts (physical or virtual)– Entertainment– Competition (cooperation in team games)

Page 3: Creating game like activities in agile software engineering education

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

Page 4: Creating game like activities in agile software engineering education

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

Page 5: Creating game like activities in agile software engineering education

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

Page 6: Creating game like activities in agile software engineering education

• 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”

Page 7: Creating game like activities in agile software engineering education

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

Page 8: Creating game like activities in agile software engineering education

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’

Page 9: Creating game like activities in agile software engineering education

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

Page 10: Creating game like activities in agile software engineering education

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

Page 11: Creating game like activities in agile software engineering education

Assembling Pens Materials

Page 12: Creating game like activities in agile software engineering education

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

Page 13: Creating game like activities in agile software engineering education

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?)

     

Page 14: Creating game like activities in agile software engineering education

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

Page 15: Creating game like activities in agile software engineering education

Scoring ExampleGame

Controller’s

drawn card 

 

Team 1 Team 2

Straight Flush (1 Point) Full House (1 Point)

Win (1 Point) Lose (0 Point)

Page 16: Creating game like activities in agile software engineering education

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

Page 17: Creating game like activities in agile software engineering education

Story Components

Page 18: Creating game like activities in agile software engineering education

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

Page 19: Creating game like activities in agile software engineering education

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

Page 20: Creating game like activities in agile software engineering education

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