XP @ UoA

8
Xtreme Programming: Test-First Copyright Rick Mugridge 2001 1 XP @ UoA Rick Mugridge Department of Computer Science University of Auckland rick @ mugridge .com

description

XP @ UoA. Rick Mugridge Department of Computer Science University of Auckland [email protected]. Software Engineering. New Engineering degree introduced for 2000 4-year degree First 60 students now in second year High entry level requirements Compete with medicine - PowerPoint PPT Presentation

Transcript of XP @ UoA

Page 1: XP @ UoA

eXtreme Programming: Test-First Copyright Rick Mugridge 2001 1

XP @ UoA

Rick MugridgeDepartment of Computer Science

University of Auckland

[email protected]

Page 2: XP @ UoA

eXtreme Programming: Test-First Copyright Rick Mugridge 2001 2

Software Engineering• New Engineering degree introduced for 2000

• 4-year degree• First 60 students now in second year

• High entry level requirements• Compete with medicine

• Emphasis on practical aspects of software development

• Much more so than Computer Science• Projects each year

• 4th year project with industry

Page 3: XP @ UoA

eXtreme Programming: Test-First Copyright Rick Mugridge 2001 3

SOFTENG 251• Introduction to OO programming in Java

• Inheritance & aggregation• Types & Values; Polymorphism• OO programming

• Case studies: JUnit & AWT• Iterative development• Test-First Programming

• Unit testing with JUnit• Refactoring• Testing

Page 4: XP @ UoA

eXtreme Programming: Test-First Copyright Rick Mugridge 2001 4

SOFTENG 206• Year 2 project paper• Last third on eXtreme Programming• In teams of 6 or 7• Customer is one of teachers• Project to build a wiki-like system using Java

servlets, for use in course• 3 iterations, each of 2 weeks. Bigger change for

iteration 3• Planning Game with whole class• Stories influenced by suggestions from students

Page 5: XP @ UoA

eXtreme Programming: Test-First Copyright Rick Mugridge 2001 5

Stories: Iteration 3• Story 12: login

• There is a front page that allows the user to login (name and password). The first page presented after logging in is the page named "Home".

• Story 13: reorganize to remove directories • All displayed pages are text with bold, italic and

headings. There may be links to other pages. If a link to a topic doesn't exist, the topic is created when the user clicks on the link. At the bottom of each page are buttons and text boxes for edit, search, rename, copy, delete, create new.

Page 6: XP @ UoA

eXtreme Programming: Test-First Copyright Rick Mugridge 2001 6

Iteration 3• Story 14: authentication system

• If the admin person logs in then instead a page with names and passwords is displayed. This page can be edited as usual.

• Story 15: previous versions • Whenever a page is edited, the previous version is

saved. A button "previous" is added to the bottom of each page, to give access to the previous version(s). Previous versions cannot be changed.

• Story 16: List of all topics• At the bottom of each page is a link "List" which

gives a list of all topics. Previous versions are not listed.

Page 7: XP @ UoA

eXtreme Programming: Test-First Copyright Rick Mugridge 2001 7

Findings• Students took to pair programming well• They were inclined to invent/guess detailed

requirements, instead of asking the customer• They needed help in seeing how to use unit tests• Integration problems for some teams due to last-

minute collection of lots of code• Strongly motivated

• Rewarding for us too..

Page 8: XP @ UoA

eXtreme Programming: Test-First Copyright Rick Mugridge 2001 8

Future• Planning to have an XP project at 3rd year too• Longer project would be better• Aim to have several days solid on the project, rather than 1/7th

of effort over a longer period• More active customer and coach involvement to answer

questions, help and give feedback• Teams can differ in their velocity• Fixed time available• Maybe swap team members for last iteration?

• I want to introduce XP ideas right from the beginning of SE• Social skills!• Skills before knowing technology