1 00:00:06,660 --> 00:00:08,910 - Let's talk about budget capacity 2 00:00:08,910 --> 00:00:11,370 and risk management in agile. 3 00:00:11,370 --> 00:00:13,530 Let us start with budgeting. 4 00:00:13,530 --> 00:00:15,720 The fundamental business question 5 00:00:15,720 --> 00:00:18,540 how much will it cost applies equally 6 00:00:18,540 --> 00:00:20,250 to agile, waterfall, 7 00:00:20,250 --> 00:00:23,130 or any other project management framework. 8 00:00:23,130 --> 00:00:26,490 However, budget management as we do it in agile 9 00:00:26,490 --> 00:00:29,040 is fundamentally different from traditional 10 00:00:29,040 --> 00:00:31,890 or waterfall project management. 11 00:00:31,890 --> 00:00:35,520 In agile, budgeting is happening within sprints, 12 00:00:35,520 --> 00:00:37,830 either monthly or quarterly. 13 00:00:37,830 --> 00:00:39,300 Based on the team composition 14 00:00:39,300 --> 00:00:41,760 and compensation by role and location, 15 00:00:41,760 --> 00:00:44,850 the cost of each sprint is calculated per team 16 00:00:44,850 --> 00:00:49,140 and multiplied by the number of teams in the organization 17 00:00:49,140 --> 00:00:51,687 with all the necessary adjustments. 18 00:00:51,687 --> 00:00:54,240 Those can include loaded compensation 19 00:00:54,240 --> 00:00:56,970 including benefits and other expenses, 20 00:00:56,970 --> 00:01:01,380 any hardware costs, software costs, licenses, supplies, 21 00:01:01,380 --> 00:01:05,910 and anything else required to complete the deliverables. 22 00:01:05,910 --> 00:01:09,690 This is monitored as part of the overall budget. 23 00:01:09,690 --> 00:01:12,390 In waterfall, a project budget is defined 24 00:01:12,390 --> 00:01:15,210 as the total projected cost that is needed 25 00:01:15,210 --> 00:01:17,070 to complete the project. 26 00:01:17,070 --> 00:01:21,720 And usually, it is allocated over a defined period of time. 27 00:01:21,720 --> 00:01:25,470 It's used to estimate what is the cost of the project 28 00:01:25,470 --> 00:01:27,330 phase by phase. 29 00:01:27,330 --> 00:01:28,860 The most fundamental difference 30 00:01:28,860 --> 00:01:32,100 between agile and waterfall is that in waterfall, 31 00:01:32,100 --> 00:01:34,350 the budget is fully allocated 32 00:01:34,350 --> 00:01:36,510 at the beginning of the project. 33 00:01:36,510 --> 00:01:41,340 And during each phase, budget is released step by step. 34 00:01:41,340 --> 00:01:43,050 And at any time, 35 00:01:43,050 --> 00:01:45,870 project manager can say are we on budget, 36 00:01:45,870 --> 00:01:48,960 are we below budget, or do we exceed the budget. 37 00:01:48,960 --> 00:01:50,550 And if we do, 38 00:01:50,550 --> 00:01:53,670 that requires an immediate course correction. 39 00:01:53,670 --> 00:01:56,130 In waterfall, it is hard to estimate 40 00:01:56,130 --> 00:01:58,830 whether a project is on budget during the analysis, 41 00:01:58,830 --> 00:02:01,230 design, and even sometimes coding 42 00:02:01,230 --> 00:02:03,480 because none of the features have been tested 43 00:02:03,480 --> 00:02:06,210 or delivered to users for their feedback. 44 00:02:06,210 --> 00:02:09,600 This is usually the reason why waterfall project managers 45 00:02:09,600 --> 00:02:13,410 need to add a significant contingency margin, 46 00:02:13,410 --> 00:02:16,710 usually starting at 20, 25%, 47 00:02:16,710 --> 00:02:21,273 and sometimes reaching even 40% for complex deliverables. 48 00:02:22,890 --> 00:02:26,370 But in both instances, agile and waterfall, 49 00:02:26,370 --> 00:02:29,850 the following five sources of information are considered 50 00:02:29,850 --> 00:02:32,970 when performing estimations. 51 00:02:32,970 --> 00:02:37,230 One is high level estimation from the people doing the work. 52 00:02:37,230 --> 00:02:39,450 Second is historical data 53 00:02:39,450 --> 00:02:42,300 from similar deliverables and goals. 54 00:02:42,300 --> 00:02:45,810 Third one is lessons learned from prior initiatives. 55 00:02:45,810 --> 00:02:49,740 Fourth is expert opinion from subject matter experts 56 00:02:49,740 --> 00:02:51,420 known within the organization 57 00:02:51,420 --> 00:02:53,730 and sometimes within the field. 58 00:02:53,730 --> 00:02:58,083 And baseline, organizational and industry wise. 59 00:02:59,295 --> 00:03:01,890 Agile puts the emphasis on 60 00:03:01,890 --> 00:03:05,220 decomposing the work to be done into features 61 00:03:05,220 --> 00:03:08,760 and then performing high level feature estimation. 62 00:03:08,760 --> 00:03:10,260 In addition, in agile, 63 00:03:10,260 --> 00:03:11,970 the validation of deliverables 64 00:03:11,970 --> 00:03:14,520 is performed throughout the process. 65 00:03:14,520 --> 00:03:18,360 And it's easy because teams are delivering working software 66 00:03:18,360 --> 00:03:19,290 to the customer, 67 00:03:19,290 --> 00:03:20,940 and then they do re-planning 68 00:03:20,940 --> 00:03:24,060 based on customer and business feedback. 69 00:03:24,060 --> 00:03:26,790 If additional features are requested, 70 00:03:26,790 --> 00:03:30,000 the team does a high level estimation of the work 71 00:03:30,000 --> 00:03:32,310 that is required to deliver these features. 72 00:03:32,310 --> 00:03:34,500 And then the team provides an estimate 73 00:03:34,500 --> 00:03:37,140 to the sponsor or the requester. 74 00:03:37,140 --> 00:03:40,650 At this point, the sponsor can make an informed decision 75 00:03:40,650 --> 00:03:44,820 whether it is worth investing in more sprints 76 00:03:44,820 --> 00:03:46,740 or additional functionality 77 00:03:46,740 --> 00:03:49,380 based on cost per sprint and duration, 78 00:03:49,380 --> 00:03:52,320 or sometimes they prefer to descope 79 00:03:52,320 --> 00:03:55,470 if this is a less important functionality 80 00:03:55,470 --> 00:03:56,700 if they want to stay 81 00:03:56,700 --> 00:04:00,030 within the originally allocated budgets. 82 00:04:00,030 --> 00:04:03,750 So this makes all calculations in agile very simple 83 00:04:03,750 --> 00:04:07,140 compared to the complexity of budget calculations 84 00:04:07,140 --> 00:04:08,820 in waterfall. 85 00:04:08,820 --> 00:04:10,830 In waterfall, the phase of the project 86 00:04:10,830 --> 00:04:13,140 defines the value that is being delivered. 87 00:04:13,140 --> 00:04:16,890 And in agile, there are just two major parameters. 88 00:04:16,890 --> 00:04:19,560 First, stable, dedicated agile teams, 89 00:04:19,560 --> 00:04:22,860 and the second is time boxed iterations. 90 00:04:22,860 --> 00:04:24,363 That's all you need to know. 91 00:04:26,040 --> 00:04:28,470 So let us review an example. 92 00:04:28,470 --> 00:04:31,140 Four team members of a scrum team 93 00:04:31,140 --> 00:04:34,080 are allocated to deliver an application 94 00:04:34,080 --> 00:04:36,720 that has a set number of features. 95 00:04:36,720 --> 00:04:38,640 Once they do high level estimation, 96 00:04:38,640 --> 00:04:42,150 the team forecasted that they would need six sprints 97 00:04:42,150 --> 00:04:44,310 to deliver all the features. 98 00:04:44,310 --> 00:04:47,280 Each team has nine team members. 99 00:04:47,280 --> 00:04:49,470 Based on the organizational data, 100 00:04:49,470 --> 00:04:51,570 the average loaded rate, 101 00:04:51,570 --> 00:04:54,390 and loaded means a blended rate per employee, 102 00:04:54,390 --> 00:04:56,940 is $150 per hour. 103 00:04:56,940 --> 00:05:00,600 The total cost calculation becomes very simple. 104 00:05:00,600 --> 00:05:03,120 First, we'll look at employees per sprint. 105 00:05:03,120 --> 00:05:06,630 We have 10 full-time team members and four teams, 106 00:05:06,630 --> 00:05:10,470 which gives us 40 employees per sprint. 107 00:05:10,470 --> 00:05:14,767 Then, we'll look at cost per employee per a two week sprint. 108 00:05:14,767 --> 00:05:19,767 $150 per hour by 80 hours, which gives us 12,000. 109 00:05:21,480 --> 00:05:26,190 We refer to it as the fixed burn rate per person per sprint. 110 00:05:26,190 --> 00:05:31,190 This gives us cost per sprint of $480,000. 111 00:05:31,620 --> 00:05:34,350 Then, we'll look at six sprints 112 00:05:34,350 --> 00:05:39,350 and 480,000 multiplied by six is $2,880,000. 113 00:05:42,930 --> 00:05:45,180 Then, we'll look at any additional costs, 114 00:05:45,180 --> 00:05:48,990 licenses, equipment, not including vendor costs. 115 00:05:48,990 --> 00:05:52,020 In our case, it's $120,000. 116 00:05:52,020 --> 00:05:54,637 So the total estimated cost is 117 00:05:54,637 --> 00:05:59,190 $2,880,000 per people and labor 118 00:05:59,190 --> 00:06:01,500 and then 120,000 119 00:06:01,500 --> 00:06:05,403 and total of 3,000,000 for this project. 120 00:06:06,360 --> 00:06:09,060 It is important to understand that in agile, 121 00:06:09,060 --> 00:06:11,610 an estimate is not a commitment. 122 00:06:11,610 --> 00:06:15,750 It is a forecast which will be adjusted sprint by sprint. 123 00:06:15,750 --> 00:06:18,510 It's adjusted by validation with the customers, 124 00:06:18,510 --> 00:06:19,650 with the business, 125 00:06:19,650 --> 00:06:23,010 and it is based on incremental deliverables, 126 00:06:23,010 --> 00:06:26,430 and overall, fast feedback loop. 127 00:06:26,430 --> 00:06:29,220 The comparison of agile and waterfall cost management 128 00:06:29,220 --> 00:06:31,920 is presented on this slide. 129 00:06:31,920 --> 00:06:33,840 Once the budget is established, 130 00:06:33,840 --> 00:06:36,570 the following strategies allow agile teams 131 00:06:36,570 --> 00:06:39,570 to continuously refine the budget. 132 00:06:39,570 --> 00:06:42,300 First, high quality product backlog 133 00:06:42,300 --> 00:06:45,360 that reflects MVP, minimum viable product 134 00:06:45,360 --> 00:06:48,180 and subsequent feature list. 135 00:06:48,180 --> 00:06:51,990 The second one is continuous product backlog refinement 136 00:06:51,990 --> 00:06:55,800 that happens along with the consistent estimation. 137 00:06:55,800 --> 00:07:00,776 The third is short feedback loops that happen through demos 138 00:07:00,776 --> 00:07:03,930 and sprint reviews with the customers. 139 00:07:03,930 --> 00:07:06,600 The fourth one is agile planning 140 00:07:06,600 --> 00:07:10,200 to implement the value of iterative delivery. 141 00:07:10,200 --> 00:07:13,830 There is also an ultimate approach to agile budgeting, 142 00:07:13,830 --> 00:07:16,860 the principle of beyond budgeting. 143 00:07:16,860 --> 00:07:20,580 It has been implemented in some agile organizations, 144 00:07:20,580 --> 00:07:25,140 but very few due to its revolutionary nature. 145 00:07:25,140 --> 00:07:27,960 This approach represents a new management philosophy 146 00:07:27,960 --> 00:07:30,390 that is more agile and adaptable, 147 00:07:30,390 --> 00:07:32,700 aiming at eliminating bureaucracy 148 00:07:32,700 --> 00:07:35,310 and rigid control mechanisms 149 00:07:35,310 --> 00:07:38,010 that happen in most of the organization. 150 00:07:38,010 --> 00:07:39,420 It empowers people. 151 00:07:39,420 --> 00:07:43,350 So instead of focusing on long term complex budgets, 152 00:07:43,350 --> 00:07:47,010 which become obsolete as soon as they're published frankly, 153 00:07:47,010 --> 00:07:50,280 beyond budgeting organizations focus their budgets 154 00:07:50,280 --> 00:07:54,300 on short term financial performance sprint by sprint, 155 00:07:54,300 --> 00:07:57,000 very similar to agile delivery. 156 00:07:57,000 --> 00:08:00,753 Now, let's move to the agile risk management. 157 00:08:02,340 --> 00:08:05,280 A risk is anything that could prevent 158 00:08:05,280 --> 00:08:08,430 or marginalize project success. 159 00:08:08,430 --> 00:08:12,240 When a risk materializes, it becomes an issue. 160 00:08:12,240 --> 00:08:15,420 Agile practices provides a built-in mechanism 161 00:08:15,420 --> 00:08:18,270 to manage a wide range of risks. 162 00:08:18,270 --> 00:08:21,000 And those risks are frequently encountered 163 00:08:21,000 --> 00:08:24,033 in software development and overall in business. 164 00:08:24,930 --> 00:08:28,233 Agile doesn't offer a universal definitional of risk. 165 00:08:29,460 --> 00:08:32,880 It doesn't provide a standard approach to risk management 166 00:08:32,880 --> 00:08:35,790 because risk management in agile 167 00:08:35,790 --> 00:08:38,160 is built into the cadence 168 00:08:38,160 --> 00:08:40,770 in such a way that agile provides a framework 169 00:08:40,770 --> 00:08:44,010 to manage risk early and proactively. 170 00:08:44,010 --> 00:08:47,340 For example, agile has continued improvement 171 00:08:47,340 --> 00:08:50,070 based on the short feedback cycle, 172 00:08:50,070 --> 00:08:53,640 so all the potential issues are exposed very early 173 00:08:53,640 --> 00:08:56,970 and triaged within a short time frame. 174 00:08:56,970 --> 00:08:59,820 In addition, the transparency of agile culture 175 00:08:59,820 --> 00:09:02,640 with retrospectives, feedback, and so forth 176 00:09:02,640 --> 00:09:05,220 contributes to exposing risks early. 177 00:09:05,220 --> 00:09:07,170 And once you expose risks, 178 00:09:07,170 --> 00:09:09,870 you are able to address them without blame 179 00:09:09,870 --> 00:09:12,060 in a very efficient way. 180 00:09:12,060 --> 00:09:14,910 So as an example, in daily scrum meetings, 181 00:09:14,910 --> 00:09:17,490 team members have to answer the question, 182 00:09:17,490 --> 00:09:19,680 which impediments am I having? 183 00:09:19,680 --> 00:09:22,530 And then the whole team gets engaged 184 00:09:22,530 --> 00:09:24,690 in unblocking their peers. 185 00:09:24,690 --> 00:09:26,250 In waterfall projects, 186 00:09:26,250 --> 00:09:29,340 team members are mostly focused on their individual tasks, 187 00:09:29,340 --> 00:09:33,270 so there are no similar mechanisms to expose the risk daily 188 00:09:33,270 --> 00:09:35,790 and to triage them immediately. 189 00:09:35,790 --> 00:09:39,360 This way, waterfall has to manage risks 190 00:09:39,360 --> 00:09:43,440 in a very consistent and heavy way. 191 00:09:43,440 --> 00:09:45,480 Agile doesn't have to. 192 00:09:45,480 --> 00:09:48,150 The built-in mechanisms are the reason 193 00:09:48,150 --> 00:09:50,820 why most agile frameworks do not really specify 194 00:09:50,820 --> 00:09:53,640 how they have to manage risks. 195 00:09:53,640 --> 00:09:56,190 Risks are managed via early feedback, 196 00:09:56,190 --> 00:09:59,160 collaboration between business and technology, 197 00:09:59,160 --> 00:10:00,720 test driven development 198 00:10:00,720 --> 00:10:03,960 where the quality is built into the delivery process, 199 00:10:03,960 --> 00:10:08,670 and many other mechanisms that mitigate risks upfront. 200 00:10:08,670 --> 00:10:12,780 For external risks and dependencies that happen in agile, 201 00:10:12,780 --> 00:10:14,610 there are still multiple mechanisms 202 00:10:14,610 --> 00:10:17,340 and tools available for risk management. 203 00:10:17,340 --> 00:10:19,260 For example, some agile practitioners 204 00:10:19,260 --> 00:10:22,740 still maintain a list of risks for their teams. 205 00:10:22,740 --> 00:10:26,220 And those include external dependencies 206 00:10:26,220 --> 00:10:29,010 and especially the ones outside of IT 207 00:10:29,010 --> 00:10:33,060 that could be vendor, legal, compliance issues, 208 00:10:33,060 --> 00:10:36,180 regulatory licensing, and many other risks. 209 00:10:36,180 --> 00:10:38,700 And those risks need to be assessed 210 00:10:38,700 --> 00:10:42,240 and mitigated similar to any other company 211 00:10:42,240 --> 00:10:44,310 irrespective of their framework, 212 00:10:44,310 --> 00:10:46,113 agile or waterfall.