{"id":200,"date":"2009-04-30T10:52:00","date_gmt":"2009-04-30T10:52:00","guid":{"rendered":"https:\/\/caroli.org\/en\/agile-basic-linear-algebra\/"},"modified":"2020-01-10T19:47:00","modified_gmt":"2020-01-10T22:47:00","slug":"agile-basic-linear-algebra","status":"publish","type":"post","link":"https:\/\/caroli.org\/en\/agile-basic-linear-algebra\/","title":{"rendered":"Agile Basic Linear Algebra"},"content":{"rendered":"<p>Releasing planning, Iteration planning, velocity and burn up charts are basic <strong>linear algebra<\/strong>.<\/p>\n<p>From <a href=\"https:\/\/simple.wikipedia.org\/wiki\/Algebra\" target=\"_blank\" rel=\"noopener\">Wikipedia<\/a>:<\/p>\n<blockquote><p>\u201cAlgebra is a part of mathematics (math) that helps show the general links between numbers and math operations (adding, subtracting, multiplying or dividing) used on the numbers. Algebra does this by using letters (a,b,c,&#8230;) or other symbols to represent numbers, either because the numbers are unknown or because the numbers change during the course of the problem, in which case the letters are called variables.\u201d<\/p><\/blockquote>\n<p>I decided to write down the formulae commonly used for tracking and planning <a href=\"https:\/\/caroli.org\/en\/blog\/agile-culture\/\">agile projects<\/a>. After listing down the formulae, I will validate them by solving a few sample problems.<\/p>\n<p>The Formulas<\/p>\n<p>Vp = Ro \/ Ip<br \/>\nThe planned average velocity (Vp) is the number of story points planned for the release (Ro) by the number of planned iterations (Ip).<\/p>\n<p>V = \u2211Si \/ i<br \/>\nThe average velocity of a team (V) is the number of delivered story points per iteration (\u2211Si) by the number of iterations (i).<\/p>\n<p>Ve = V + \u2206V<br \/>\nVelocity expected is the average velocity (V ) plus the expected velocity variation (\u2206V). Velocity expected is commonly used for planning activities, such as iteration and release planning.<\/p>\n<p>R = Ro + \u2206R<br \/>\nThe current total story points planned for the release (R) is the original story points planned for the release (Ro) plus the delta of story points for the release (\u2206R).<\/p>\n<p>Rm = R &#8211; \u2211Si<br \/>\nThe number of story points remaining for the release (Rm ) is the current total Story points for the release (R ) minus the sum of completed story points for the iterations (\u2211Si).<\/p>\n<p>Ir = Rm \/ Ve<br \/>\nThe number of iterations remaining (Ir) is the number of story points remaining for the release (Rm ) by the expected velocity (Ve)<\/p>\n<p>Applying the formulae<br \/>\nIn case you miss your high school days, I recommend you to <a href=\"https:\/\/geeksnack.blogspot.com\/2009\/04\/agile-linear-algebra-questionnaire.html\" target=\"_blank\" rel=\"noopener\"> try out the questionnaire on Agile linear algebra<\/a>. Find out how much you score before reading the solution below.<\/p>\n<p>Problem 1<br \/>\nAn agile team plans to deliver 400 story points in 10 iterations. What is the planned average velocity for the team?<\/p>\n<p>Solution:<br \/>\nFrom the problem statement: Ro = 400 sp, and Ip = 10 it<\/p>\n<p>Applying the formula Vp = Ro \/ Ip<br \/>\nVp = 400 sp \/ 10 it = 40 st \/ it<\/p>\n<p>Answer: The planned average velocity for the team is 40 story points per iteration<\/p>\n<p>Problem 2<br \/>\nA team has average velocity of 10 sp\/it. Extra resources are added to the team, thus creating an expected rise in velocity of 4 sp\/it. What is the expected velocity for the team?<\/p>\n<p>Solution:<br \/>\nFrom the problem statement: V = 10 sp\/it, and \u2206V = 4 sp\/it<\/p>\n<p>Applying the formula Ve = V + \u2206V:<br \/>\nVe = 10 sp\/it + 4 sp\/it = 14 sp\/it<\/p>\n<p>Answer: The expected team velocity is 14 sp\/it<\/p>\n<p>Problem 3<br \/>\nIn Iteration 1, the team delivered 10 story points, in iteration 2 the team delivered 14 story points, in Iteration 3 the team delivered 12 story points. What is the average velocity for the team?<\/p>\n<p>Solution<br \/>\nFrom the problem statement: \u2211Si = (10 sp+ 14 sp+ 12 sp), and i = 3 it<\/p>\n<p>Applying the formula V = \u2211Si \/ i :<br \/>\nV = (10 sp+ 14 sp+ 12 sp) \/ 3 it = 36 sp \/ 3 it = 12 sp\/it<\/p>\n<p>Answer: The team average velocity is 12 sp\/it<\/p>\n<p>Problem 4<br \/>\nConsider the team iteration history of Problem 3. The original release plan is to deliver 400 story points. Assume that the team is about to start Iteration 4, and that the team is able to keep the same average velocity from the first 3 iteration for the remaining iterations of the release. The project manager decides to add an extra pair of developer to the team; and the velocity is expected to increase by 2 sp\/it. How many iterations (in total) will it take for the team to deliver the 400 story points planned for the release?<\/p>\n<p>Solution<br \/>\nFrom the problem statement: Ro = 400, \u2206R = 0 (no scope as added or removed for the release), and V = 12 sp\/it (verage velocity calculated in the previous problem), \u2206V = 2 sp\/it (a dev pair is added to the team and the velocity is expected to increase by 2 sp\/it)<\/p>\n<p>The Question: How many iterations (in total) will it take for the team to deliver the 400 story points planned for the release?<br \/>\nTotal iterations = elapsed iterations + the number of iterations remaining (Ir)<\/p>\n<p>So let\u2019;s calculate Ir\u2026<br \/>\nIr = Rm \/ Ve<\/p>\n<p>And<br \/>\nVe = V + \u2206V<\/p>\n<p>Applying the Ve = V + \u2206V:<br \/>\nV = 12 sp\/it and \u2206V = 2 sp\/it<br \/>\nVe = 12 sp\/it + 2 sp\/it<br \/>\nVe = 14 sp \/ it<\/p>\n<p>Now let\u2019s calculate Rm<br \/>\nRm = R &#8211; \u2211Si<br \/>\nR = Ro + \u2206R<\/p>\n<p>Applying \u2211Si = 36 sp, Ro = 400 sp and \u2206R = 0 sp<br \/>\nRm = Ro + \u2206R &#8211; \u2211Si<br \/>\nRm = 400 sp + 0 sp \u2013 36 sp<br \/>\nRm = 364 sp<\/p>\n<p>Now applyuing Rm and Ve to the Iterations remaining formula:<br \/>\nIr = Rm \/ Ve<br \/>\nIr = 364 sp \/ 14 sp \/ it<br \/>\nIr = 26 it<\/p>\n<p>Total iterations = elapsed iterations + the number of iterations remaining (Ir)<br \/>\nTotal iterations = 3 it + 26 it<br \/>\nTotal iterations = 29 it<\/p>\n<p>Answer: It will take 29 iterations (in total) for the team to deliver the number of story points planned for the release.<\/p>\n<p>Problem 5<br \/>\nSame as Problem 4, but 140 sp have been de-scoped from the release. How many more iterations will it take for the team to deliver the number of story points planned for the release?<\/p>\n<p>Solution<br \/>\nFrom the problem statement: \u2211Si = 36 sp, Ro = 400 sp and \u2206R = -140 sp<\/p>\n<p>Applying Rm = R &#8211; \u2211Si and R = Ro + \u2206R<br \/>\nRm = Ro + \u2206R &#8211; \u2211Si<br \/>\nRm = 400 sp &#8211; 140 sp \u2013 36 sp<br \/>\nRm = 224 sp<\/p>\n<p>The number of story points remaining for the release (Rm ) is 224 sp<\/p>\n<p>Now applying Rm and Ve to the Iterations remaining formula:<br \/>\nIr = Rm \/ Ve<br \/>\nIr = 224 sp \/ 14 sp \/ it<br \/>\nIr = 16 it<\/p>\n<p>Answer: Based in the presented assumptions, the team will need 16 iterations (in addition to the 3 elapsed iterations) to deliver the number of story points remaining for the release.<\/p>\n<p>Problem 6<br \/>\nSame as Problem 4. How many story points should be de-scoped from the release to enable the software to be released after a total of 12 iterations?<\/p>\n<p>Solution:<br \/>\nFrom the problem statement: \u2211Si = 36 sp, Ro = 400 sp, Ir = 9 it (12 it \u2013 3 it) and Ve = 14 sp\/it<\/p>\n<p>Applying the formulae Rm = R &#8211; \u2211Si and R = Ro + \u2206R<br \/>\nRm = Ro + \u2206R &#8211; \u2211Si<\/p>\n<p>Combining Ir = Rm \/ Ve, we come to:<br \/>\nIr = (Ro + \u2206R &#8211; \u2211Si)\/ Ve<br \/>\nRo + \u2206R &#8211; \u2211Si = Ir. Ve<br \/>\n\u2206R = Ir. Ve \u2013 Ro + \u2211Si<\/p>\n<p>Applying the problem statement values:<br \/>\n\u2206R = 9it.14sp\/it \u2013 400sp + 36sp<br \/>\n\u2206R = 126it \u2013 400sp + 36sp<br \/>\n\u2206R = 126it \u2013 400sp + 36sp<br \/>\n\u2206R = -238sp<\/p>\n<p>Answer: 238 story points should be de-scoped from the release to enable the software to be released after a total of 12 iterations.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Releasing planning, Iteration planning, velocity and burn up charts are basic linear algebra. From Wikipedia: \u201cAlgebra is a part of mathematics (math) that helps show the general links between numbers and math operations (adding, subtracting, multiplying or dividing) used on the numbers. Algebra does this by using letters (a,b,c,&#8230;) or other symbols to represent numbers, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":543,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[1919],"tags":[908,910,912,914,916,918,920],"inception_activities":[],"colaboradores":[],"class_list":["post-200","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-agile-culture","tag-agile-algebra-en","tag-agile-formula-en","tag-agile-questionnaire-en","tag-agile-trivia-en","tag-release-planning-en","tag-story-point-en","tag-velocity-en"],"_links":{"self":[{"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/posts\/200","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/comments?post=200"}],"version-history":[{"count":0,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/posts\/200\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/media\/543"}],"wp:attachment":[{"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/media?parent=200"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/categories?post=200"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/tags?post=200"},{"taxonomy":"inception_activities","embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/inception_activities?post=200"},{"taxonomy":"colaboradores","embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/colaboradores?post=200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}