Download presentation
Presentation is loading. Please wait.
2
Team C… “our XPerience” Jinze Liu Fisayo Omojokun Kelly Ward COMP 290-059: XP, Distributed XP, and Agile Software Processes
3
Task Create an application that computes the three price break of a stock, following XP style within the frame of a semester.
4
What is XP? Pair programming Test-first Iterative design Frequent releases Close customer coupling
5
Our XPerience Pair programming Initially fixed 2 member subgroups –Angus & Haolong –Fisayo & Kelly –Jinze & Qiong
6
Our XPerience 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
7
Our XPerience 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
8
Our XPerience 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
9
Our XPerience Test-first JUnit Seemed only appropriate for 3PB algorithm –DataServer registration –No real computation in GUI parts Iterative design Incremental implementation of user stories
10
Our XPerience Frequent releases Project not as complicated Close customer coupling Class & Office: Explanations for expectations of application
11
Organization …from original CRC cards
12
Organization Angus & Haolong Fisayo & Kelly Jinze & Qiong Initial team breakup
13
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]
14
Meetings 5PM on Mondays Not consistent attendance Other projects Simultaneous department talks Forgetting Consistency for students is trickier for students than professional programmers.
15
Meetings 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
16
User 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
17
User 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
18
User 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)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.