etrics XP Metrics
This presentation is prepared by: Aram Sedrani. Fatimah Al-Khalaf. Ghada Alumari. Nosiaba. XP Metrics
It present by: Ghada Alumari. Fatimah Al-khalaf. XP Metrics
Presentation Outline: Metrics definition. The Metrics. XP Metrics
What does metric mean? A metric is a mathematical number that shows a relationship between two variables. Software metrics are measures used to quantify status or results.[1] A metric is the measurement of a particular characteristic of a program's performance or efficiency.[2] XP Metrics
Cont. Metrics are measurements, collections of data about project activities, resources and deliverables. Metrics can be used to help estimate projects, measure project progress and performance, and quantify product attributes.[3] XP Metrics
Metrics are gathered not to CONTROL the project "by the numbers", but as a tool of COMMUNICTION and FEEDBACK.[12] XP Metrics
Some Metrics: Time To Fix. Code Analysis Errors. the amount of un deployed code. how much time spent integrating. Time between releases. Ratio between Ideal Engineering time and calendar time. XP Metrics
Metrics we will cover XP Metrics
XP Metrics Ideal Engineering time. Post-Development Defects and Investment-to-Return. Project Velocity. Big Visible Charts. XP Metrics
Ideal Engineering Time XP Metrics
Ideal Engineering Time[11],[14] It also known as Ideal Programming Time. The time needed by programmer to implement a story without interruption (pure time for programming). XP Metrics
Through planning game customers identify user stories. The developers give estimated time for implement each story as they don’t have anything to do except programming. XP Metrics
Post-Development Defects and Investment-to-Return.[4] XP Metrics
Post-Development Defects and Investment-to-Return The number of defects found after development. Team should have fewer defects in its first deployment and make progress from there. Each defect is a chance for the team to learn. XP Metrics
Post-Development Defects and Investment-to-Return The time lag between the beginning of investment in an idea and when the idea first generates revenue dropping the time from investment to return increases the amount of feedback. Post-development defects and investment-to-return are indicators of team success like a speedometer is an indicator of speed. XP Metrics
Project Velocity XP Metrics
Project Velocity It is a measure of how much work is getting done on your project.[7] Some measure Velocity by the Ideal Engeering Time. [17][18] It may be a mistake. Add up the estimates of the user stories that were finished during the iteration.[6] may be misleading. XP Metrics
Project Velocity Total up the estimates for the tasks finished during the iteration.[9] Because this is based more on effort rather than quantity should get better analysis about the fluctuations that the project will encounter. XP Metrics
Project Velocity User Story Estimation [20] The Developers estimate how long the stories might take to implement. Each story receives an estimate of 1, 2 or 3 Points. A point is a random value that is used to do estimates of one story relative to another. XP Metrics
Project Velocity pick a Story and set its estimate to 2 points. Select another Story decide whether it's the same size 2 points. smaller 1 point. larger 3 points. XP Metrics
Project Velocity If the developers don't feel comfortable providing an estimate to a story[9] because they don't know enough about it. ask the Customer. The Story may need to be split into multiple stories.[9] Example[9] Customer Discount Rate XP Metrics
Project Velocity Discount for a Preferred Customer A Customer who purchases more than $50,000 is a Preferred Customer, and receives a 10% discount on all prices. Too large. Separate stories. XP Metrics
Project Velocity Preferred Customer A Customer who purchases more than $50,000 is a Preferred Customer. Discount for a Preferred Customer A Preferred Customer receives a 10% discount on all prices. Developers would likely ask the Customer, "When do you start counting the $50,000?“ story is updated. XP Metrics
Project Velocity Preferred Customer A Customer who purchases more than $50,000 since they have become a Customer is a Preferred Customer. Estimate: 2 Points Discount for a Preferred Customer A Preferred Customer receives a 10% discount on all prices. Estimate: 1 Point XP Metrics
Project Velocity During the iteration planning meeting:[7] customers choose the same number of user stories equal to project velocity of previous iteration. Stories are broken down into technical tasks. Team signs up for the same number of tasks equal to project velocity of previous iteration Yesterday's Weather. XP Metrics
Project Velocity Yesterday's Weather[8] Forecasting the weather for the next day based on today's weather. 70% of the time is correct. The total number of points that are signed up is only as many as were completed in the previous iteration. Allows the developers to recover after a difficult iteration, and to manage issues like vacations and illness. XP Metrics
Project Velocity project velocity goes up when [7] developers ask the customers for another story when no clean up tasks remain. A few ups and downs in project velocity are expected.[7] Using a release planning meeting to re-estimate the release plan if the project velocity changes dramatically for more than one iteration. [7] XP Metrics
Project Velocity Each project team will have a different bias to estimating stories and tasks.[7] Dividing the project velocity by the length of the iteration or the number of people isn't good to compare two project's productivity. Because each team is different. Two teams with 10 developers each, cannot be compared. Each team would come from varied years of experiences, domain knowledge, maturity, support from product owners, communication skills, etc. [17] XP Metrics
Project Velocity Hard velocity metrics are for the people who have to validate the team's existence.[6] Velocity is about the overall health of the project.[6] XP Metrics
Project Velocity Example[14] Take the User Stories that were completed during an iteration. Get a total of the estimates for the Stories. The total number of Points is team's Project Velocity. XP Metrics
Project Velocity Story Customer Searches for Book by Author Completed? Estimate (Points) Story Yes 2 Customer Searches for Book by Author 3 Customer Searches for Book by Category Customer Searches for Book by Title 1 Customer Searches for Book by ISBN No Preferred Customer receives Discount XP Metrics
Project Velocity This table shows the Stories completed for an Iteration. 4 Stories were completed 1 was not. For the completed Stories, the total number of points is 8 Velocity in that Iteration was 8. 8 then used to feed the planning process for the next Iteration (Yesterday's Weather). [8] XP Metrics
Big Visible Charts[10] XP Metrics
Big Visible Chart Display important project information not in some formal way, not on the web, not in PowerPoint, but in charts on the wall that no one can miss. A simple chart on the wall can bring important information to the attention of the team, the customer, and everyone else who passes through the area. XP Metrics
What Should We Chart? Chart what you care about, what you worry about, what you want other people to know. Most every XP practice offers material for charts. XP Metrics
Some important charts XP Metrics
1..Customer Acceptance Tests We would like to know how many tests we have, and whether they are all working. Consider a simple chart, showing for each time period (day, week, or iteration) how many customer acceptance tests exist. XP Metrics
1..Customer Acceptance Tests(cont.) The chart below shows what you might see on a project with an orderly progression of more and more tests running. Color in Green the number that are working, and in Red the number that are not. XP Metrics
1..Customer Acceptance Tests(cont.) If there seems to be a pattern of repeated customer acceptance test failures, it can be of value to create a display of the status of each test on each day. XP Metrics
1..Customer Acceptance Tests(cont.) Color a test's daily cell green if the test passes on that day, and red if it fails. Look for patterns in the color changes. XP Metrics
2..Velocity Charts It's probably always good to track velocity, in terms of number of stories or story points. It can also be of value to show how your velocity is being spent. XP Metrics
2..Velocity Charts(cont.) 1..burndown chart: 2..burn UP chart: XP Metrics
3..Team Process When a team is interested in improving its process, a few charts can be useful. hours spent in pair programming. the number of integrations per day. You might want to display a chart about team code ownership. number of different programmers or pairs who have edited a given class or module. XP Metrics
3..Team Process(cont.) XP Metrics
Code metrics[15] lines of code / time unit. number of tests / time unit. number of classes / time unit. number of functions / time unit. XP Metrics
References http://www.softwaretestingsucks.com. http://www.bitpipe.com, Software Metrics http://www.spc.ca, Metrics K. Beck, Extreme Programming Explained: Embrace Change,Addison Wesley Longman, Reading, Mass., 2000. http://www.comptechdoc.org/independent/xp/summary, Extreme Programming http://www.igloocoder.com/archive/2007/02/18/939.aspx, There's more to Velocity than speed, 2007 XP Metrics
References (Cont.) http://www.extremeprogramming.org/rules/velocity.html, Project velocity, 1999 http://www.mayford.ca/xp/yesterday.html, Yesterday's Weather http://www.mayford.ca/xp/estimation.html, User Story Estimation XP Metrics
References (Cont.) http://www.xprogramming.com/xpmag,BigVisibleCharts.htm http://www.expressitpeople.com/20040802/careers1.shtml http://www.augustana.ca,XP http://www.mayford.ca/xp/velocity.html c2.com/cgi/wiki?IdealProgrammingTime XP Metrics
References (Cont.) http://cs.wwc.edu/~aabyan/XP/solution.html www.infomanagementcenter.com/enewsletter/200407/feature.htm http://agileworld.blogspot.com/2006_12_01_archive.html Nawrocki, J.; Walter, B.;Wojciechowski: Toward maturity model for extreme programming XP Metrics