260 likes | 353 Views
Adopting the “XP Game”: A Hands-on Learning Experience. Frank Keenan Dundalk Institute of Technology. Presentation Overview. Motivation eXtreme Programming (XP) The XP Game How did it go? Feedback Conclusions. 1. Motivation & Background. Subject – Software Process Implementation
E N D
Adopting the “XP Game”: A Hands-on Learning Experience Frank Keenan Dundalk Institute of Technology
Presentation Overview • Motivation • eXtreme Programming (XP) • The XP Game • How did it go? • Feedback • Conclusions
1. Motivation & Background • Subject – Software Process Implementation • Challenges included: • increase student motivation and promote teamwork. • integration of new members into the class group. • introduce new and reinforce existing process eXtreme Programming (XP) concepts. • provide a snapshot of the course.
Agile Method vs W/f based Emphasis communication, flexibility, regular releases (2 weeks!) of working software close collaboration with customers Customer role Centres on development of requirements Requirements in XP Each described (user story) on a card stories are sorted and prioritised, Stories are grouped per development iteration Each release - # short iterations Expect change 2. eXtreme Programming (XP)
3. The XP Game Overview (1) • simple and highly interactive game • 3 hour session • simulates the XP development process. • http://www.xp.be/xpgame.html). • used in industry to introduce development teams and their customers to XP. • No technical knowledge or skill is required to participate. • An element of competition
Teams of 4 – 8 Coach – explain rules etc. Each team gets identical set of props per iteration pre-written story cards Estimated Time: 10 20 30 40 50 60 impossible The XP Game Overview (2) • Story - simple tasks eg • “Build a two-story house of cards,” • “Blow Up Ten Balloons,” • “Roll 2 die – get 2 “5”s” • Acceptance Test included • Story value – business points • Task complete – collect points • AIM - collect most points
12 story cards 1. Participants act as developers Estimate time required to implement each task 10, 20,…60 secs or impossible 2. Participants act as customers Select and prioritise stories that they reckon can be achieved in 3 mins. 3. Implement stories Select 1st story – decide how/who to implement begin – start clock Stop clock when finished or abandoned Finished story needs to be accepted by coach 4. At iteration end scoresheet contains completed stories, estimated time and business points earned. Total business points Velocity (180/estimated time) Iteration 1
4. The Session • Find an isolated room with suitable furniture • Self-selecting teams • 4 * 7 teams • 10 minute intro. • Coaches – post-grads • Coaches – distribute packs, explain role (clarify & validate ATs)
Observations • Different approaches, skills • Boisterous, chaotic ??, laughter, debate, argument • 1. Participants act as developers • Distribute & discuss • Practice • Different skills • Estimate “I can do that – it’s easy” “the table is too wobbly to build a house of cards”. “… to be lucky to get 3 heads in one go” “We’ll never get 10 done in time”
Participants act as customers • Different approaches ·taking all the high value stories first, ·taking all the easy stories first, • grouping all similar stories together. • Implementation • Intense communication & interaction • “on yours marks,…” • Frantic – blowing up and tieing 20 balloons • At story end – stop clock – reflect on true difficulty and remainder of schedule • Iteration end • Relax, regroup; Coach provides feedback
The Aftermath • The Room – tidy up!! • The participants – buzz • Coaches – exhaustion • “Yes – but what was the point of it all?” • Next meeting – questionnaire & explanation
“How would you describe the team interaction?“ “Shared responsibility”, “quick feedback”, “relaxed and friendly”, “slightly undisciplined, “chaotic”, “everyone involved”, “dominated by some”, “too much discussion on certain tasks”, What was the best part of the XP game? “fun”, “communicating”, “estimating tasks”, “everybody involved”, “adrenalin rush – pressure of getting task done in a specified time”, “learning and improving from iteration 1 to 2”, “relying on different strengths from each member”. Open Responses
Problems!! “prioritization”, ”ignoring an opinion that is outside the general agreement”, “rules not clearly defined”, “more control needed – everyone talking at the same time”, “being hit in the face”. “sticking to the time”, “estimating”, everyone talking – no one listening. “what you think were the main reasons that your team won/failed to win “ • “estimation skills”, • “good planning”, • “teamwork”, • “skill”, “ • good communication”, • “improved in second iteration”, • “focus on business values”, • cheating.
“what were the benefits of the XP game as a learning tool?” “helps understand XP values and practices”, “better understanding of XP after this session”, “understand difficulties of planning”, “learn through play”, “learning outside the traditional classroom”, “insight into estimates”.
6. Conclusions • Participants certainly engaged and seemed motivated • Beneficial in integrating new members into the existing group. • New concepts introduced and previously visited ones were clarified. • Overview of the remainder of the course presented • Limitations were observed. • Physical considerations- round instead of rectangular tables • More clarity on the story cards. • At the end of the module in class feedback it emerged that the XP Game was the most popular part of the course.
Scan Completed scorecard 11 Build 2 level house of cards 40 300 Blow up 10 balloons 3 30 200 500 Find 2 missing cards 7 50 120 250 750 Velocity = 180/120 = 1.5
XP in the education • “Introducing Software Engineering by means of Extreme Programming”, ICSE 2003 • “Teaching Software Engineering practices with Extreme Programming”, Journal of Computing Sciences in Colleges, 2006 • “Adapting Extreme Programming For A Core Software Engineering Course”, 15th CSEET, Kentucky, 2002 • “An XP Experiment with Students – Setup andProblems”, PROFES 2005 • BUT