Team C… “our XPerience” Jinze Liu Fisayo Omojokun Kelly Ward COMP 290-059: XP, Distributed XP,...

17
Team C… Team C… “our “our XP XP erience” erience” Jinze Liu Fisayo Omojokun Kelly Ward COMP 290-059: XP, Distributed XP, and Agile Software Processes
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    0

Transcript of Team C… “our XPerience” Jinze Liu Fisayo Omojokun Kelly Ward COMP 290-059: XP, Distributed XP,...

Team C…Team C…“our “our XPXPerience”erience”

Jinze Liu

Fisayo Omojokun

Kelly Ward

COMP 290-059: XP, Distributed XP, and Agile Software Processes

TaskTask

Create an application that computes the three price break of a stock, following XP style within the frame of a semester.

What is XP?What is XP?

• Pair programming

• Test-first

• Iterative design

• Frequent releases

• Close customer coupling

Our Our XPXPerienceerience

• Pair programming• Initially fixed 2 member subgroups

– Angus & Haolong– Fisayo & Kelly– Jinze & Qiong

Our Our XPXPerienceerience

• 3 Member Team– Team breakup after first demo

• 3 members: Jinze, Fisayo, & Kelly• Altered XP 2-pair facet

– Became XP group of 3– Only one subgroup

– Planning programming sessions trickier – have to account for schedules of 3 people rather than 2

Our Our XPXPerienceerience

• 3 Member Team– Losing members: Had to be responsible for

code written by absent team members• Time consuming at first• Collective Code Ownership (from: “XP Distilled”

[IBM])– Had better overall understanding and responsibility for

entire program

Our Our XPXPerienceerience

• 3 Member Team– Three heads are better than two

• More eyes and brainpower to find problems

– Changed initial plans for what will get done for the semester

• Less people, takes more time to get things done

Our Our XPXPerienceerience

• Test-first• JUnit• Seemed only appropriate for 3PB algorithm

– DataServer registration– No real computation in GUI parts

• Iterative design • Incremental implementation of user stories

Our Our XPXPerienceerience

• Frequent releases• Project not as complicated

• Close customer coupling• Class & Office: Explanations for expectations of

application

OrganizationOrganization

…from original CRC cards

OrganizationOrganization

Angus & Haolong Fisayo & KellyJinze & Qiong

Initial team breakupInitial team breakup

Organization (cont’d)Organization (cont’d)Drafted an API:

DataFeedManager setStock(string name);// more parameters [UI] string getStock(); [UI]

DataFeedInterpreter: double getCurrentPrice();[3PB]

3PB Controller timeUp() [Alarm]

UserInterface: updateCurrentPrice(double) [Data Feed Interpreter call on new TOS] setNewBreak(int) setLongShort(int) setClosingPrice(double) setFibonacciPricePoint(double)

Alarm: setTimeInterval(int) [UI]

MeetingsMeetings

• 5PM on Mondays

• Not consistent attendance• Other projects

• Simultaneous department talks

• Forgetting

• Consistency for students is trickier for students than professional programmers.

MeetingsMeetings• Team manpower halved (6 to 3 members)

• Everyone knew what was going on in code– “better agility”– …but only one subgroup

• Meeting necessities changed depending on what needed to be accomplished

User StoriesUser Stories

• User enters a stock name and time slice length

• System opens data stream for that stock

• Three price break is computed for time slice for the time of sales starting at 9:30am on the current day

• System displays the breaks in stock’s price

User StoriesUser Stories

• Current price will be constantly displayed on the screen along with last time of sale

• User can enter a new time slice length

• System can connect to multiple data feeds (one at a time) – Stock name can be changed

User StoriesUser Stories

• Status from beginning of the semester:– Finished all tasks we labeled with top priority (priority 1)

– Finished some tasks at priority 2

– Had anticipated work accomplished would take 14 weeks – Finished these events earlier

– Expectations and planning for what would be finished changed based on changes within group (losing half the group)