1 00:00:00,070 --> 00:00:02,500 The following content is provided under a Creative 2 00:00:02,500 --> 00:00:04,019 Commons license. 3 00:00:04,019 --> 00:00:06,360 Your support will help MIT OpenCourseWare 4 00:00:06,360 --> 00:00:10,730 continue to offer high quality educational resources for free. 5 00:00:10,730 --> 00:00:13,330 To make a donation or view additional materials 6 00:00:13,330 --> 00:00:17,236 from hundreds of MIT courses, visit MIT OpenCourseWare 7 00:00:17,236 --> 00:00:17,861 at ocw.mit.edu. 8 00:00:21,005 --> 00:00:21,755 SARA VERRILLI: OK. 9 00:00:24,360 --> 00:00:26,020 Welcome to class. 10 00:00:26,020 --> 00:00:28,090 Some very quick announcements. 11 00:00:28,090 --> 00:00:31,100 We had the date wrong on the vision statement. 12 00:00:31,100 --> 00:00:33,840 The vision statement you guys worked on on Monday 13 00:00:33,840 --> 00:00:35,070 is due today. 14 00:00:35,070 --> 00:00:37,510 We had the date wrong in Stellar. 15 00:00:37,510 --> 00:00:41,070 So it will not be late as long as it's 16 00:00:41,070 --> 00:00:43,240 turned in by tomorrow morning. 17 00:00:43,240 --> 00:00:46,090 We have adjusted the date on Stellar 18 00:00:46,090 --> 00:00:47,360 so now it shows the real date. 19 00:00:47,360 --> 00:00:51,230 But since we made that mistake, it's not late until tomorrow. 20 00:00:51,230 --> 00:00:54,630 But we will expect them all in by the end of the day today. 21 00:00:54,630 --> 00:00:58,570 Secondly, the things that are due next Monday, 22 00:00:58,570 --> 00:01:00,940 you will be expected to be turning in a product backlog. 23 00:01:00,940 --> 00:01:03,523 We're going to work on creating product backlog in class today 24 00:01:03,523 --> 00:01:06,430 and then you will have some time to refine and think 25 00:01:06,430 --> 00:01:09,110 about it as you're working on the project over the weekend. 26 00:01:13,660 --> 00:01:16,050 One thing you should be working on along the way, 27 00:01:16,050 --> 00:01:18,720 remember we require a design change log for this project 28 00:01:18,720 --> 00:01:19,640 as well. 29 00:01:19,640 --> 00:01:21,530 So you should have already started it 30 00:01:21,530 --> 00:01:23,490 because you probably made some design decisions 31 00:01:23,490 --> 00:01:26,120 in your meeting on Monday. 32 00:01:26,120 --> 00:01:31,680 So don't forget that and don't try to do it at the end. 33 00:01:31,680 --> 00:01:35,220 I think that's all the announcements. 34 00:01:35,220 --> 00:01:35,990 Yeah? 35 00:01:35,990 --> 00:01:37,510 OK. 36 00:01:37,510 --> 00:01:40,925 So today's class is going to be, we're 37 00:01:40,925 --> 00:01:43,450 going to start talking about project management. 38 00:01:43,450 --> 00:01:45,450 What we are trying to do with project management 39 00:01:45,450 --> 00:01:48,460 is give you the just in time version of it. 40 00:01:48,460 --> 00:01:50,600 Which is to say, we're trying to give you 41 00:01:50,600 --> 00:01:52,140 the pieces of project management you 42 00:01:52,140 --> 00:01:55,401 need for the project you're on right now in the state it's on. 43 00:01:55,401 --> 00:01:57,150 And we're going to be just in time project 44 00:01:57,150 --> 00:01:58,397 management for project two. 45 00:01:58,397 --> 00:01:59,980 And then on project three, we're going 46 00:01:59,980 --> 00:02:02,330 to expect you to use all those pieces from the beginning 47 00:02:02,330 --> 00:02:04,000 and all the way through on your own 48 00:02:04,000 --> 00:02:07,630 so that you'll have had a walkthrough on project two, 49 00:02:07,630 --> 00:02:10,889 a practice run on project three, and then on project four 50 00:02:10,889 --> 00:02:13,060 hopefully you will need it and it will all work. 51 00:02:13,060 --> 00:02:14,310 That's sort of the philosophy. 52 00:02:14,310 --> 00:02:16,393 So we are giving it out to you in bits and pieces, 53 00:02:16,393 --> 00:02:19,200 and I acknowledge that. 54 00:02:19,200 --> 00:02:23,000 I suspect that between today's lecture and Monday's lecture, 55 00:02:23,000 --> 00:02:26,110 we will have covered sort of all the things we 56 00:02:26,110 --> 00:02:28,420 expect you to be doing as far as project management. 57 00:02:28,420 --> 00:02:30,580 But today's lecture's sort of the first half 58 00:02:30,580 --> 00:02:32,610 and then Monday's will be the second half 59 00:02:32,610 --> 00:02:33,620 and tidying it all up. 60 00:02:36,780 --> 00:02:39,750 So we're going to do a brief history of how 61 00:02:39,750 --> 00:02:43,290 project management was done in the past in the software 62 00:02:43,290 --> 00:02:44,470 industry. 63 00:02:44,470 --> 00:02:47,880 We're going to talk about agile, which is where many software 64 00:02:47,880 --> 00:02:50,610 companies are using now or moving to 65 00:02:50,610 --> 00:02:52,180 with various levels of success. 66 00:02:52,180 --> 00:02:54,636 Not all of them, unfortunately. 67 00:02:54,636 --> 00:02:56,010 Then we're going to start getting 68 00:02:56,010 --> 00:02:59,280 into the nitty gritty of the agile management system 69 00:02:59,280 --> 00:03:03,760 that our lab is most familiar with, which is Scrum. 70 00:03:03,760 --> 00:03:06,840 And we'll start walking through all the aspects of Scrum. 71 00:03:06,840 --> 00:03:09,882 We will concentrate today on product backlogs. 72 00:03:09,882 --> 00:03:11,340 We'll take a break from our lecture 73 00:03:11,340 --> 00:03:14,950 and you guys will have the opportunity in about a half 74 00:03:14,950 --> 00:03:17,220 an hour to make your own project backlogs 75 00:03:17,220 --> 00:03:19,490 and then do very quick presentations of sort 76 00:03:19,490 --> 00:03:22,320 of, OK, here are the top features that we found 77 00:03:22,320 --> 00:03:24,820 in our product backlog when we sat down and actually thought 78 00:03:24,820 --> 00:03:27,160 about our game. 79 00:03:27,160 --> 00:03:30,690 Then unfortunately I will get up and start talking again. 80 00:03:30,690 --> 00:03:34,696 We'll go over the meetings in Scrum, how they run, 81 00:03:34,696 --> 00:03:36,320 and what they are, and why you do them, 82 00:03:36,320 --> 00:03:38,430 and their level of importance. 83 00:03:38,430 --> 00:03:41,150 And when we hit the end of that, we'll 84 00:03:41,150 --> 00:03:42,720 have you run a small one yourself 85 00:03:42,720 --> 00:03:45,610 and then we will actually get to use the rest of time in class 86 00:03:45,610 --> 00:03:49,420 for working in your groups and working on your projects. 87 00:03:49,420 --> 00:03:50,650 OK? 88 00:03:50,650 --> 00:03:52,990 Any questions? 89 00:03:52,990 --> 00:03:53,720 And let's go. 90 00:03:56,539 --> 00:03:58,330 Now that we have the class interest guides, 91 00:03:58,330 --> 00:04:01,180 I can mostly skip that slide. 92 00:04:01,180 --> 00:04:02,200 OK. 93 00:04:02,200 --> 00:04:04,400 So you all took this class to learn 94 00:04:04,400 --> 00:04:05,960 how to create video games. 95 00:04:05,960 --> 00:04:09,400 We, however, created this class to teach project management 96 00:04:09,400 --> 00:04:11,189 in video games. 97 00:04:11,189 --> 00:04:13,230 Fortunately, we're all going to get what we want, 98 00:04:13,230 --> 00:04:15,530 because you really do need some good project management 99 00:04:15,530 --> 00:04:19,821 skills to successfully make video games. 100 00:04:19,821 --> 00:04:21,279 The better your project management, 101 00:04:21,279 --> 00:04:23,570 the better your chances of coming out with a good game. 102 00:04:23,570 --> 00:04:24,810 It won't guarantee it. 103 00:04:24,810 --> 00:04:26,810 You need a lot of other good things as well. 104 00:04:26,810 --> 00:04:29,143 But I can pretty much guarantee that without any project 105 00:04:29,143 --> 00:04:33,800 management, your attempt to make a game is going to fail. 106 00:04:33,800 --> 00:04:34,732 So do try to listen. 107 00:04:34,732 --> 00:04:37,190 I know this is some of the less interesting stuff we cover, 108 00:04:37,190 --> 00:04:39,350 especially coming after the high of prototyping and making 109 00:04:39,350 --> 00:04:40,070 games. 110 00:04:40,070 --> 00:04:41,965 But this is just as important as prototyping. 111 00:04:45,300 --> 00:04:46,990 So what is project management? 112 00:04:46,990 --> 00:04:49,790 Let's start by explaining what the heck I'm talking about. 113 00:04:49,790 --> 00:04:52,100 Project management is the work on the project that's 114 00:04:52,100 --> 00:04:55,920 devoted to planning, organizing, securing, motivating, 115 00:04:55,920 --> 00:04:58,980 and controlling the resources to successfully complete 116 00:04:58,980 --> 00:05:00,910 a project. 117 00:05:00,910 --> 00:05:04,790 You've all heard of fast, good, cheap, pick two. 118 00:05:04,790 --> 00:05:08,030 Most projects are actually lucky if they manage to choose one. 119 00:05:08,030 --> 00:05:09,560 And it's project management allows 120 00:05:09,560 --> 00:05:10,976 them to figure out whether they're 121 00:05:10,976 --> 00:05:14,700 going to be fast or good or good or cheap or whatever. 122 00:05:14,700 --> 00:05:17,160 Project management is all about predicting. 123 00:05:17,160 --> 00:05:19,230 I knew the definition up there says controlling, 124 00:05:19,230 --> 00:05:21,540 but you really can't control a whole lot of things. 125 00:05:21,540 --> 00:05:25,110 What you can do is you can make some estimates, 126 00:05:25,110 --> 00:05:27,910 make some predictions, plan for the risks you're going to run 127 00:05:27,910 --> 00:05:29,479 into and then deal with them. 128 00:05:29,479 --> 00:05:31,270 So it's really about predicting what you're 129 00:05:31,270 --> 00:05:33,290 going to need to do when you're going to need to do it 130 00:05:33,290 --> 00:05:34,990 and how you're going to need to do it. 131 00:05:39,740 --> 00:05:42,210 If you follow game and other large software project 132 00:05:42,210 --> 00:05:44,450 releases, you know how rarely they 133 00:05:44,450 --> 00:05:47,470 actually manage to come out on time 134 00:05:47,470 --> 00:05:49,180 with all of their features. 135 00:05:49,180 --> 00:05:52,090 Games are especially famous for coming out late, 136 00:05:52,090 --> 00:05:54,324 for being over budget, and for often 137 00:05:54,324 --> 00:05:56,740 under delivering the shiny things that they had mentioned. 138 00:05:56,740 --> 00:05:59,080 Can anybody think of a couple of games recently 139 00:05:59,080 --> 00:05:59,940 that have done that? 140 00:06:04,350 --> 00:06:04,970 No? 141 00:06:04,970 --> 00:06:05,886 AUDIENCE: [INAUDIBLE]. 142 00:06:14,090 --> 00:06:16,530 SARA VERRILLI: Yep. 143 00:06:16,530 --> 00:06:17,790 OK definitions may vary. 144 00:06:17,790 --> 00:06:19,830 But yeah, it is really, really common 145 00:06:19,830 --> 00:06:21,970 for games to come out late and over budget. 146 00:06:24,549 --> 00:06:25,340 Here's another one. 147 00:06:25,340 --> 00:06:27,630 Anybody name a tripe A game that shipped on time? 148 00:06:27,630 --> 00:06:30,360 I'm not actually sure I can do this one. 149 00:06:30,360 --> 00:06:32,140 With all the features that they predicted. 150 00:06:32,140 --> 00:06:33,858 Can anyone name one? 151 00:06:33,858 --> 00:06:34,774 AUDIENCE: [INAUDIBLE]. 152 00:06:40,294 --> 00:06:41,460 SARA VERRILLI: Call Of Duty. 153 00:06:41,460 --> 00:06:42,730 OK. 154 00:06:42,730 --> 00:06:45,690 That's impressive. 155 00:06:45,690 --> 00:06:49,320 OK, so how do you manage to plan what you're 156 00:06:49,320 --> 00:06:51,970 going to need to do, get all of your resources in order, 157 00:06:51,970 --> 00:06:54,670 have them all in the right place at the right time, 158 00:06:54,670 --> 00:06:57,720 and get them working together? 159 00:06:57,720 --> 00:07:00,880 The old model of doing this, which is actually 160 00:07:00,880 --> 00:07:03,500 the model that I worked at in several studios and I've 161 00:07:03,500 --> 00:07:05,820 seen several other studios that use it. 162 00:07:05,820 --> 00:07:08,210 And it doesn't work very well. 163 00:07:08,210 --> 00:07:10,040 But sort of the model that things 164 00:07:10,040 --> 00:07:12,590 started with in the industry and grew from is waterfall. 165 00:07:12,590 --> 00:07:15,480 And I want to talk about that because it's 166 00:07:15,480 --> 00:07:19,370 where some studios still are and it's where a lot of software 167 00:07:19,370 --> 00:07:20,460 projects still are. 168 00:07:20,460 --> 00:07:23,870 And so it's good to understand what the history of project 169 00:07:23,870 --> 00:07:26,490 management is so you understand some of the problems that 170 00:07:26,490 --> 00:07:29,450 were found in that model that the agile model is trying 171 00:07:29,450 --> 00:07:31,000 to fix. 172 00:07:31,000 --> 00:07:33,240 Agile has its own problems and we'll talk about them. 173 00:07:33,240 --> 00:07:35,330 But let's start with waterfall. 174 00:07:35,330 --> 00:07:40,450 So the very traditional tool is waterfall, where 175 00:07:40,450 --> 00:07:42,960 you prepare for every stage. 176 00:07:42,960 --> 00:07:45,570 You sort of finish every stage 100% 177 00:07:45,570 --> 00:07:51,080 and then you move on to the next stage to see what happens. 178 00:07:51,080 --> 00:07:52,910 First you need your spec. 179 00:07:52,910 --> 00:07:55,500 You need your requirements. 180 00:07:55,500 --> 00:07:58,561 Which in game design is sort of your concept and your design 181 00:07:58,561 --> 00:07:59,060 phase. 182 00:07:59,060 --> 00:08:00,940 You figure out what you want to make, 183 00:08:00,940 --> 00:08:03,279 you figure out what all the features are. 184 00:08:03,279 --> 00:08:04,820 You also figure out other constraints 185 00:08:04,820 --> 00:08:07,200 like what is your budget, how long 186 00:08:07,200 --> 00:08:10,040 you're going to take, what can the people on your team 187 00:08:10,040 --> 00:08:10,716 actually do. 188 00:08:10,716 --> 00:08:12,340 If you don't have a physics programmer, 189 00:08:12,340 --> 00:08:14,330 you probably don't want to make a physics game. 190 00:08:14,330 --> 00:08:16,800 All that pulling all those constraints together 191 00:08:16,800 --> 00:08:18,650 to make a design that is reasonable 192 00:08:18,650 --> 00:08:20,649 that works with the things that you think you're 193 00:08:20,649 --> 00:08:23,740 going to have to work with. 194 00:08:23,740 --> 00:08:25,720 That concepting and design is going 195 00:08:25,720 --> 00:08:27,980 to flow into pre-production where you sit there 196 00:08:27,980 --> 00:08:29,260 and you made a whole lot of assumptions 197 00:08:29,260 --> 00:08:30,190 in design and concept. 198 00:08:30,190 --> 00:08:31,689 And in pre-production, you test them 199 00:08:31,689 --> 00:08:33,959 in very small scale usually. 200 00:08:33,959 --> 00:08:35,500 You figure out if people can actually 201 00:08:35,500 --> 00:08:38,030 do the things they said they were going to do. 202 00:08:38,030 --> 00:08:41,940 You figure out if the software you were going to buy 203 00:08:41,940 --> 00:08:45,720 is actually going to work or not and all those other details. 204 00:08:45,720 --> 00:08:47,700 Using the data you gathered in pre-production, 205 00:08:47,700 --> 00:08:50,530 you create a whole lot of big fancy schedules. 206 00:08:50,530 --> 00:08:53,330 And using those schedules, you hire up your team 207 00:08:53,330 --> 00:08:56,530 and you go into production, and you implement everything 208 00:08:56,530 --> 00:09:00,350 and you get it all built. Well, you get most of it built. 209 00:09:00,350 --> 00:09:03,832 Then in game processes, you go into alpha 210 00:09:03,832 --> 00:09:05,540 when you've got most of your features in. 211 00:09:05,540 --> 00:09:07,720 And that's when you usually bring on a few small testers 212 00:09:07,720 --> 00:09:09,511 to do a little bit of testing and make sure 213 00:09:09,511 --> 00:09:11,540 your code is working the way you expect it to. 214 00:09:11,540 --> 00:09:13,000 Then when you've got all your features in, 215 00:09:13,000 --> 00:09:14,583 it's mostly working, you go into beta. 216 00:09:14,583 --> 00:09:17,110 You bring on more testers. 217 00:09:17,110 --> 00:09:18,610 In big studios these days it's often 218 00:09:18,610 --> 00:09:20,240 common to have open betas. 219 00:09:20,240 --> 00:09:23,610 If you're looking at some sort of massive game 220 00:09:23,610 --> 00:09:26,110 where you're not going to hire 100,000 testers. 221 00:09:26,110 --> 00:09:27,750 So what you do is you have an open beta 222 00:09:27,750 --> 00:09:30,120 and you let people play the game for free in exchange 223 00:09:30,120 --> 00:09:31,820 for testing it. 224 00:09:31,820 --> 00:09:34,870 That hopefully nails out the rest of your big problems 225 00:09:34,870 --> 00:09:37,990 and then you ship it. 226 00:09:37,990 --> 00:09:41,440 Does anyone see the big problem with games in this model? 227 00:09:44,889 --> 00:09:46,680 It's a little subtle, so it's easy to miss. 228 00:09:46,680 --> 00:09:47,660 It's OK if you don't. 229 00:09:47,660 --> 00:09:48,643 Yeah? 230 00:09:48,643 --> 00:09:49,559 AUDIENCE: [INAUDIBLE]. 231 00:09:59,147 --> 00:10:00,230 SARA VERRILLI: That is it. 232 00:10:00,230 --> 00:10:03,880 Almost all of the testing is here at the end at beta. 233 00:10:03,880 --> 00:10:06,340 It's a little late to change your design if you're 234 00:10:06,340 --> 00:10:09,397 doing all of your testing at the end. 235 00:10:09,397 --> 00:10:11,230 if you're doing all your testing at the end, 236 00:10:11,230 --> 00:10:12,650 the team can't respond to it. 237 00:10:12,650 --> 00:10:14,200 They can't fix things. 238 00:10:14,200 --> 00:10:17,126 And that is where a lot of schedules get stretched out 239 00:10:17,126 --> 00:10:18,750 and a lot of budgets get stretched out. 240 00:10:18,750 --> 00:10:22,480 Because all of the planning you had goes out 241 00:10:22,480 --> 00:10:24,177 the door somewhere around early alpha 242 00:10:24,177 --> 00:10:26,260 and you have to start reworking your whole system. 243 00:10:29,460 --> 00:10:32,240 The problem here is, of course, you can't predict fun. 244 00:10:32,240 --> 00:10:34,430 You can't design an engaging experience 245 00:10:34,430 --> 00:10:36,540 without interacting with the people who 246 00:10:36,540 --> 00:10:38,500 are going to be using it, which means 247 00:10:38,500 --> 00:10:40,550 not just the people on your team, 248 00:10:40,550 --> 00:10:42,320 not just the small group of pre-prod. 249 00:10:42,320 --> 00:10:45,000 I mean, in waterfall they do do testing. 250 00:10:45,000 --> 00:10:47,367 In pre-production you test, in design, you test. 251 00:10:47,367 --> 00:10:49,700 But you're almost always testing with a very small group 252 00:10:49,700 --> 00:10:50,780 of people. 253 00:10:50,780 --> 00:10:52,545 The other designers on your team, 254 00:10:52,545 --> 00:10:53,920 the other people in your company. 255 00:10:53,920 --> 00:10:55,747 You're not going for any big testing. 256 00:10:55,747 --> 00:10:57,330 You're not going for any user testing. 257 00:10:57,330 --> 00:10:58,685 You're not finding out how the people who 258 00:10:58,685 --> 00:11:00,370 are actually going to use your product 259 00:11:00,370 --> 00:11:03,240 are going to react to it. 260 00:11:03,240 --> 00:11:06,650 So in many ways it's doomed to fail. 261 00:11:06,650 --> 00:11:10,110 There's not a lot you can do about it. 262 00:11:10,110 --> 00:11:13,570 None of these problems are unique to games. 263 00:11:13,570 --> 00:11:16,290 It's why big software projects often run over budget 264 00:11:16,290 --> 00:11:18,630 and run into a lot of feature creep. 265 00:11:18,630 --> 00:11:22,000 But games have the really unique problem 266 00:11:22,000 --> 00:11:25,710 that their primary feature, their primary goal, 267 00:11:25,710 --> 00:11:29,160 is to be interesting and engaging to use. 268 00:11:29,160 --> 00:11:33,880 If you are looking at business software, and it's hard to use 269 00:11:33,880 --> 00:11:36,920 and it's annoying, but it does all the calculations you need 270 00:11:36,920 --> 00:11:40,570 and it's the one that the tech department bought and deployed, 271 00:11:40,570 --> 00:11:42,454 you're going to use it. 272 00:11:42,454 --> 00:11:43,870 There's just no getting around it. 273 00:11:43,870 --> 00:11:46,490 But nobody has to play Call of Duty. 274 00:11:46,490 --> 00:11:49,160 Nobody has to turn on a particular game on their phone 275 00:11:49,160 --> 00:11:50,390 and play it. 276 00:11:50,390 --> 00:11:54,500 So if a game fails in that sort of user connection, 277 00:11:54,500 --> 00:11:56,230 it has completely failed. 278 00:11:56,230 --> 00:12:00,370 There's nothing else you can do. 279 00:12:00,370 --> 00:12:03,770 It really kind of comes down to, if your users aren't happy, 280 00:12:03,770 --> 00:12:04,905 it's not a good game. 281 00:12:04,905 --> 00:12:07,879 Your design changes, your schedule changes, 282 00:12:07,879 --> 00:12:09,420 and your project management has now-- 283 00:12:09,420 --> 00:12:11,110 all of the time you put in project management has 284 00:12:11,110 --> 00:12:12,360 mostly a waste of time. 285 00:12:15,710 --> 00:12:18,270 So what do you do instead? 286 00:12:18,270 --> 00:12:21,900 First of all, you think about building design iteration 287 00:12:21,900 --> 00:12:23,660 into your project management model. 288 00:12:23,660 --> 00:12:25,470 You assume that you're going to be iterating and changing 289 00:12:25,470 --> 00:12:26,940 your design all the way around. 290 00:12:29,850 --> 00:12:34,120 That is what the agile project management movement I guess 291 00:12:34,120 --> 00:12:37,561 is the right way to put it was invented from. 292 00:12:37,561 --> 00:12:39,310 There are actually several different types 293 00:12:39,310 --> 00:12:41,622 of project management that call themselves agile 294 00:12:41,622 --> 00:12:43,830 and there are several different techniques and tricks 295 00:12:43,830 --> 00:12:46,490 that call themselves agile. 296 00:12:46,490 --> 00:12:48,750 The one thing that they have in common 297 00:12:48,750 --> 00:12:52,300 is they try to follow the agile manifesto, which 298 00:12:52,300 --> 00:12:58,210 is individuals interactions over processes and tools. 299 00:12:58,210 --> 00:13:00,560 Does anyone want to-- let's just go ahead. 300 00:13:00,560 --> 00:13:04,080 Working software over comprehensive documentation. 301 00:13:04,080 --> 00:13:06,220 Customer collaboration over contract negotiation. 302 00:13:06,220 --> 00:13:08,940 And responding to change over following a plan. 303 00:13:12,550 --> 00:13:14,920 So for the first one, individuals and interactions, 304 00:13:14,920 --> 00:13:17,940 means it's better to get up and talk to someone 305 00:13:17,940 --> 00:13:21,120 than to send a whole lot of change requests over. 306 00:13:21,120 --> 00:13:22,560 Working software. 307 00:13:22,560 --> 00:13:26,180 That's why we ask for paper prototypes and vision 308 00:13:26,180 --> 00:13:31,450 statements instead of a big design document. 309 00:13:31,450 --> 00:13:34,180 It's why we want to see what it's doing rather than having 310 00:13:34,180 --> 00:13:37,770 you tell us what it will do. 311 00:13:37,770 --> 00:13:40,120 You don't really have so much customer collaboration. 312 00:13:40,120 --> 00:13:41,210 So you don't even have to worry about signing 313 00:13:41,210 --> 00:13:43,335 contracts and getting people to observe milestones. 314 00:13:43,335 --> 00:13:47,750 That's less of a problem in a class specifically. 315 00:13:47,750 --> 00:13:50,770 And responding to change over following plan 316 00:13:50,770 --> 00:13:53,412 means that if you discover what you're doing isn't working, 317 00:13:53,412 --> 00:13:54,870 you sit down and you figure out how 318 00:13:54,870 --> 00:13:59,744 to fix it rather than continuing to go down the rabbit hole. 319 00:13:59,744 --> 00:14:03,720 PROFESSOR: I just want to state that everything on this 320 00:14:03,720 --> 00:14:05,624 are good things to do. 321 00:14:05,624 --> 00:14:09,440 Even the things that are sort of low in priority. 322 00:14:09,440 --> 00:14:11,890 It's good to have processes and tools. 323 00:14:11,890 --> 00:14:15,562 But it's more important that you have 324 00:14:15,562 --> 00:14:18,460 good interactions between the individuals in your group. 325 00:14:18,460 --> 00:14:22,196 Say if you are saying, no, I can't actually 326 00:14:22,196 --> 00:14:24,120 get up and talk to this person because we 327 00:14:24,120 --> 00:14:25,855 have a process that we have to follow. 328 00:14:25,855 --> 00:14:29,735 Then you're now prioritizing incorrectly [INAUDIBLE]. 329 00:14:33,615 --> 00:14:39,187 I guess the [INAUDIBLE] a lot of your classmates 330 00:14:39,187 --> 00:14:42,400 are going to be people who are going to play your games. 331 00:14:42,400 --> 00:14:44,170 And you [INAUDIBLE] collaboration 332 00:14:44,170 --> 00:14:48,910 is important in that sense because you just replace that 333 00:14:48,910 --> 00:14:51,420 with work with your players. 334 00:14:51,420 --> 00:14:55,970 Work with the people who are going to play your game. 335 00:14:55,970 --> 00:14:59,792 And yes, we did specify this is what we want you to see. 336 00:14:59,792 --> 00:15:01,500 This is what we wanted to see in the game 337 00:15:01,500 --> 00:15:03,220 that they are going to create. 338 00:15:03,220 --> 00:15:04,750 That's my contract. 339 00:15:04,750 --> 00:15:08,750 Well, that's less important than actually coming and talking 340 00:15:08,750 --> 00:15:10,757 to us about problems that you might 341 00:15:10,757 --> 00:15:13,490 be having and [INAUDIBLE]. 342 00:15:13,490 --> 00:15:17,266 Don't just use our syllabus as a laundry list of things that you 343 00:15:17,266 --> 00:15:19,350 have to do [INAUDIBLE]. 344 00:15:19,350 --> 00:15:20,190 SARA VERRILLI: Yeah. 345 00:15:20,190 --> 00:15:21,000 Yeah. 346 00:15:21,000 --> 00:15:21,510 Thank you. 347 00:15:24,150 --> 00:15:29,870 So the model of making a software project. 348 00:15:29,870 --> 00:15:32,580 I keep wanting to say game, but this is for any software, 349 00:15:32,580 --> 00:15:34,720 actually, agile model. 350 00:15:34,720 --> 00:15:38,200 Is that the project start you've got your vision and your idea 351 00:15:38,200 --> 00:15:39,400 what you're making. 352 00:15:39,400 --> 00:15:41,500 And then on every iteration, you go 353 00:15:41,500 --> 00:15:44,850 through every step, essentially, of the waterfall process. 354 00:15:44,850 --> 00:15:49,719 You do a little bit of design, a little bit of detailed design. 355 00:15:49,719 --> 00:15:51,260 You do a little bit of implementation 356 00:15:51,260 --> 00:15:54,780 of that particular chunk of the design you've just created. 357 00:15:54,780 --> 00:15:56,780 Then you spend some time testing it to make sure 358 00:15:56,780 --> 00:15:59,940 that, A, it works the way you expect it to, and B, 359 00:15:59,940 --> 00:16:02,560 it's achieving the result you want to get. 360 00:16:02,560 --> 00:16:03,730 I.e. 361 00:16:03,730 --> 00:16:05,290 the feature does what you expect it 362 00:16:05,290 --> 00:16:09,600 to do as far as improving the quality of your project. 363 00:16:09,600 --> 00:16:11,730 Then you spend some time reviewing what 364 00:16:11,730 --> 00:16:13,131 your overall project is doing. 365 00:16:13,131 --> 00:16:14,630 Is it still going the same direction 366 00:16:14,630 --> 00:16:17,090 you thought it would be going at the start of project? 367 00:16:17,090 --> 00:16:19,280 Is that the direction you want to be going in? 368 00:16:19,280 --> 00:16:21,530 And then you can modify your plan accordingly 369 00:16:21,530 --> 00:16:23,280 and you start over with another iteration. 370 00:16:28,390 --> 00:16:30,880 The big savings you have here and the way in which 371 00:16:30,880 --> 00:16:33,590 agile management tends to save time 372 00:16:33,590 --> 00:16:35,800 over waterfall management in this project 373 00:16:35,800 --> 00:16:39,910 is you spend less time designing features that people don't want 374 00:16:39,910 --> 00:16:43,157 and more time working on the features that people do want. 375 00:16:43,157 --> 00:16:45,240 And that's actually where the big time savings is. 376 00:16:45,240 --> 00:16:48,190 Agile can't make you write code faster. 377 00:16:48,190 --> 00:16:50,840 What it can do is make sure that the code you're writing 378 00:16:50,840 --> 00:16:52,830 is the code you want as opposed to the code 379 00:16:52,830 --> 00:16:54,913 that you end up cutting at the end of the project. 380 00:16:58,240 --> 00:17:00,070 Some caveats before we start actually 381 00:17:00,070 --> 00:17:03,990 talking about how this applies to you and your project. 382 00:17:03,990 --> 00:17:07,069 Agile is good, not perfect. 383 00:17:07,069 --> 00:17:09,730 Which means once you've learned the tools and processes 384 00:17:09,730 --> 00:17:11,530 for agile development, you will want 385 00:17:11,530 --> 00:17:13,280 to keep adjusting and improving them. 386 00:17:13,280 --> 00:17:14,790 You may discover that we're going 387 00:17:14,790 --> 00:17:17,650 to give you a set of outlines and a baker's list of things 388 00:17:17,650 --> 00:17:21,119 to follow and a recipe to do project management. 389 00:17:21,119 --> 00:17:22,829 And you may discover that following 390 00:17:22,829 --> 00:17:25,160 some portions of this recipe does not work well 391 00:17:25,160 --> 00:17:26,800 for the group you're in. 392 00:17:26,800 --> 00:17:29,940 Well the right thing to do is to set those pieces aside 393 00:17:29,940 --> 00:17:33,120 and figure out a way to work around it. 394 00:17:33,120 --> 00:17:35,640 A good agile team is always adjusting their processes 395 00:17:35,640 --> 00:17:36,790 and trying to improve them. 396 00:17:42,100 --> 00:17:45,800 Agile assumes that all of your developers 397 00:17:45,800 --> 00:17:49,470 are interchangeable, which they're not. 398 00:17:49,470 --> 00:17:51,460 Different programmers have different skills. 399 00:17:51,460 --> 00:17:54,710 And on a game project especially, you 400 00:17:54,710 --> 00:17:57,454 have people who can do art, people who are better design, 401 00:17:57,454 --> 00:17:59,370 you have people who are better at x or y or z. 402 00:17:59,370 --> 00:18:01,070 They're not all interchangeable. 403 00:18:01,070 --> 00:18:03,630 Which means that it takes more work 404 00:18:03,630 --> 00:18:06,650 to set up what your task set that you can get done 405 00:18:06,650 --> 00:18:11,850 in any particular period of time on a project 406 00:18:11,850 --> 00:18:12,930 than pure agile was. 407 00:18:12,930 --> 00:18:15,440 Agile says, OK, you've got this list of tasks. 408 00:18:15,440 --> 00:18:17,110 You've got enough time to do them. 409 00:18:17,110 --> 00:18:17,822 They'll get done. 410 00:18:17,822 --> 00:18:19,280 When you're making a game, you have 411 00:18:19,280 --> 00:18:20,946 to look more closely at the dependencies 412 00:18:20,946 --> 00:18:23,580 and who can get each of those tasks done to make sure 413 00:18:23,580 --> 00:18:28,140 that you have not in fact arranged for two of your team 414 00:18:28,140 --> 00:18:30,480 members to do nothing this sprint 415 00:18:30,480 --> 00:18:32,910 and two of your team members to do twice as much 416 00:18:32,910 --> 00:18:34,330 as they actually have time for. 417 00:18:34,330 --> 00:18:36,020 Sprint is the iteration cycle. 418 00:18:36,020 --> 00:18:37,700 I will explain it again later. 419 00:18:37,700 --> 00:18:39,300 I'm trying not to jump ahead and use 420 00:18:39,300 --> 00:18:42,990 jargon I haven't introduced, but it's sometimes a challenge. 421 00:18:42,990 --> 00:18:45,750 Let me know if I use a phrase that you don't understand, 422 00:18:45,750 --> 00:18:49,790 because I will explain it or redefine it for you. 423 00:18:49,790 --> 00:18:51,440 Finally, and this is a problem you're 424 00:18:51,440 --> 00:18:55,200 likely to run into a little bit less in class, 425 00:18:55,200 --> 00:18:57,440 but you are more likely to run into when 426 00:18:57,440 --> 00:18:59,430 you go into the outside world and you work 427 00:18:59,430 --> 00:19:01,760 on teams with different people. 428 00:19:01,760 --> 00:19:04,020 People trained in different disciplines 429 00:19:04,020 --> 00:19:05,560 communicate differently. 430 00:19:05,560 --> 00:19:07,970 They have different terminology. 431 00:19:07,970 --> 00:19:10,900 On game teams, this is really hard. 432 00:19:10,900 --> 00:19:13,000 Because you will often find, and I'm not actually 433 00:19:13,000 --> 00:19:15,310 trying to stereotype all programmers talk like this 434 00:19:15,310 --> 00:19:17,210 or all artists talk like that. 435 00:19:17,210 --> 00:19:20,449 But it is the case that the people 436 00:19:20,449 --> 00:19:21,990 who do programming and the people who 437 00:19:21,990 --> 00:19:26,970 are creating your assets, be they art or design or audio, 438 00:19:26,970 --> 00:19:31,200 often will talk past each other on specific problems. 439 00:19:31,200 --> 00:19:33,150 The artist will not be able to explain 440 00:19:33,150 --> 00:19:35,130 why they can't meet the programmer's 441 00:19:35,130 --> 00:19:36,880 technical requirements and the programmers 442 00:19:36,880 --> 00:19:40,590 will be unwilling to figure out why 443 00:19:40,590 --> 00:19:43,090 it is the artist can't meet those technical requirements. 444 00:19:43,090 --> 00:19:44,798 They've given the technical requirements. 445 00:19:44,798 --> 00:19:48,830 Why don't you just make something that works in it? 446 00:19:48,830 --> 00:19:51,200 Since agile depends on really good communication 447 00:19:51,200 --> 00:19:53,700 and the willingness to solve problems like this, 448 00:19:53,700 --> 00:19:57,800 this can create a huge tie up, especially in an agile team. 449 00:19:57,800 --> 00:20:01,380 It can pretty much stop anything from getting done. 450 00:20:01,380 --> 00:20:04,766 So that's another big red flag to be aware of when 451 00:20:04,766 --> 00:20:05,890 you're using these methods. 452 00:20:09,904 --> 00:20:11,400 OK. 453 00:20:11,400 --> 00:20:15,860 So there's more than one agile system. 454 00:20:15,860 --> 00:20:18,220 The one that we use, that we have 455 00:20:18,220 --> 00:20:20,850 the people work in our labs [INAUDIBLE] use, 456 00:20:20,850 --> 00:20:21,660 is called Scrum. 457 00:20:21,660 --> 00:20:24,440 Is anybody familiar with Scrum? 458 00:20:24,440 --> 00:20:25,860 Yay, there's a few people. 459 00:20:25,860 --> 00:20:29,360 Anybody used it at internships and things like that? 460 00:20:29,360 --> 00:20:30,200 OK. 461 00:20:30,200 --> 00:20:30,700 All right. 462 00:20:30,700 --> 00:20:35,610 So you guys can help your teams out a little bit hopefully. 463 00:20:35,610 --> 00:20:37,780 So Scrum has three buzz words, and I may as well 464 00:20:37,780 --> 00:20:40,113 go ahead and call them buzz words, because that's really 465 00:20:40,113 --> 00:20:42,410 what the are, that are supposed to define it 466 00:20:42,410 --> 00:20:46,540 and let you understand what it is about. 467 00:20:46,540 --> 00:20:50,070 They are transparency, inspection, and adaptability. 468 00:20:50,070 --> 00:20:53,380 You can think of them as Scrum's vision statement. 469 00:20:53,380 --> 00:20:55,590 Much shorter than a document. 470 00:20:55,590 --> 00:20:59,710 Essentially, if you are doing Scrum right, 471 00:20:59,710 --> 00:21:02,650 all of your decisions and processes are transparent. 472 00:21:02,650 --> 00:21:05,110 Everyone on the team who needs to be involved in a decision 473 00:21:05,110 --> 00:21:07,960 is and anyone on the team who wants to understand 474 00:21:07,960 --> 00:21:10,310 why something was done can. 475 00:21:10,310 --> 00:21:12,840 No one on the team should be able to say at any point, well, 476 00:21:12,840 --> 00:21:14,850 no one told me about that. 477 00:21:14,850 --> 00:21:17,130 Because it's both the team's responsibility 478 00:21:17,130 --> 00:21:19,940 to share information and each team member's responsibility 479 00:21:19,940 --> 00:21:22,850 to stay informed. 480 00:21:22,850 --> 00:21:26,840 Everything done by the team is inspected at some point. 481 00:21:26,840 --> 00:21:32,650 Decisions, processes, team actions, deliverables, code. 482 00:21:32,650 --> 00:21:35,430 The team thinks proactively about what they're 483 00:21:35,430 --> 00:21:37,250 doing, how they're doing it. 484 00:21:37,250 --> 00:21:39,810 And if the team discovers a problem, 485 00:21:39,810 --> 00:21:42,470 for example, the build keeps being broken every night, 486 00:21:42,470 --> 00:21:45,530 the team doesn't just say, oh, we'll work around it. 487 00:21:45,530 --> 00:21:48,450 Instead it takes responsibility figuring out how, why, 488 00:21:48,450 --> 00:21:50,210 and fixing not just the broken build, 489 00:21:50,210 --> 00:21:53,040 but the processes that led to the broken build. 490 00:21:53,040 --> 00:21:57,050 And finally, which feeds back into the other two, 491 00:21:57,050 --> 00:21:59,540 the team is willing to adapt any processes and decisions 492 00:21:59,540 --> 00:22:01,970 to the reality they're actually dealing with. 493 00:22:01,970 --> 00:22:04,332 When they find a structural problem, 494 00:22:04,332 --> 00:22:06,540 for example, how does art assets getting in the game? 495 00:22:06,540 --> 00:22:09,170 Well right now we're having the programmers hand load them in 496 00:22:09,170 --> 00:22:14,430 and we're losing six hours of programmer time every week. 497 00:22:14,430 --> 00:22:17,100 Instead they sit down and say, well, how do we fix this? 498 00:22:17,100 --> 00:22:20,510 Do we take 12 hours next sprint to code up 499 00:22:20,510 --> 00:22:23,040 a tool that allows the artist to put it in, 500 00:22:23,040 --> 00:22:25,370 and then we'll save all that time going forward? 501 00:22:25,370 --> 00:22:30,120 Do we teach the artists how do put their art in directly? 502 00:22:30,120 --> 00:22:34,660 I've had this discussion on a team in which we 503 00:22:34,660 --> 00:22:39,030 were losing an awful lot of time to programmers putting art 504 00:22:39,030 --> 00:22:39,724 in game. 505 00:22:39,724 --> 00:22:41,140 And the programmers were convinced 506 00:22:41,140 --> 00:22:42,890 it would be faster to just keep putting it in 507 00:22:42,890 --> 00:22:45,181 because it would take too long to teach the artists how 508 00:22:45,181 --> 00:22:47,880 to do it, despite the fact that it was eating eight or 12 509 00:22:47,880 --> 00:22:52,490 hours of programmer time every week. 510 00:22:52,490 --> 00:22:54,300 I still think they were wrong. 511 00:22:54,300 --> 00:22:55,270 Anyway. 512 00:22:55,270 --> 00:22:58,810 Note that I keep saying team and team members. 513 00:22:58,810 --> 00:23:00,960 In Scrum, the responsibility for project management 514 00:23:00,960 --> 00:23:04,591 doesn't sit with a producer or design lead or the programming 515 00:23:04,591 --> 00:23:05,090 lead. 516 00:23:05,090 --> 00:23:08,490 It's the team's responsibility, guided by the team members, 517 00:23:08,490 --> 00:23:10,670 to manage their own project. 518 00:23:10,670 --> 00:23:12,390 That doesn't mean that a Scrum team 519 00:23:12,390 --> 00:23:14,170 gets to do whatever they want. 520 00:23:14,170 --> 00:23:16,540 They still have constraints, requirements, expectations, 521 00:23:16,540 --> 00:23:19,920 project handouts handed down to them from managers, clients, 522 00:23:19,920 --> 00:23:22,055 instructors, and other people. 523 00:23:22,055 --> 00:23:24,430 But in exchange for taking responsibility for the project 524 00:23:24,430 --> 00:23:27,170 management, Scrum teams do get to explain 525 00:23:27,170 --> 00:23:30,890 to the producers, managers, executives, and outside forces 526 00:23:30,890 --> 00:23:35,040 just how much they think they can achieve in a given time. 527 00:23:35,040 --> 00:23:36,860 So you can go ahead and ask a Scrum team 528 00:23:36,860 --> 00:23:39,690 for the sky, the earth, the stars, and the moon, 529 00:23:39,690 --> 00:23:42,110 and an experienced and empowered Scrum team 530 00:23:42,110 --> 00:23:44,660 will explain that, OK, in that time and on that budget, 531 00:23:44,660 --> 00:23:47,140 we can get you a terrarium with a fancy night light. 532 00:23:51,350 --> 00:23:54,150 So how does this work? 533 00:23:54,150 --> 00:23:56,540 With vocabulary. 534 00:23:56,540 --> 00:23:59,750 There may or may not be a quiz later. 535 00:23:59,750 --> 00:24:01,890 So the project cycle. 536 00:24:01,890 --> 00:24:05,960 This is the cycle of a whole project with the internal cycle 537 00:24:05,960 --> 00:24:10,007 right there in the middle where you can see it. 538 00:24:10,007 --> 00:24:12,090 Looking at it from sort of the whole project life, 539 00:24:12,090 --> 00:24:17,070 you've got pregame sprint, which is-- let me start with this. 540 00:24:17,070 --> 00:24:20,810 Let me start with what a sprint is. 541 00:24:20,810 --> 00:24:25,740 So a sprint is the way that a Scrum project divides up 542 00:24:25,740 --> 00:24:28,480 its design iteration cycle. 543 00:24:28,480 --> 00:24:30,530 Sprint length depends on the project 544 00:24:30,530 --> 00:24:31,930 and what the team wants. 545 00:24:31,930 --> 00:24:34,120 One month was an early standard. 546 00:24:34,120 --> 00:24:36,760 But a lot of people are now using two weeks instead. 547 00:24:36,760 --> 00:24:39,240 In this class, we encourage one week sprints, 548 00:24:39,240 --> 00:24:42,520 given the length of the projects and the sort of reality 549 00:24:42,520 --> 00:24:45,660 of how much you can or can't get done in a week. 550 00:24:45,660 --> 00:24:48,340 So a six month project can be divided into six one 551 00:24:48,340 --> 00:24:50,256 [INAUDIBLE] sprints, 12 two week sprints 552 00:24:50,256 --> 00:24:51,880 depending on what the team wants to do. 553 00:24:54,496 --> 00:24:55,870 So much like a waterfall project, 554 00:24:55,870 --> 00:24:59,330 you've got your design and vision time. 555 00:24:59,330 --> 00:25:01,700 You've got your development time and then 556 00:25:01,700 --> 00:25:04,530 you've got your wrapper time. 557 00:25:04,530 --> 00:25:07,770 Your vision time is going to be when 558 00:25:07,770 --> 00:25:11,250 you're coming up with the idea and the overall outline. 559 00:25:11,250 --> 00:25:14,120 In many ways, that's what you did on Monday. 560 00:25:14,120 --> 00:25:16,210 That was kind is you formed teams, 561 00:25:16,210 --> 00:25:17,580 you got a vision statement. 562 00:25:17,580 --> 00:25:19,080 Some people were even sitting around 563 00:25:19,080 --> 00:25:20,260 and making feature lists. 564 00:25:20,260 --> 00:25:25,010 That's really your pregame staging sprint right there. 565 00:25:25,010 --> 00:25:26,870 In the development sprints, that's 566 00:25:26,870 --> 00:25:28,980 when you're actually making the game. 567 00:25:28,980 --> 00:25:31,880 And you're taking a couple of features every sprint. 568 00:25:31,880 --> 00:25:34,020 You're getting them working, you're testing them, 569 00:25:34,020 --> 00:25:35,930 and then you're moving on and grabbing a few more features, 570 00:25:35,930 --> 00:25:37,720 getting them working, and testing them 571 00:25:37,720 --> 00:25:38,970 until it all comes together. 572 00:25:47,400 --> 00:25:49,510 Product backlog. 573 00:25:49,510 --> 00:25:52,590 Does anybody here know what a product backlog is? 574 00:25:52,590 --> 00:25:53,712 Go ahead and tell me. 575 00:25:53,712 --> 00:25:54,628 AUDIENCE: [INAUDIBLE]. 576 00:25:58,052 --> 00:25:59,010 SARA VERRILLI: Exactly. 577 00:25:59,010 --> 00:26:01,684 Actually not in a sprint, in the-- 578 00:26:01,684 --> 00:26:02,600 AUDIENCE: [INAUDIBLE]. 579 00:26:02,600 --> 00:26:03,500 SARA VERRILLI: In the overall project. 580 00:26:03,500 --> 00:26:05,020 Yeah, the product backlog is in fact 581 00:26:05,020 --> 00:26:09,720 the feature list for the whole thing. 582 00:26:09,720 --> 00:26:11,540 Once you've got it, you take bits of it 583 00:26:11,540 --> 00:26:13,680 off to make your sprint backlog. 584 00:26:13,680 --> 00:26:17,040 The sprint backlog is what gets done in every sprint. 585 00:26:17,040 --> 00:26:20,340 Eventually hopefully your product backlog is at 0. 586 00:26:20,340 --> 00:26:22,710 And some teams, I'm afraid of your teams are probably 587 00:26:22,710 --> 00:26:24,545 not going to have luxury of this, 588 00:26:24,545 --> 00:26:26,295 take what's called a wrapper sprint or two 589 00:26:26,295 --> 00:26:27,775 to kind of hardening. 590 00:26:27,775 --> 00:26:29,880 You can think of it as polish and hardening. 591 00:26:29,880 --> 00:26:32,540 Taking the time where you're not putting in any new features 592 00:26:32,540 --> 00:26:35,020 but you're making sure that all the systems really do work. 593 00:26:35,020 --> 00:26:39,050 They're kind of shakedown crews. 594 00:26:39,050 --> 00:26:43,665 So that is the overall project plan. 595 00:26:43,665 --> 00:26:45,790 What does it look like on the inside of the spirit? 596 00:26:48,315 --> 00:26:50,190 Let me see if I can see what that looks like. 597 00:26:50,190 --> 00:26:52,900 There we go. 598 00:26:52,900 --> 00:26:58,667 So here we have our big pile of definitions. 599 00:26:58,667 --> 00:27:01,250 So since you're doing a little bit of project planning, design 600 00:27:01,250 --> 00:27:03,177 implementation and testing in every sprint, 601 00:27:03,177 --> 00:27:05,010 you have to figure out when and where you're 602 00:27:05,010 --> 00:27:06,270 doing those things. 603 00:27:06,270 --> 00:27:09,310 Scrum has a fairly I don't want to say rigid, 604 00:27:09,310 --> 00:27:11,540 but they do have a very well defined set of processes 605 00:27:11,540 --> 00:27:12,970 and tools to do that with. 606 00:27:15,510 --> 00:27:17,580 So to handle project planning and communication, 607 00:27:17,580 --> 00:27:19,850 every sprint involves a set of standardized meetings. 608 00:27:19,850 --> 00:27:22,450 Sprint planning, daily Scrum, sprint review, 609 00:27:22,450 --> 00:27:24,780 and the retrospective. 610 00:27:24,780 --> 00:27:26,960 To handle the features and task management, 611 00:27:26,960 --> 00:27:30,010 Scrum teams create and use a set of tools. 612 00:27:30,010 --> 00:27:32,530 Artifacts is what it's called. 613 00:27:32,530 --> 00:27:35,700 The product backlog, the sprint backlog, the task list, 614 00:27:35,700 --> 00:27:38,170 and a Scrum board. 615 00:27:38,170 --> 00:27:39,910 At the start of its development sprint, 616 00:27:39,910 --> 00:27:43,060 the team turns to its product backlog, which is, 617 00:27:43,060 --> 00:27:45,630 like we said, the feature list. 618 00:27:45,630 --> 00:27:50,820 Holds what's called a sprint planning meeting in which they 619 00:27:50,820 --> 00:27:54,600 decide just how many of those items that can get done. 620 00:27:54,600 --> 00:27:58,250 That list of items that they're moving from their product 621 00:27:58,250 --> 00:28:02,640 backlog becomes the sprint backlog. 622 00:28:02,640 --> 00:28:04,840 From there they break those features. 623 00:28:04,840 --> 00:28:08,356 Because features coming off of a backlog, usually fairly large. 624 00:28:08,356 --> 00:28:10,730 So they'll break them down into much smaller items called 625 00:28:10,730 --> 00:28:12,940 tasks. 626 00:28:12,940 --> 00:28:15,350 A task is just a chunk of work that you 627 00:28:15,350 --> 00:28:18,860 can estimate fairly well. 628 00:28:18,860 --> 00:28:22,610 Having gotten that big list of tasks, 629 00:28:22,610 --> 00:28:26,430 they start working their way through it. 630 00:28:26,430 --> 00:28:29,036 Every day while they're working on the project, 631 00:28:29,036 --> 00:28:30,410 you'll hold a daily Scrum meeting 632 00:28:30,410 --> 00:28:35,080 where you talk about what you're doing, how you're doing it, 633 00:28:35,080 --> 00:28:37,260 what you hope to get done. 634 00:28:37,260 --> 00:28:40,380 At the end of the sprint, you end up 635 00:28:40,380 --> 00:28:41,949 having a sprint view where you take 636 00:28:41,949 --> 00:28:43,240 a look at what you've got done. 637 00:28:43,240 --> 00:28:45,270 You compared what you wanted to get done with what you actually 638 00:28:45,270 --> 00:28:46,240 did. 639 00:28:46,240 --> 00:28:50,590 You go ahead and you adjust your product backlog if you need to. 640 00:28:50,590 --> 00:28:53,940 And then you hold a retrospective meeting. 641 00:28:53,940 --> 00:28:56,900 And that's where instead of talking about the product 642 00:28:56,900 --> 00:28:59,431 and specifically you're talking about the team 643 00:28:59,431 --> 00:29:00,180 and the processes. 644 00:29:00,180 --> 00:29:02,540 That's where agile tries to improve 645 00:29:02,540 --> 00:29:04,270 the way the team is working together 646 00:29:04,270 --> 00:29:07,019 is the retrospective meeting. 647 00:29:07,019 --> 00:29:09,310 And then you're ready for a new sprint planning meeting 648 00:29:09,310 --> 00:29:10,893 and the whole thing starts over again. 649 00:29:15,890 --> 00:29:19,312 OK, I'm almost done throwing vocabulary at you. 650 00:29:19,312 --> 00:29:20,770 And then I'll go back and make sure 651 00:29:20,770 --> 00:29:25,030 that I actually did define all the vocabulary I've used. 652 00:29:25,030 --> 00:29:27,910 So on the team, I claimed that the team 653 00:29:27,910 --> 00:29:31,160 was responsible for all of its project management. 654 00:29:31,160 --> 00:29:34,150 That's not quite true. 655 00:29:34,150 --> 00:29:36,767 Teams typically have three kinds of members. 656 00:29:36,767 --> 00:29:38,600 There's you're sort of average everyday team 657 00:29:38,600 --> 00:29:40,308 member, who's someone on the team working 658 00:29:40,308 --> 00:29:42,590 to keep things running. 659 00:29:42,590 --> 00:29:45,550 The team has a product owner, may have a product owner. 660 00:29:45,550 --> 00:29:48,460 In classic Scrum, you always have a product owner. 661 00:29:48,460 --> 00:29:51,230 Your teams probably won't. 662 00:29:51,230 --> 00:29:55,720 It's much harder to have a product owner on a student 663 00:29:55,720 --> 00:29:56,580 team. 664 00:29:56,580 --> 00:29:58,746 And the reason for that is because the product owner 665 00:29:58,746 --> 00:30:02,230 is the person who holds the sole vision of the product. 666 00:30:02,230 --> 00:30:04,240 For classic Scrum teams, the product owner 667 00:30:04,240 --> 00:30:06,980 is the person who creates the product backlog, 668 00:30:06,980 --> 00:30:09,400 helps them prioritize it, and lets 669 00:30:09,400 --> 00:30:12,450 them know which of their features are the most important 670 00:30:12,450 --> 00:30:15,550 and whether or not the features as implemented 671 00:30:15,550 --> 00:30:18,440 are working the way they need to. 672 00:30:18,440 --> 00:30:20,010 Your team may be lucky enough to have 673 00:30:20,010 --> 00:30:23,900 someone who has a good enough grasp of the project. 674 00:30:23,900 --> 00:30:27,014 And if you do, it's really, really valuable. 675 00:30:27,014 --> 00:30:29,430 It's really helpful to have one person who you can turn to 676 00:30:29,430 --> 00:30:32,010 and say, is this going to work or is this working 677 00:30:32,010 --> 00:30:34,897 or is this what we had in mind? 678 00:30:34,897 --> 00:30:37,480 And have one person answer that instead of having a big debate 679 00:30:37,480 --> 00:30:39,940 over whether it does or not. 680 00:30:39,940 --> 00:30:42,470 But on student teams, it can be really hard to have 681 00:30:42,470 --> 00:30:45,692 someone in that position. 682 00:30:45,692 --> 00:30:46,900 So that's your product owner. 683 00:30:46,900 --> 00:30:49,990 The other unique person on your team is a Scrum master, 684 00:30:49,990 --> 00:30:51,510 and you will need one of those. 685 00:30:54,340 --> 00:30:57,580 The Scrum master is the lucky person who runs the meetings, 686 00:30:57,580 --> 00:31:00,520 serves as the facilitator and the mediator, 687 00:31:00,520 --> 00:31:03,810 and is in charge of making sure that Scrum is followed 688 00:31:03,810 --> 00:31:07,530 and the team is working reasonably smoothly. 689 00:31:07,530 --> 00:31:09,390 They frequently get stuck with updating 690 00:31:09,390 --> 00:31:13,050 product backlog, sprint backlogs, task lists, Scrum 691 00:31:13,050 --> 00:31:13,970 boards. 692 00:31:13,970 --> 00:31:17,000 Whatever record keeping paraphernalia 693 00:31:17,000 --> 00:31:19,720 the team feels it needs to have. 694 00:31:19,720 --> 00:31:22,970 Setting up meetings and making sure they happen. 695 00:31:22,970 --> 00:31:25,980 Try to think of the Scrum master as a bit of the team coach 696 00:31:25,980 --> 00:31:29,060 and as the keeper of documents rather than 697 00:31:29,060 --> 00:31:33,240 as the producer or the person in charge of the project. 698 00:31:33,240 --> 00:31:36,370 Just trying to keep the backlogs straight, 699 00:31:36,370 --> 00:31:39,400 keeping meetings flowing, and keeping communication following 700 00:31:39,400 --> 00:31:42,260 is a lot of work for one person. 701 00:31:42,260 --> 00:31:44,500 You don't also want to burden that person 702 00:31:44,500 --> 00:31:47,217 with being in charge of leading the team 703 00:31:47,217 --> 00:31:48,675 and making all the final decisions. 704 00:31:51,680 --> 00:31:53,570 They often end up drifting together. 705 00:31:53,570 --> 00:31:54,870 And we see a lot. 706 00:31:54,870 --> 00:31:56,920 And we also make a slip of calling 707 00:31:56,920 --> 00:31:58,670 the person who's serving is the team Scrum 708 00:31:58,670 --> 00:32:00,990 master as the producer. 709 00:32:00,990 --> 00:32:03,610 See if you can try to keep those two roles separate. 710 00:32:03,610 --> 00:32:05,190 If you can let the Scrum master just 711 00:32:05,190 --> 00:32:09,020 be the person keeping the team running 712 00:32:09,020 --> 00:32:12,500 and you can let someone else step into that kind of vision 713 00:32:12,500 --> 00:32:15,371 holder, guide the team role. 714 00:32:15,371 --> 00:32:15,870 OK? 715 00:32:18,970 --> 00:32:20,900 All right, I think that that is, in fact, 716 00:32:20,900 --> 00:32:23,630 what I have to say on that. 717 00:32:27,350 --> 00:32:31,580 Everybody think they have at least a definition or an idea 718 00:32:31,580 --> 00:32:33,180 for all of these words? 719 00:32:33,180 --> 00:32:34,430 Here's the quiz later you see. 720 00:32:37,314 --> 00:32:38,230 AUDIENCE: [INAUDIBLE]. 721 00:32:40,820 --> 00:32:41,892 SARA VERRILLI: OK. 722 00:32:41,892 --> 00:32:43,350 Should I be mean and choose the one 723 00:32:43,350 --> 00:32:47,690 that I haven't defined that nobody admitted to? 724 00:32:47,690 --> 00:32:49,810 OK, who can tell me what a Scrum board is? 725 00:32:57,326 --> 00:32:58,242 AUDIENCE: [INAUDIBLE]. 726 00:33:06,522 --> 00:33:08,230 SARA VERRILLI: That's exactly what it is. 727 00:33:08,230 --> 00:33:16,370 So what a Scrum board is is it's frequently, 728 00:33:16,370 --> 00:33:18,620 if you've got a team that all works in the same place, 729 00:33:18,620 --> 00:33:22,790 it's usually a big physical board 730 00:33:22,790 --> 00:33:28,290 that you have room to put cards with all the tasks on it on. 731 00:33:28,290 --> 00:33:30,170 And you just have it divided up into sections 732 00:33:30,170 --> 00:33:32,670 and show the status of each task. 733 00:33:32,670 --> 00:33:36,250 By using a Scrum board, teams can figure out exactly how far 734 00:33:36,250 --> 00:33:38,230 along they are, what the state of their project 735 00:33:38,230 --> 00:33:41,520 is by just looking at the board. 736 00:33:41,520 --> 00:33:44,230 Teams that are going to end up working in 737 00:33:44,230 --> 00:33:46,040 a much more distributed fashion and who 738 00:33:46,040 --> 00:33:48,360 don't have a designated place to sort of leave 739 00:33:48,360 --> 00:33:49,452 a Scrum board set up. 740 00:33:49,452 --> 00:33:50,910 For example, you guys are not going 741 00:33:50,910 --> 00:33:53,326 to be able to Scrum boards up on the back of the classroom 742 00:33:53,326 --> 00:33:55,610 and come in and check up on them every couple of days. 743 00:33:55,610 --> 00:33:59,010 There are a couple of online options. 744 00:33:59,010 --> 00:34:01,660 And I will talk about them when I actually talk 745 00:34:01,660 --> 00:34:04,175 about Scrum boards a little bit more, 746 00:34:04,175 --> 00:34:05,941 asking you to get one set up. 747 00:34:05,941 --> 00:34:07,982 PROFESSOR: Just out of curiosity, who has already 748 00:34:07,982 --> 00:34:09,401 got something like that? 749 00:34:09,401 --> 00:34:12,888 Like an online site with all your tasks on it? 750 00:34:12,888 --> 00:34:14,747 AUDIENCE: We're using Trello. 751 00:34:14,747 --> 00:34:16,830 PROFESSOR: Trello uses exactly a Scrum board style 752 00:34:16,830 --> 00:34:18,583 visual representation. 753 00:34:18,583 --> 00:34:20,219 AUDIENCE: There's also a Scrum plug 754 00:34:20,219 --> 00:34:22,265 in for Trello for Chrome that we can get points 755 00:34:22,265 --> 00:34:23,002 if you're [INAUDIBLE]. 756 00:34:23,002 --> 00:34:23,984 PROFESSOR: I did not know that. 757 00:34:23,984 --> 00:34:24,480 That's new. 758 00:34:24,480 --> 00:34:25,730 SARA VERRILLI: Oh, that's new. 759 00:34:25,730 --> 00:34:27,953 AUDIENCE: It's called Scrum for Trello or something. 760 00:34:27,953 --> 00:34:28,536 PROFESSOR: OK. 761 00:34:28,536 --> 00:34:29,702 PROFESSOR: Scrum for Trello. 762 00:34:29,702 --> 00:34:30,528 I'll google that. 763 00:34:30,528 --> 00:34:31,524 What else? 764 00:34:31,524 --> 00:34:34,014 I thought I saw another hand go up. 765 00:34:34,014 --> 00:34:35,508 What are you using? 766 00:34:35,508 --> 00:34:36,294 AUDIENCE: Asana. 767 00:34:36,294 --> 00:34:37,002 PROFESSOR: Asana? 768 00:34:37,002 --> 00:34:37,998 OK. 769 00:34:37,998 --> 00:34:39,650 [INAUDIBLE] 770 00:34:39,650 --> 00:34:42,498 So is that just [INAUDIBLE] card like representation, 771 00:34:42,498 --> 00:34:44,386 or is it more like spreadsheet? 772 00:34:44,386 --> 00:34:46,746 AUDIENCE: It's more like a [INAUDIBLE]. 773 00:34:49,947 --> 00:34:51,613 PROFESSOR: And multiplayers can do this? 774 00:34:54,511 --> 00:34:56,856 SARA VERRILLI: Yeah, I haven't used that site. 775 00:34:56,856 --> 00:34:59,336 PROFESSOR: I don't know any alternatives. 776 00:35:02,490 --> 00:35:04,740 SARA VERRILLI: I will actually talk about Scrum boards 777 00:35:04,740 --> 00:35:06,360 a little bit more when we actually have gotten around 778 00:35:06,360 --> 00:35:08,460 to making our sprint backlogs and task lists 779 00:35:08,460 --> 00:35:12,880 and talking about the techniques you used to make them. 780 00:35:12,880 --> 00:35:15,610 OK, so we're finally actually getting 781 00:35:15,610 --> 00:35:20,037 to the action part of this story. 782 00:35:20,037 --> 00:35:20,870 And I'm lying there. 783 00:35:20,870 --> 00:35:23,940 I'm not actually talk about time boxing right now. 784 00:35:23,940 --> 00:35:26,100 I went back and updated my lecture 785 00:35:26,100 --> 00:35:27,350 without updating my slides. 786 00:35:27,350 --> 00:35:29,615 But we are going to talk about user stories. 787 00:35:29,615 --> 00:35:31,740 So let's talk about how you make a product backlog. 788 00:35:31,740 --> 00:35:33,440 Because it is not just a feature list. 789 00:35:33,440 --> 00:35:36,290 There's actually some very important differences 790 00:35:36,290 --> 00:35:38,830 between a feature list and a product backlog 791 00:35:38,830 --> 00:35:42,830 that makes a product backlog a project management tool 792 00:35:42,830 --> 00:35:47,140 as well as a design tool. 793 00:35:47,140 --> 00:35:52,030 So it's an organized, prioritized feature list. 794 00:35:52,030 --> 00:35:55,170 So the team always knows what the most important next feature 795 00:35:55,170 --> 00:35:57,300 is. 796 00:35:57,300 --> 00:36:00,000 So if I actually sat down and looked at one of the product 797 00:36:00,000 --> 00:36:03,680 backlog you've turned in, every feature in your game 798 00:36:03,680 --> 00:36:07,820 should be described or mentioned in the product backlog. 799 00:36:07,820 --> 00:36:11,170 And each item should have a priority status 800 00:36:11,170 --> 00:36:13,920 indicating how important it is, when are you going to do it. 801 00:36:13,920 --> 00:36:16,480 Are you going to do it first or you're going do it last? 802 00:36:16,480 --> 00:36:18,257 Or is this the one that's going to get cut 803 00:36:18,257 --> 00:36:20,715 when you realize you don't have time to finish the project? 804 00:36:24,050 --> 00:36:26,640 So how do you decide what goes into it and how do you estimate 805 00:36:26,640 --> 00:36:30,279 and how do you prioritize? 806 00:36:30,279 --> 00:36:31,320 There's the big question. 807 00:36:34,480 --> 00:36:37,880 So here is a sample project backlog. 808 00:36:37,880 --> 00:36:40,374 It's not for a game but it's for some sort 809 00:36:40,374 --> 00:36:41,540 of log in page or something. 810 00:36:41,540 --> 00:36:43,700 But it serves pretty much the same purpose. 811 00:36:46,037 --> 00:36:47,620 This is sort of the minimum you should 812 00:36:47,620 --> 00:36:50,200 have in your product backlog. 813 00:36:50,200 --> 00:36:53,140 Some people get fancier and include 814 00:36:53,140 --> 00:36:56,410 lots of extra information, but that's not necessary. 815 00:36:56,410 --> 00:36:58,574 Keeping it simple, especially to start, 816 00:36:58,574 --> 00:37:00,240 will make your life a little bit easier. 817 00:37:00,240 --> 00:37:01,480 If you discover there's more information 818 00:37:01,480 --> 00:37:03,710 you want to track here, go ahead and do that. 819 00:37:03,710 --> 00:37:05,682 But start with the basics. 820 00:37:05,682 --> 00:37:08,970 The basics are an ID number. 821 00:37:08,970 --> 00:37:11,050 ID number's not its priority. 822 00:37:11,050 --> 00:37:13,929 It's actually in the order of which we thought up 823 00:37:13,929 --> 00:37:14,470 the features. 824 00:37:14,470 --> 00:37:17,280 This is the fifth feature we thought of. 825 00:37:17,280 --> 00:37:21,740 IDs come in useful when you start moving tasks off 826 00:37:21,740 --> 00:37:24,260 of your backlog and into your sprint backlog 827 00:37:24,260 --> 00:37:26,660 and breaking them down into smaller tasks. 828 00:37:26,660 --> 00:37:31,590 So you can use your ID number to know, oh yes, this feature is 829 00:37:31,590 --> 00:37:33,670 the same as it is on the product backlog 830 00:37:33,670 --> 00:37:36,422 and all of these eight tasks that came out of it 831 00:37:36,422 --> 00:37:38,630 are all related to each other, because they all still 832 00:37:38,630 --> 00:37:41,005 have the ID number that goes back to the original product 833 00:37:41,005 --> 00:37:42,820 backlog. 834 00:37:42,820 --> 00:37:44,800 Then you need a description. 835 00:37:44,800 --> 00:37:46,480 This backlog is using user stories, 836 00:37:46,480 --> 00:37:49,460 which I'll explain in a moment. 837 00:37:49,460 --> 00:37:51,460 But they all have sort of the same pattern. 838 00:37:51,460 --> 00:37:54,370 As an authorized user, I want to create new account. 839 00:37:54,370 --> 00:37:57,580 As a authorized user I want to. 840 00:37:57,580 --> 00:37:59,510 As an unauthorized user, I want to. 841 00:37:59,510 --> 00:38:00,075 So that. 842 00:38:02,700 --> 00:38:05,430 So there's your description of what the feature is. 843 00:38:05,430 --> 00:38:08,340 Then you need an estimation of how big a job this is. 844 00:38:08,340 --> 00:38:10,290 For the product backlog, we don't actually 845 00:38:10,290 --> 00:38:13,165 recommend trying to do really fine estimation. 846 00:38:13,165 --> 00:38:15,300 They're using numbers in this backlog. 847 00:38:15,300 --> 00:38:18,390 I should make a new one that uses my preferred system, which 848 00:38:18,390 --> 00:38:22,680 is actually just using the word small, medium, large, extra 849 00:38:22,680 --> 00:38:24,160 large. 850 00:38:24,160 --> 00:38:27,350 And how big is small? 851 00:38:27,350 --> 00:38:29,080 I'm not really sure. 852 00:38:29,080 --> 00:38:30,670 When you first create your backlog, 853 00:38:30,670 --> 00:38:32,100 you won't be really sure either. 854 00:38:32,100 --> 00:38:33,870 But you could probably tell the difference 855 00:38:33,870 --> 00:38:37,530 between a small feature and a medium feature 856 00:38:37,530 --> 00:38:40,840 and an extra large feature. 857 00:38:40,840 --> 00:38:43,565 So when you go through and you write down all your features, 858 00:38:43,565 --> 00:38:45,690 you can say what are all the smallest features here 859 00:38:45,690 --> 00:38:47,080 and call this small. 860 00:38:47,080 --> 00:38:49,420 What's bigger than that? 861 00:38:49,420 --> 00:38:50,640 That's probably a medium. 862 00:38:50,640 --> 00:38:52,450 What's the biggest feature I can see here? 863 00:38:52,450 --> 00:38:54,080 Make that a large. 864 00:38:54,080 --> 00:38:56,439 When you're making the product backlog, 865 00:38:56,439 --> 00:38:57,980 you don't want to spend a lot of time 866 00:38:57,980 --> 00:38:59,980 figuring out estimation and trying to figure out 867 00:38:59,980 --> 00:39:01,710 exactly how many hours it's going to take 868 00:39:01,710 --> 00:39:03,760 and how many subtasks are involved. 869 00:39:03,760 --> 00:39:05,690 What you want to do is get a feel 870 00:39:05,690 --> 00:39:09,760 for the overall size of the features and a feel 871 00:39:09,760 --> 00:39:13,820 for how big they are in relation to each other. 872 00:39:13,820 --> 00:39:16,820 Because if you're fairly good at saying 873 00:39:16,820 --> 00:39:19,200 this is about the same size feature is this and this 874 00:39:19,200 --> 00:39:21,790 is about the same size feature as that. 875 00:39:21,790 --> 00:39:24,580 Once you realize that feature A took you three hours 876 00:39:24,580 --> 00:39:26,910 and you have four other small features, 877 00:39:26,910 --> 00:39:28,940 it's not that hard to go, oh, so that's 878 00:39:28,940 --> 00:39:31,540 a total of about 12 hours between those four features. 879 00:39:36,530 --> 00:39:40,360 So that is the format of a product backlog. 880 00:39:40,360 --> 00:39:43,068 Are there any questions? 881 00:39:43,068 --> 00:39:44,400 No? 882 00:39:44,400 --> 00:39:45,086 OK. 883 00:39:45,086 --> 00:39:47,169 PROFESSOR: Just want to point out occasionally you 884 00:39:47,169 --> 00:39:50,904 come across a feature that's actually not one feature. 885 00:39:50,904 --> 00:39:53,394 It's actually a whole bunch all rolled up in one. 886 00:39:53,394 --> 00:39:55,732 Like multiplayer or something like that. 887 00:39:55,732 --> 00:39:56,815 SARA VERRILLI: Networking. 888 00:39:56,815 --> 00:39:59,014 AUDIENCE: It's not a single feature. 889 00:39:59,014 --> 00:40:03,104 It's a whole bunch of different things. 890 00:40:03,104 --> 00:40:06,331 If you come across features that clearly warp everything else 891 00:40:06,331 --> 00:40:07,705 that you've got on your list, you 892 00:40:07,705 --> 00:40:11,855 should try to bring those down and do small and large chunks. 893 00:40:11,855 --> 00:40:14,414 So you can be like multiplayer [INAUDIBLE], 894 00:40:14,414 --> 00:40:17,805 multiplayer matchmaking. 895 00:40:17,805 --> 00:40:19,590 All of these things are separate features. 896 00:40:19,590 --> 00:40:20,610 SARA VERRILLI: But I will say that when you're 897 00:40:20,610 --> 00:40:22,920 making your first pass at a product backlog, 898 00:40:22,920 --> 00:40:26,080 it's OK to stick multiplayer on there as a feature 899 00:40:26,080 --> 00:40:28,360 and then right next to it, extra, extra large. 900 00:40:28,360 --> 00:40:31,840 And realize you're going to come back and break it down later. 901 00:40:31,840 --> 00:40:33,920 When you're making your first product backlog, 902 00:40:33,920 --> 00:40:35,670 you don't want to be worrying about, well, 903 00:40:35,670 --> 00:40:38,909 what are all the little sub features of multiplayer? 904 00:40:38,909 --> 00:40:41,450 But you do want to go ahead and acknowledge that, oh my gosh, 905 00:40:41,450 --> 00:40:45,370 we've just put something ginormous on the list. 906 00:40:45,370 --> 00:40:48,240 And using a very rough estimation tool 907 00:40:48,240 --> 00:40:51,020 lets you do that and move onto getting all of your features 908 00:40:51,020 --> 00:40:51,520 in. 909 00:40:51,520 --> 00:40:54,020 And then you can come back and honestly 910 00:40:54,020 --> 00:40:56,540 estimate them a lot more finely when you're actually 911 00:40:56,540 --> 00:40:58,382 thinking that you might put them in 912 00:40:58,382 --> 00:40:59,840 or when you're actually determining 913 00:40:59,840 --> 00:41:04,150 what their overall priority is and how badly you want them. 914 00:41:04,150 --> 00:41:06,650 Because if you end up deciding you want to drop multiplayer, 915 00:41:06,650 --> 00:41:08,780 there's no point having spent a lot of time 916 00:41:08,780 --> 00:41:10,820 dividing it up into 12 or 14 different features. 917 00:41:14,630 --> 00:41:16,740 All right, so I mentioned user stories 918 00:41:16,740 --> 00:41:18,980 and I did not actually define them very well, 919 00:41:18,980 --> 00:41:21,480 and that's because I was going to come along and define them 920 00:41:21,480 --> 00:41:22,060 here. 921 00:41:22,060 --> 00:41:25,220 So a user story is just a very specific way 922 00:41:25,220 --> 00:41:27,140 to describe a feature. 923 00:41:27,140 --> 00:41:29,530 It is, I think, unique to Scrum. 924 00:41:29,530 --> 00:41:32,660 Although there may be other agile methodologies 925 00:41:32,660 --> 00:41:36,130 that have stolen it as a way of describing a feature. 926 00:41:36,130 --> 00:41:38,030 And we're going to ask you use user stories 927 00:41:38,030 --> 00:41:40,190 for project two at least. 928 00:41:40,190 --> 00:41:44,350 Just to get you familiar with it and understand why we think 929 00:41:44,350 --> 00:41:46,020 they're a neat idea. 930 00:41:46,020 --> 00:41:49,510 You may end up deciding that you don't like them and that's OK. 931 00:41:49,510 --> 00:41:52,220 But we want you to at least experiment with them. 932 00:41:52,220 --> 00:41:59,630 So the goal of the user story is to help you phrase your feature 933 00:41:59,630 --> 00:42:04,120 in a clearly testable and understandable manner 934 00:42:04,120 --> 00:42:07,530 to someone who did not help you write the document. 935 00:42:07,530 --> 00:42:09,220 OK? 936 00:42:09,220 --> 00:42:15,700 So a user story follows the formula 937 00:42:15,700 --> 00:42:19,960 of as the person who is going to use this feature, which 938 00:42:19,960 --> 00:42:21,540 could be the user. 939 00:42:21,540 --> 00:42:25,314 It could be the designer if you're creating a level editor. 940 00:42:25,314 --> 00:42:27,730 Could be the artist if you're creating something for them. 941 00:42:27,730 --> 00:42:29,250 It could be another set of coders 942 00:42:29,250 --> 00:42:30,720 if you're creating tools. 943 00:42:30,720 --> 00:42:32,820 But the important thing is to recognize 944 00:42:32,820 --> 00:42:37,176 who are you making this feature for and who is going to use it. 945 00:42:37,176 --> 00:42:40,590 Then you want to describe what it's going to do. 946 00:42:40,590 --> 00:42:43,550 And that description should be something you can test. 947 00:42:47,190 --> 00:42:50,220 So that when someone goes ahead and gets this completed feature 948 00:42:50,220 --> 00:42:53,780 on the other end, they can go in pretending 949 00:42:53,780 --> 00:42:56,310 to be whoever that person is, use that feature, 950 00:42:56,310 --> 00:42:59,290 and confirm that it works. 951 00:42:59,290 --> 00:43:02,400 Finally, you want the end third, which 952 00:43:02,400 --> 00:43:08,070 is so that-- explain the reason why you want the feature there. 953 00:43:08,070 --> 00:43:11,381 What is the purpose of this feature in your game? 954 00:43:11,381 --> 00:43:12,255 What is it achieving? 955 00:43:15,090 --> 00:43:17,520 Can anybody think about why this is 956 00:43:17,520 --> 00:43:21,770 an interesting or useful format for stating a feature in? 957 00:43:21,770 --> 00:43:23,432 Can you see any benefits in it? 958 00:43:23,432 --> 00:43:25,890 I can go ahead and tell you what we think the benefits are, 959 00:43:25,890 --> 00:43:27,848 but I'm wondering if you guys can think of any. 960 00:43:30,768 --> 00:43:34,184 AUDIENCE: It's testable and focused on the player, 961 00:43:34,184 --> 00:43:36,640 or other relative entity. 962 00:43:36,640 --> 00:43:37,540 SARA VERRILLI: Yep. 963 00:43:37,540 --> 00:43:38,250 That's one. 964 00:43:42,790 --> 00:43:44,250 OK. 965 00:43:44,250 --> 00:43:46,130 So it's testable, which means that you 966 00:43:46,130 --> 00:43:47,560 can confirm it's working. 967 00:43:47,560 --> 00:43:49,601 It's focused on the person who's going to use it. 968 00:43:49,601 --> 00:43:51,990 We're going back to that sort of user oriented 969 00:43:51,990 --> 00:43:53,510 creation of product. 970 00:43:53,510 --> 00:43:56,025 And finally, having the reason there 971 00:43:56,025 --> 00:43:59,130 means that if the person who originally asked 972 00:43:59,130 --> 00:44:02,430 for the feature did not understand the game well enough 973 00:44:02,430 --> 00:44:06,360 and asked for a lousy feature or one that doesn't work well 974 00:44:06,360 --> 00:44:09,420 with the game, the person who is going to implement it 975 00:44:09,420 --> 00:44:14,150 can come back and say, hey, you asked for a physics engine. 976 00:44:14,150 --> 00:44:19,140 But you want it so the player can drop rocks into a pool 977 00:44:19,140 --> 00:44:21,680 and watch the rocks sink. 978 00:44:21,680 --> 00:44:25,140 That's the only use of your physics engine. 979 00:44:25,140 --> 00:44:27,700 We can make this a lot faster and easier 980 00:44:27,700 --> 00:44:32,600 if I write an animation hack that shows this happening. 981 00:44:32,600 --> 00:44:34,520 And we can give you some sliders to control 982 00:44:34,520 --> 00:44:38,920 how fast it falls depending on the weight of the rock. 983 00:44:38,920 --> 00:44:42,850 And people will often say they want something 984 00:44:42,850 --> 00:44:44,820 that is bigger or smaller or doesn't actually 985 00:44:44,820 --> 00:44:46,220 do what they want it to do. 986 00:44:46,220 --> 00:44:48,220 It's really common when you're writing features. 987 00:44:48,220 --> 00:44:49,480 It happens all the time. 988 00:44:49,480 --> 00:44:51,714 And so having that reason there means 989 00:44:51,714 --> 00:44:53,880 that the team can go back and do a double check when 990 00:44:53,880 --> 00:44:56,770 they actually go to implement it that the thing that's 991 00:44:56,770 --> 00:44:59,870 being asked for is something that is really needed. 992 00:44:59,870 --> 00:45:04,080 And so it puts a double check right back in the feature. 993 00:45:04,080 --> 00:45:06,110 And it's not as good as going back and talking 994 00:45:06,110 --> 00:45:07,860 to the person who wrote the feature, 995 00:45:07,860 --> 00:45:10,812 but it's at least a warning signal telling you 996 00:45:10,812 --> 00:45:12,520 that you might want to go talk to someone 997 00:45:12,520 --> 00:45:14,120 and make sure this is really what they need 998 00:45:14,120 --> 00:45:15,203 and really what they want. 999 00:45:19,440 --> 00:45:22,320 So I think I already just went over this. 1000 00:45:22,320 --> 00:45:29,225 So because user stories have that check in them, 1001 00:45:29,225 --> 00:45:30,600 you can make sure you're actually 1002 00:45:30,600 --> 00:45:33,435 doing the work you want to do and not some other work. 1003 00:45:33,435 --> 00:45:35,560 One of the things that agile is really trying to do 1004 00:45:35,560 --> 00:45:38,006 is focus on making sure that you're not doing extra work. 1005 00:45:38,006 --> 00:45:40,130 You're not doing work that doesn't need to be done, 1006 00:45:40,130 --> 00:45:42,000 that's going to get cut later on. 1007 00:45:42,000 --> 00:45:44,380 And so a lot of the tools and a lot of the processes 1008 00:45:44,380 --> 00:45:47,060 and a lot of the language and a lot of meetings 1009 00:45:47,060 --> 00:45:50,350 are all about making sure that before you go out and put 1010 00:45:50,350 --> 00:45:53,220 a lot of time into something, it's really the thing that you 1011 00:45:53,220 --> 00:45:55,450 want to be doing. 1012 00:45:55,450 --> 00:45:57,790 And user stories are just one more way 1013 00:45:57,790 --> 00:46:00,260 to add that check into your process. 1014 00:46:06,270 --> 00:46:10,410 I'm going to skip on time boxing right now because I've 1015 00:46:10,410 --> 00:46:11,410 got a better discussion. 1016 00:46:11,410 --> 00:46:12,812 It's more relevant to meetings. 1017 00:46:12,812 --> 00:46:14,520 And I'd rather talk about it in meetings. 1018 00:46:14,520 --> 00:46:16,880 So we'll skip talking about it there. 1019 00:46:16,880 --> 00:46:20,450 OK, that is actually the first two thirds 1020 00:46:20,450 --> 00:46:21,964 of the lecture for today. 1021 00:46:21,964 --> 00:46:24,380 And I was going to propose that we take a 10 minute break. 1022 00:46:24,380 --> 00:46:25,796 And when you come back, it will be 1023 00:46:25,796 --> 00:46:30,270 time to make a product backlog for your team. 1024 00:46:30,270 --> 00:46:33,655 I'm going to give you half an hour to do it in. 1025 00:46:33,655 --> 00:46:37,830 And that half an hour will also include the time 1026 00:46:37,830 --> 00:46:41,550 to prepare a two minute presentation on what 1027 00:46:41,550 --> 00:46:44,110 the features for your product are 1028 00:46:44,110 --> 00:46:46,589 and what an updated vision statement 1029 00:46:46,589 --> 00:46:48,880 for your game, since things may have shifted a bit when 1030 00:46:48,880 --> 00:46:50,270 you added new people. 1031 00:46:50,270 --> 00:46:51,350 No visual aids. 1032 00:46:51,350 --> 00:46:53,490 Just come up, talk for up to two minutes. 1033 00:46:53,490 --> 00:46:54,884 It's OK if you talk for less. 1034 00:46:54,884 --> 00:46:56,550 The faster we get through presentations, 1035 00:46:56,550 --> 00:46:59,880 the faster we get to other things. 1036 00:46:59,880 --> 00:47:04,106 And then we'll move on to talking about meetings. 1037 00:47:04,106 --> 00:47:06,439 AUDIENCE: Is there a sample on Stellar, a sample backlog 1038 00:47:06,439 --> 00:47:07,340 on Stellar? 1039 00:47:07,340 --> 00:47:09,780 SARA VERRILLI: There is not the sample backlog on Stellar, 1040 00:47:09,780 --> 00:47:11,770 I think. 1041 00:47:11,770 --> 00:47:12,521 We think there is? 1042 00:47:12,521 --> 00:47:14,103 AUDIENCE: If there is, we'll put it up 1043 00:47:14,103 --> 00:47:15,924 by the time we get back from break. 1044 00:47:15,924 --> 00:47:18,390 SARA VERRILLI: OK. 1045 00:47:18,390 --> 00:47:22,210 Yeah, in many ways I actually recommend you go into Google 1046 00:47:22,210 --> 00:47:25,600 and create a Google spreadsheet. 1047 00:47:25,600 --> 00:47:30,270 Give it an ID and priority and status and going from there. 1048 00:47:30,270 --> 00:47:31,686 But yeah. 1049 00:47:31,686 --> 00:47:33,090 OK. 1050 00:47:33,090 --> 00:47:35,950 AUDIENCE: [INAUDIBLE]. 1051 00:47:35,950 --> 00:47:37,290 SARA VERRILLI: Is it there? 1052 00:47:37,290 --> 00:47:38,510 Yes, sample product backlog. 1053 00:47:38,510 --> 00:47:39,090 OK. 1054 00:47:39,090 --> 00:47:40,290 It is there. 1055 00:47:40,290 --> 00:47:41,770 Thank you, Rick. 1056 00:47:41,770 --> 00:47:43,970 I forgot to check on Stellar. 1057 00:47:43,970 --> 00:47:47,220 All right, that said, it is 1:52. 1058 00:47:47,220 --> 00:47:51,211 Come back in 10 minutes and start working on your product 1059 00:47:51,211 --> 00:47:51,710 backlogs. 1060 00:47:51,710 --> 00:47:53,970 But go stretch your legs a little bit. 1061 00:47:53,970 --> 00:47:58,310 OK so it's 2:02. 1062 00:47:58,310 --> 00:48:01,570 If you are not already sitting in your project groups, 1063 00:48:01,570 --> 00:48:04,110 you should probably go ahead and get together 1064 00:48:04,110 --> 00:48:08,500 in your project teams. 1065 00:48:08,500 --> 00:48:11,410 At 2:32. 1066 00:48:11,410 --> 00:48:13,160 2:35, we'll give you some to move around. 1067 00:48:13,160 --> 00:48:18,960 2:35 we will go ahead and we'll make a list for signing up 1068 00:48:18,960 --> 00:48:20,690 and we'll run through the presentations. 1069 00:48:20,690 --> 00:48:22,342 OK? 1070 00:48:22,342 --> 00:48:24,800 If there any questions or you want to know what's going on, 1071 00:48:24,800 --> 00:48:28,030 if you'd like some advice, we'll be all hanging on down here. 1072 00:48:28,030 --> 00:48:29,630 So please feel free to come and ask us 1073 00:48:29,630 --> 00:48:32,610 for any advice or any help or anything you need. 1074 00:48:32,610 --> 00:48:34,524 OK? 1075 00:48:34,524 --> 00:48:35,023 OK. 1076 00:48:44,476 --> 00:48:45,300 One moment. 1077 00:48:49,458 --> 00:48:51,615 We don't need that plugged in right now. 1078 00:48:51,615 --> 00:48:52,115 OK. 1079 00:48:54,670 --> 00:48:56,825 So let's go ahead. 1080 00:48:56,825 --> 00:49:02,290 I'm guessing everybody's ready for presentations. 1081 00:49:02,290 --> 00:49:03,240 OK. 1082 00:49:03,240 --> 00:49:05,655 Then let's ask Comcastic to come on down. 1083 00:49:16,037 --> 00:49:16,620 STUDENT 1: OK. 1084 00:49:16,620 --> 00:49:18,690 So the goal of Comcastic is to be 1085 00:49:18,690 --> 00:49:22,240 able to place internet service stations into towns 1086 00:49:22,240 --> 00:49:24,660 so that you can service neighborhood and get money. 1087 00:49:24,660 --> 00:49:27,570 And then eventually you want to build your monopoly cable 1088 00:49:27,570 --> 00:49:29,280 empire to become very wealthy. 1089 00:49:29,280 --> 00:49:31,580 And so the core features that are necessary 1090 00:49:31,580 --> 00:49:35,830 in order to enable us are being able to look at the town map. 1091 00:49:35,830 --> 00:49:38,014 You need to be able to place pieces. 1092 00:49:38,014 --> 00:49:39,680 You need to be able to rotate the pieces 1093 00:49:39,680 --> 00:49:42,150 because the orientation does matter. 1094 00:49:42,150 --> 00:49:45,400 You also need to be able to have some kind of [INAUDIBLE], 1095 00:49:45,400 --> 00:49:47,790 so you want like an end turn button or something that 1096 00:49:47,790 --> 00:49:49,800 happens when you place a piece. 1097 00:49:49,800 --> 00:49:53,890 And that will also give you the money results for that turn. 1098 00:49:53,890 --> 00:49:56,360 You also need to be able to know how much money you have 1099 00:49:56,360 --> 00:49:59,370 and be able to place pieces only on legal spots 1100 00:49:59,370 --> 00:50:01,480 and to be able to start the game, 1101 00:50:01,480 --> 00:50:03,570 quit the game, things like that. 1102 00:50:03,570 --> 00:50:05,692 So those are the core features of Comcastic. 1103 00:50:05,692 --> 00:50:07,656 SARA VERRILLI: Thank you. 1104 00:50:07,656 --> 00:50:10,111 [APPLAUSE] 1105 00:50:10,111 --> 00:50:12,566 All right, Blind Alien. 1106 00:50:18,934 --> 00:50:20,350 STUDENT 2: Blind Alien's team goal 1107 00:50:20,350 --> 00:50:23,000 is to create a creepy and enthralling game. 1108 00:50:23,000 --> 00:50:25,176 In order to do that, we first need 1109 00:50:25,176 --> 00:50:27,300 to have really basic structure, which is what we're 1110 00:50:27,300 --> 00:50:28,840 going to focus on this week. 1111 00:50:28,840 --> 00:50:32,220 We're going to focus on having first a start menu, where 1112 00:50:32,220 --> 00:50:34,660 we can just say the instructions really fast 1113 00:50:34,660 --> 00:50:36,580 and input the number of aliens, which is going 1114 00:50:36,580 --> 00:50:38,230 to be important for testing. 1115 00:50:38,230 --> 00:50:41,770 Because you need to be able to change things quickly. 1116 00:50:41,770 --> 00:50:44,570 And then we're going to have the main screen, a character, 1117 00:50:44,570 --> 00:50:47,740 character movement, aliens, alien movement, 1118 00:50:47,740 --> 00:50:49,200 and then this weekend we're going 1119 00:50:49,200 --> 00:50:51,230 to get up together and work on the interactions 1120 00:50:51,230 --> 00:50:53,750 of those aliens and the character 1121 00:50:53,750 --> 00:50:55,800 and then work on shooting. 1122 00:50:55,800 --> 00:50:57,240 So that's what we're focusing on. 1123 00:50:57,240 --> 00:50:58,862 Thank you. 1124 00:50:58,862 --> 00:51:01,838 [APPLAUSE] 1125 00:51:02,781 --> 00:51:03,822 SARA VERRILLI: All right. 1126 00:51:03,822 --> 00:51:04,405 Plunder Winds. 1127 00:51:12,254 --> 00:51:13,270 STUDENT 3: Hi. 1128 00:51:13,270 --> 00:51:17,370 So for Plunder Winds we're implementing a similar game 1129 00:51:17,370 --> 00:51:18,870 to our paper prototype. 1130 00:51:18,870 --> 00:51:24,700 So we're a grid based, or tile based, turn based game. 1131 00:51:24,700 --> 00:51:27,530 And built around three core mechanics. 1132 00:51:27,530 --> 00:51:31,452 Our mechanics are a random encounter mechanic 1133 00:51:31,452 --> 00:51:34,240 where every square possibly has either treasure or pirates. 1134 00:51:37,490 --> 00:51:39,860 A exploration mechanic where you revealed 1135 00:51:39,860 --> 00:51:41,910 the risk level of nearby tiles. 1136 00:51:41,910 --> 00:51:44,630 And so that can change what pirates 1137 00:51:44,630 --> 00:51:47,680 will do to you if you actually land on that square, something 1138 00:51:47,680 --> 00:51:48,390 like that. 1139 00:51:48,390 --> 00:51:50,750 And then a wind mechanic, which controls 1140 00:51:50,750 --> 00:51:53,800 which directions you can move. 1141 00:51:53,800 --> 00:51:56,960 And so our goals for this week are 1142 00:51:56,960 --> 00:52:00,510 to try and implement as much as our core mechanics as possible 1143 00:52:00,510 --> 00:52:05,854 so that we can possibly look into stretch goals 1144 00:52:05,854 --> 00:52:08,020 for our games, like possibly implementing one or two 1145 00:52:08,020 --> 00:52:13,280 unique abilities to improve playability over next week. 1146 00:52:13,280 --> 00:52:14,774 SARA VERRILLI: Thank you. 1147 00:52:14,774 --> 00:52:16,766 [APPLAUSE] 1148 00:52:19,256 --> 00:52:20,252 Lost Underground. 1149 00:52:24,209 --> 00:52:25,375 STUDENT 4: Lost Underground. 1150 00:52:30,025 --> 00:52:30,890 Scared for a second. 1151 00:52:33,790 --> 00:52:37,360 The overall goal is to create a game that people will like. 1152 00:52:37,360 --> 00:52:40,200 It'll be random and will allow exploration. 1153 00:52:40,200 --> 00:52:43,690 Our goals for the weekend are to create 1154 00:52:43,690 --> 00:52:48,490 the basic bare bones you could walk around a map, 1155 00:52:48,490 --> 00:52:51,040 you can drop bombs. 1156 00:52:51,040 --> 00:52:53,760 Make the most basic part out and then build up 1157 00:52:53,760 --> 00:52:55,160 on everything else. 1158 00:52:55,160 --> 00:52:57,570 The features that we're thinking of planning. 1159 00:52:57,570 --> 00:52:59,340 The most important features of the game, 1160 00:52:59,340 --> 00:53:00,390 which are the ones we'll be working on this weekend, 1161 00:53:00,390 --> 00:53:02,600 will just be being able to move around 1162 00:53:02,600 --> 00:53:08,540 the board, a board, a general board, dropping bombs, 1163 00:53:08,540 --> 00:53:16,822 and possibly the most basic, nice looking art that we can. 1164 00:53:16,822 --> 00:53:19,720 [APPLAUSE] 1165 00:53:21,170 --> 00:53:23,648 SARA VERRILLI: Beaver Evolution. 1166 00:53:23,648 --> 00:53:26,791 PROFESSOR: Just a quick point, the most basic art 1167 00:53:26,791 --> 00:53:28,624 that you can make is probably not the nicest 1168 00:53:28,624 --> 00:53:29,665 looking art you can make. 1169 00:53:29,665 --> 00:53:31,014 So just [INAUDIBLE]. 1170 00:53:36,972 --> 00:53:38,680 STUDENT 5: All right, so Beaver Evolution 1171 00:53:38,680 --> 00:53:41,830 is a 2D turn based game where you're trying 1172 00:53:41,830 --> 00:53:43,960 to progress your beaver colony. 1173 00:53:43,960 --> 00:53:46,454 And one of our main core mechanics of this game 1174 00:53:46,454 --> 00:53:48,120 is that you have three different choices 1175 00:53:48,120 --> 00:53:50,810 you can make every turn in order to progress 1176 00:53:50,810 --> 00:53:53,230 to one of the many wind conditions we have in the game. 1177 00:53:53,230 --> 00:53:56,020 So this is going to be one of our main focus 1178 00:53:56,020 --> 00:53:56,960 for this weekend. 1179 00:53:56,960 --> 00:53:59,450 We want to be able to implement a board, 1180 00:53:59,450 --> 00:54:03,890 want to be able sort of select how to build our dams, 1181 00:54:03,890 --> 00:54:05,650 and we want to make it really easy 1182 00:54:05,650 --> 00:54:07,890 to incorporate the three different choices we 1183 00:54:07,890 --> 00:54:09,880 have every turn. 1184 00:54:09,880 --> 00:54:15,240 So our main focus will be also on creating a UI, which 1185 00:54:15,240 --> 00:54:19,550 makes it really to sort of figure out what you can do, 1186 00:54:19,550 --> 00:54:22,227 what sort of resources you have, like how far 1187 00:54:22,227 --> 00:54:24,320 is your beaver colony progressing. 1188 00:54:24,320 --> 00:54:29,730 And I think our second main mechanic, 1189 00:54:29,730 --> 00:54:31,520 which is including the randomness 1190 00:54:31,520 --> 00:54:37,650 factor, such as the disasters and that kind of stuff. 1191 00:54:37,650 --> 00:54:41,709 That sort of stuff can be added later in the projects. 1192 00:54:41,709 --> 00:54:43,000 We don't need to focus on that. 1193 00:54:43,000 --> 00:54:44,750 Right now we just want to focus on being 1194 00:54:44,750 --> 00:54:46,620 sure we can play through the game, 1195 00:54:46,620 --> 00:54:49,190 make sure that's not confusing to the player, 1196 00:54:49,190 --> 00:54:51,200 and that you can do it without sort 1197 00:54:51,200 --> 00:54:54,602 of adding any sort of the features that 1198 00:54:54,602 --> 00:54:55,812 require more balance. 1199 00:54:58,716 --> 00:55:01,620 [APPLAUSE] 1200 00:55:02,354 --> 00:55:03,395 SARA VERRILLI: Magi Dice. 1201 00:55:13,780 --> 00:55:15,230 STUDENT 6: Hi, we're Magi Dice. 1202 00:55:15,230 --> 00:55:18,210 We want to make a fun, engaging puzzle games where 1203 00:55:18,210 --> 00:55:20,425 the player moves around dice on a board to try 1204 00:55:20,425 --> 00:55:25,470 and using modular arithmetic create 0's and set 1205 00:55:25,470 --> 00:55:26,740 of combo chains. 1206 00:55:26,740 --> 00:55:29,130 So our goal for the first week is, first of all, just 1207 00:55:29,130 --> 00:55:31,610 set up the board and the dice so that the player can 1208 00:55:31,610 --> 00:55:32,960 see what they're doing. 1209 00:55:32,960 --> 00:55:35,220 And then our immediate following goal 1210 00:55:35,220 --> 00:55:38,170 is to incentivize players to create combos 1211 00:55:38,170 --> 00:55:41,940 that multiple moves earn them, like, create 0s in a row. 1212 00:55:41,940 --> 00:55:44,410 And we want to do this by giving them more points 1213 00:55:44,410 --> 00:55:47,040 and having a pretty UI so they're incentivized 1214 00:55:47,040 --> 00:55:48,465 to set up and do fun stuff. 1215 00:55:51,568 --> 00:55:54,406 [APPLAUSE] 1216 00:55:55,229 --> 00:55:56,645 SARA VERRILLI: Sparkly Redemption. 1217 00:56:04,070 --> 00:56:06,020 STUDENT 7: OK, Sparkly Redemption. 1218 00:56:06,020 --> 00:56:08,290 2D real time game where you shoot 1219 00:56:08,290 --> 00:56:10,272 monsters and pick up sparklies. 1220 00:56:10,272 --> 00:56:12,730 And the important thing is that when you pick up sparklies, 1221 00:56:12,730 --> 00:56:15,950 you either get a different weapon or the monsters 1222 00:56:15,950 --> 00:56:17,330 change their behavior. 1223 00:56:17,330 --> 00:56:19,730 That means the core thing we really need to implement 1224 00:56:19,730 --> 00:56:24,340 is to have a [INAUDIBLE] you can move around, have monsters 1225 00:56:24,340 --> 00:56:26,300 with at these two different behaviors, 1226 00:56:26,300 --> 00:56:28,240 because the swapping is important, 1227 00:56:28,240 --> 00:56:31,530 and have sparklies that you can pick up. 1228 00:56:31,530 --> 00:56:34,160 [INAUDIBLE] needs at least two different attacks. 1229 00:56:34,160 --> 00:56:38,690 So that's probably what we're going to focus on at this time. 1230 00:56:38,690 --> 00:56:43,920 I guess it'll also be sort of important to have it be easily 1231 00:56:43,920 --> 00:56:46,640 visible at a glance the difference 1232 00:56:46,640 --> 00:56:48,610 what the current monster behavior is, 1233 00:56:48,610 --> 00:56:50,750 what your current attack is, and I guess 1234 00:56:50,750 --> 00:56:52,310 how many sparklies you have. 1235 00:56:52,310 --> 00:56:55,780 And so I guess it's not the most, most critical thing 1236 00:56:55,780 --> 00:56:58,870 to have this week, but we're probably also going 1237 00:56:58,870 --> 00:57:02,570 to try and get it so that you can see what's going on 1238 00:57:02,570 --> 00:57:06,465 and not just have to sort of guess at it. 1239 00:57:06,465 --> 00:57:09,916 [APPLAUSE] 1240 00:57:26,623 --> 00:57:27,664 SARA VERRILLI: All right. 1241 00:57:36,100 --> 00:57:37,580 OK. 1242 00:57:37,580 --> 00:57:40,435 So you did product backlogs. 1243 00:57:45,770 --> 00:57:50,822 On Monday you did a fair chunk of your planning sprint. 1244 00:57:50,822 --> 00:57:53,030 You finished up sort of the second half of that today 1245 00:57:53,030 --> 00:57:55,030 by getting your product backlog pulled together. 1246 00:57:57,850 --> 00:58:04,320 To close out today, I'm going to talk about the meetings that 1247 00:58:04,320 --> 00:58:06,990 are involved in Scrum. 1248 00:58:06,990 --> 00:58:09,190 We're not actually going to have you hold them 1249 00:58:09,190 --> 00:58:12,960 all here because A, they wouldn't be very useful. 1250 00:58:12,960 --> 00:58:14,570 It would take a lot of time. 1251 00:58:14,570 --> 00:58:20,500 And because we're introducing Scrum alongside the project, 1252 00:58:20,500 --> 00:58:23,036 the timing doesn't fall well as we introduce things, 1253 00:58:23,036 --> 00:58:24,410 would be the right way to put it. 1254 00:58:24,410 --> 00:58:29,460 We are hoping you will use these meetings in project three 1255 00:58:29,460 --> 00:58:31,620 as you start planning out your project 1256 00:58:31,620 --> 00:58:33,030 and figuring things out. 1257 00:58:33,030 --> 00:58:35,950 So I do want to talk about how you 1258 00:58:35,950 --> 00:58:37,930 run the meetings we talked about that 1259 00:58:37,930 --> 00:58:41,950 occur within a Scrum cycle. 1260 00:58:41,950 --> 00:58:47,570 But first I'm just going to talk about meetings. 1261 00:58:47,570 --> 00:58:51,270 And meetings as a force for good as opposed to how most of us 1262 00:58:51,270 --> 00:58:54,130 probably think of them, which is, let's 1263 00:58:54,130 --> 00:58:57,000 be honest, as a force for evil. 1264 00:58:57,000 --> 00:58:59,402 As a force for evil, they suck away a lot of time. 1265 00:58:59,402 --> 00:59:01,610 If you have a six person team and you have a one hour 1266 00:59:01,610 --> 00:59:06,900 meeting, that's six hours of work gone. 1267 00:59:06,900 --> 00:59:09,360 So you want to make sure that those six hours of work 1268 00:59:09,360 --> 00:59:13,930 are actually good and useful hours of work. 1269 00:59:13,930 --> 00:59:20,790 There are three primary tools to do this that we're 1270 00:59:20,790 --> 00:59:22,120 going to talk about here. 1271 00:59:22,120 --> 00:59:26,150 We're going to talk about time boxing, having a clear agenda, 1272 00:59:26,150 --> 00:59:29,250 and having involved participants. 1273 00:59:29,250 --> 00:59:33,410 Has anybody here heard of time boxing 1274 00:59:33,410 --> 00:59:35,260 and do you know what that concept is? 1275 00:59:38,140 --> 00:59:38,830 OK. 1276 00:59:38,830 --> 00:59:43,790 Timeboxing is when you decide before you have the meeting 1277 00:59:43,790 --> 00:59:47,340 or before you start any particular activity how 1278 00:59:47,340 --> 00:59:50,710 much time you're going to let it take. 1279 00:59:50,710 --> 00:59:53,100 You give the task a time budget and you 1280 00:59:53,100 --> 00:59:56,020 don't exceed that time budget. 1281 00:59:56,020 --> 00:59:59,860 For example, sprints are just one big time box. 1282 00:59:59,860 --> 01:00:00,829 You're defining that. 1283 01:00:00,829 --> 01:00:02,870 Here's the set of things we're going to get done, 1284 01:00:02,870 --> 01:00:04,249 we have a week to do them in. 1285 01:00:04,249 --> 01:00:05,790 When we're done with that week, we're 1286 01:00:05,790 --> 01:00:07,770 going to stop and see how much we got done, 1287 01:00:07,770 --> 01:00:11,990 and we're going to move on from there and reevaluate. 1288 01:00:11,990 --> 01:00:14,600 Meetings can do this too. 1289 01:00:14,600 --> 01:00:18,200 And all meetings in Scrum should be time boxed. 1290 01:00:18,200 --> 01:00:20,280 It's one of the classic Scrum rules 1291 01:00:20,280 --> 01:00:21,640 is that meetings are time boxed. 1292 01:00:21,640 --> 01:00:23,940 They have a limited amount of time you spend on them. 1293 01:00:27,489 --> 01:00:29,030 Time boxing acknowledges that there's 1294 01:00:29,030 --> 01:00:30,529 sort of a maximum amount of time you 1295 01:00:30,529 --> 01:00:33,020 can spend on any particular problem before any time 1296 01:00:33,020 --> 01:00:34,490 after that is wasted. 1297 01:00:38,160 --> 01:00:40,380 It does mean that you won't always 1298 01:00:40,380 --> 01:00:42,120 reach the perfect solution. 1299 01:00:42,120 --> 01:00:45,047 Because if you've given yourself an hour to discuss a problem 1300 01:00:45,047 --> 01:00:46,630 and you've talked about it for an hour 1301 01:00:46,630 --> 01:00:49,970 and you haven't quite come to a great solution, 1302 01:00:49,970 --> 01:00:51,870 you stop talking anyway. 1303 01:00:51,870 --> 01:00:54,130 You decide what the most reasonable solution 1304 01:00:54,130 --> 01:00:58,280 you've talked about is and you go ahead and do that. 1305 01:00:58,280 --> 01:01:01,270 It's sort of an implementation of a theory 1306 01:01:01,270 --> 01:01:04,280 that the perfect is the enemy of the good. 1307 01:01:04,280 --> 01:01:07,300 It may be that if you went ahead and talked for another hour, 1308 01:01:07,300 --> 01:01:10,877 you would find the perfect and ideal solution to the problem. 1309 01:01:10,877 --> 01:01:12,710 But it's also very possible that you're just 1310 01:01:12,710 --> 01:01:14,870 going to spend another hour talking about it. 1311 01:01:14,870 --> 01:01:18,270 It may be better and it usually is better 1312 01:01:18,270 --> 01:01:20,460 to go ahead with the best solution you 1313 01:01:20,460 --> 01:01:22,960 came up with and start implementing that 1314 01:01:22,960 --> 01:01:25,140 and see how it works. 1315 01:01:25,140 --> 01:01:27,780 So that's the idea behind time boxing. 1316 01:01:27,780 --> 01:01:28,760 Clear agendas. 1317 01:01:28,760 --> 01:01:30,710 If you don't know why you're having a meeting, 1318 01:01:30,710 --> 01:01:33,820 you probably shouldn't be having it. 1319 01:01:33,820 --> 01:01:37,030 The meetings that Scrum recommends 1320 01:01:37,030 --> 01:01:40,167 come with a built in agenda for what you want to do. 1321 01:01:40,167 --> 01:01:42,000 You'll probably have to have other meetings. 1322 01:01:42,000 --> 01:01:43,400 Because at point you'll have to talk about 1323 01:01:43,400 --> 01:01:45,650 to figure out how your version control is working 1324 01:01:45,650 --> 01:01:48,510 or how this feature is working or how the art assets go 1325 01:01:48,510 --> 01:01:50,260 into the game or what kind of sound assets 1326 01:01:50,260 --> 01:01:51,790 you're going to have. 1327 01:01:51,790 --> 01:01:53,637 Before you go ahead and have that meeting, 1328 01:01:53,637 --> 01:01:55,220 make sure you know what the goal of it 1329 01:01:55,220 --> 01:02:00,800 is, what you want to come out of it with, and honestly, 1330 01:02:00,800 --> 01:02:03,600 leading into the next point, who actually need 1331 01:02:03,600 --> 01:02:06,290 to be there at the meeting. 1332 01:02:06,290 --> 01:02:08,920 Not all meetings require the whole team. 1333 01:02:08,920 --> 01:02:11,270 A lot of meetings are really good as just one on one 1334 01:02:11,270 --> 01:02:14,016 conversations or just a small group of people, 1335 01:02:14,016 --> 01:02:16,390 a subgroup of people who are working on a particular task 1336 01:02:16,390 --> 01:02:17,806 and get together and talk about it 1337 01:02:17,806 --> 01:02:20,550 without including everyone else. 1338 01:02:20,550 --> 01:02:22,280 The other half of involved participants 1339 01:02:22,280 --> 01:02:26,040 is if you are in a meeting, be in the meeting. 1340 01:02:26,040 --> 01:02:28,830 Don't be coding in the background. 1341 01:02:28,830 --> 01:02:31,770 Don't be checking your cell phone and texting something. 1342 01:02:31,770 --> 01:02:33,620 Don't work on a problem set. 1343 01:02:33,620 --> 01:02:35,750 Go ahead and be there. 1344 01:02:35,750 --> 01:02:38,460 Accept that you have dedicated the next 15 or 20 minutes 1345 01:02:38,460 --> 01:02:41,080 to working with your coworkers to solve 1346 01:02:41,080 --> 01:02:42,680 this particular problem. 1347 01:02:42,680 --> 01:02:45,335 Get the problem solved, get the meeting over, and then get back 1348 01:02:45,335 --> 01:02:48,020 to doing useful things. 1349 01:02:48,020 --> 01:02:53,219 So those really are the ways to make meetings useful 1350 01:02:53,219 --> 01:02:55,260 and to make them work for you rather than working 1351 01:02:55,260 --> 01:02:56,980 against you. 1352 01:02:56,980 --> 01:02:58,500 All right, that said I'm now going 1353 01:02:58,500 --> 01:03:02,510 to go ahead and talk a little bit about each of the meetings. 1354 01:03:02,510 --> 01:03:04,990 So starting at the sprint planning meeting, 1355 01:03:04,990 --> 01:03:08,630 which you've actually already mostly done. 1356 01:03:08,630 --> 01:03:12,325 We will do it in class on-- you've already 1357 01:03:12,325 --> 01:03:14,950 done a good chunk of that, which is making the product backlog. 1358 01:03:14,950 --> 01:03:16,700 We're going to do this on Monday. 1359 01:03:16,700 --> 01:03:19,490 We're actually going to go ahead and take your product backlog 1360 01:03:19,490 --> 01:03:23,070 and break it down into a sprint task list 1361 01:03:23,070 --> 01:03:24,150 and start making tasks. 1362 01:03:24,150 --> 01:03:26,500 So we will have a in class sprint planning meeting 1363 01:03:26,500 --> 01:03:30,600 for your next sprint next week. 1364 01:03:30,600 --> 01:03:32,870 But a sprint planning meaning sets the team's goals 1365 01:03:32,870 --> 01:03:37,640 for the sprint and has the deliverable, its goal, 1366 01:03:37,640 --> 01:03:39,940 of a sprint backlog and an estimated task 1367 01:03:39,940 --> 01:03:40,810 list for the sprint. 1368 01:03:40,810 --> 01:03:43,070 So you know exactly how many hours of work 1369 01:03:43,070 --> 01:03:46,280 you think you are going to get done over the next week. 1370 01:03:46,280 --> 01:03:48,500 And it is time boxed to one to two hours. 1371 01:03:48,500 --> 01:03:51,530 For a team your size, one hour's probably good. 1372 01:03:51,530 --> 01:03:54,160 For an inexperienced team your size, 1373 01:03:54,160 --> 01:03:58,400 1 and a half hours might actually be better. 1374 01:03:58,400 --> 01:04:02,260 So the more you do this, the faster 1375 01:04:02,260 --> 01:04:04,235 you get at it because the easier it gets. 1376 01:04:08,060 --> 01:04:12,100 At the end of the sprint, on the other side of it, 1377 01:04:12,100 --> 01:04:14,620 is the sprint review meeting. 1378 01:04:14,620 --> 01:04:17,000 It has the deliverables of demonstrating your working 1379 01:04:17,000 --> 01:04:20,940 product, in this case your finished project two. 1380 01:04:20,940 --> 01:04:24,280 It is a chance for your team to stop and review and evaluate 1381 01:04:24,280 --> 01:04:26,870 your product and decide if that's actually what you want. 1382 01:04:26,870 --> 01:04:30,076 If you have clients to go ahead and say yes, that's 1383 01:04:30,076 --> 01:04:31,950 what we want, keep working in that direction. 1384 01:04:31,950 --> 01:04:34,019 Or to say, oh my gosh, this is exactly not 1385 01:04:34,019 --> 01:04:35,060 what we were thinking of. 1386 01:04:35,060 --> 01:04:37,410 Quick, change everything. 1387 01:04:37,410 --> 01:04:40,050 So the other thing you do in the sprint review meeting 1388 01:04:40,050 --> 01:04:41,580 after you've reviewed the product 1389 01:04:41,580 --> 01:04:43,757 is change and update your product backlog. 1390 01:04:43,757 --> 01:04:45,340 Because it may be some of the features 1391 01:04:45,340 --> 01:04:47,740 that you thought were really important before you 1392 01:04:47,740 --> 01:04:49,460 went into this sprint have turned out 1393 01:04:49,460 --> 01:04:51,160 to be less important. 1394 01:04:51,160 --> 01:04:53,600 Or it might be that you thought of five new features 1395 01:04:53,600 --> 01:04:55,580 that you really need to put into the game 1396 01:04:55,580 --> 01:04:58,810 and that it's worth cutting some of the other features you 1397 01:04:58,810 --> 01:05:00,960 already had on the list. 1398 01:05:00,960 --> 01:05:04,700 So the sprint review meeting sets up your sprint planning 1399 01:05:04,700 --> 01:05:07,590 meeting by getting your product backlog in shape 1400 01:05:07,590 --> 01:05:10,500 to go and prepare for the next sprint. 1401 01:05:10,500 --> 01:05:14,280 It also is time boxed to about one hour, 1402 01:05:14,280 --> 01:05:15,655 again, for a team your size. 1403 01:05:20,270 --> 01:05:22,609 The other end of sprint meeting is the retrospective, 1404 01:05:22,609 --> 01:05:24,400 which is not the same as the sprint review. 1405 01:05:24,400 --> 01:05:27,860 A lot of teams try to smash a sprint review 1406 01:05:27,860 --> 01:05:30,990 meeting and a retrospective meaning into the same one. 1407 01:05:30,990 --> 01:05:32,580 And they have very different purposes. 1408 01:05:32,580 --> 01:05:36,220 Sprint review meeting is all about reviewing your product. 1409 01:05:36,220 --> 01:05:39,092 The retrospective is about reviewing your process. 1410 01:05:39,092 --> 01:05:43,100 It's about talking about the team. 1411 01:05:43,100 --> 01:05:44,830 Ideally, it kind of recognizes the things 1412 01:05:44,830 --> 01:05:46,663 that went right, the things that went wrong, 1413 01:05:46,663 --> 01:05:50,800 and generates a short list, at least one or two items, 1414 01:05:50,800 --> 01:05:52,666 of things to do differently next time 1415 01:05:52,666 --> 01:05:54,790 because they will improve the things that happened. 1416 01:05:58,080 --> 01:06:01,277 So it's a forward looking meeting despite its name. 1417 01:06:01,277 --> 01:06:02,360 The name is retrospective. 1418 01:06:02,360 --> 01:06:05,000 It's looking back at what happened in the past 1419 01:06:05,000 --> 01:06:07,880 to see what you can do better in the future. 1420 01:06:07,880 --> 01:06:10,150 If you do your team retrospective well, 1421 01:06:10,150 --> 01:06:12,040 it actually will be a lot of what 1422 01:06:12,040 --> 01:06:16,190 we're asking for in our postmortem write ups. 1423 01:06:16,190 --> 01:06:19,630 Because really that's what we're looking for in the postmortems 1424 01:06:19,630 --> 01:06:22,270 is understanding what you did, why you did it, 1425 01:06:22,270 --> 01:06:24,187 how it could be improved. 1426 01:06:24,187 --> 01:06:26,020 We want to know what sinkholes you fell into 1427 01:06:26,020 --> 01:06:27,645 and how you climbed out of them and how 1428 01:06:27,645 --> 01:06:29,811 you would build a bridge over the sinkhole next time 1429 01:06:29,811 --> 01:06:30,996 so you don't fall into it. 1430 01:06:34,420 --> 01:06:36,990 Finally, there's the daily Scrum. 1431 01:06:36,990 --> 01:06:39,410 And this is the meaning that happens it regularly 1432 01:06:39,410 --> 01:06:40,590 over the sprint. 1433 01:06:40,590 --> 01:06:43,560 Every day, or if your team is not meeting every day, 1434 01:06:43,560 --> 01:06:45,080 every time your team meets. 1435 01:06:48,147 --> 01:06:49,730 The goal of the daily Scrum is to keep 1436 01:06:49,730 --> 01:06:51,440 the team accountable to each other 1437 01:06:51,440 --> 01:06:54,830 and to encourage communication across the team. 1438 01:06:54,830 --> 01:06:57,152 If everyone's being honest at the daily scrum, 1439 01:06:57,152 --> 01:06:58,610 there's really no excuse for anyone 1440 01:06:58,610 --> 01:07:01,850 to not know the full state of the project, especially 1441 01:07:01,850 --> 01:07:05,610 when it's combined with a Scrum board with all the tasks up. 1442 01:07:05,610 --> 01:07:07,110 Daily Scrum are also actually called 1443 01:07:07,110 --> 01:07:09,231 daily standups, because a lot of teams 1444 01:07:09,231 --> 01:07:11,230 do them standing up in order to keep them short. 1445 01:07:15,080 --> 01:07:17,350 Classically it's time boxed at 15 minutes. 1446 01:07:17,350 --> 01:07:19,370 For teams your size, five to six minutes 1447 01:07:19,370 --> 01:07:21,440 is probably actually enough. 1448 01:07:21,440 --> 01:07:25,170 Because all each person has to do 1449 01:07:25,170 --> 01:07:29,340 is stand up and answer these three questions. 1450 01:07:29,340 --> 01:07:31,610 What did you yesterday or since our last meeting? 1451 01:07:31,610 --> 01:07:33,940 So what have you gotten done? 1452 01:07:33,940 --> 01:07:35,710 What are you going to do today? 1453 01:07:35,710 --> 01:07:37,480 What's on your task list? 1454 01:07:37,480 --> 01:07:43,550 And finally, what is keeping you from getting things done? 1455 01:07:43,550 --> 01:07:44,440 What's blocking you? 1456 01:07:44,440 --> 01:07:46,412 How come you can't get things done? 1457 01:07:46,412 --> 01:07:47,870 And sometimes the answer is nothing 1458 01:07:47,870 --> 01:07:50,310 and sometimes the answer is something, in which case 1459 01:07:50,310 --> 01:07:51,570 it needs to get dealt with. 1460 01:07:51,570 --> 01:07:54,890 The place where daily Scrum often go wrong and end up 1461 01:07:54,890 --> 01:07:57,620 taking longer than their five minutes or 15 minutes 1462 01:07:57,620 --> 01:08:00,400 is when people start mentioning what they're being blocked by 1463 01:08:00,400 --> 01:08:03,459 and everyone jumps in to help them solve the problem. 1464 01:08:03,459 --> 01:08:05,500 That's not actually what you do at a daily Scrum. 1465 01:08:05,500 --> 01:08:08,000 You don't solve the problem at the daily Scrum. 1466 01:08:08,000 --> 01:08:10,090 You mention it, someone makes a note of it 1467 01:08:10,090 --> 01:08:12,900 so everyone's aware of it, you get the meeting over, 1468 01:08:12,900 --> 01:08:14,550 and then the people who actually need 1469 01:08:14,550 --> 01:08:17,180 to be involved to solve the problem 1470 01:08:17,180 --> 01:08:18,420 talk to solve the problem. 1471 01:08:18,420 --> 01:08:21,210 Once again, it's invoking that principle of, 1472 01:08:21,210 --> 01:08:23,910 if you don't need to be at a meeting, don't be at a meeting. 1473 01:08:26,439 --> 01:08:30,120 So that is my comment on daily Scrums. 1474 01:08:30,120 --> 01:08:33,859 And I was going to have you guys try and do one today, 1475 01:08:33,859 --> 01:08:36,729 but I actually don't think that would be very useful. 1476 01:08:36,729 --> 01:08:39,479 I think you've already really probably done a lot of that 1477 01:08:39,479 --> 01:08:42,600 in sitting down and talking about your product backlogs. 1478 01:08:42,600 --> 01:08:45,600 So I think I would prefer to go ahead and close out 1479 01:08:45,600 --> 01:08:47,760 my lecture here and give you the rest of the hour 1480 01:08:47,760 --> 01:08:50,679 to continue working in your teams on your projects. 1481 01:08:50,679 --> 01:08:52,220 PROFESSOR: One thing we can recommend 1482 01:08:52,220 --> 01:08:55,082 is that since most of your teams seem 1483 01:08:55,082 --> 01:08:57,184 to be planning on meeting up sometime between now 1484 01:08:57,184 --> 01:08:59,181 and Monday-- and I certainly encourage 1485 01:08:59,181 --> 01:09:03,130 that-- plan to do this during that next meeting, 1486 01:09:03,130 --> 01:09:06,800 if it's on the weekend, if it's on Friday, if it's tomorrow. 1487 01:09:06,800 --> 01:09:09,616 Whenever that is, do this and ask every single person 1488 01:09:09,616 --> 01:09:10,614 these three questions. 1489 01:09:10,614 --> 01:09:12,610 And be prepared, personally prepared, 1490 01:09:12,610 --> 01:09:14,302 to answer all of the three questions. 1491 01:09:14,302 --> 01:09:16,218 The thing that could be blocking you is you've 1492 01:09:16,218 --> 01:09:18,830 got a horrible head cold. 1493 01:09:18,830 --> 01:09:21,160 Your computer just fried. 1494 01:09:21,160 --> 01:09:21,660 [INAUDIBLE] 1495 01:09:26,440 --> 01:09:29,930 I have a problem with my web game engine. 1496 01:09:29,930 --> 01:09:31,454 And there's probably somebody else 1497 01:09:31,454 --> 01:09:34,356 on the team who can help you figure that out. 1498 01:09:34,356 --> 01:09:36,120 [INAUDIBLE] 1499 01:09:36,120 --> 01:09:38,522 It could be another class that's giving you problems. 1500 01:09:38,522 --> 01:09:40,939 That's also a perfectly fine answer. 1501 01:09:40,939 --> 01:09:43,461 You want your team to know what's preventing you 1502 01:09:43,461 --> 01:09:45,319 from getting stuff done. 1503 01:09:45,319 --> 01:09:48,270 SARA VERRILLI: The other thing you should do over this weekend 1504 01:09:48,270 --> 01:09:51,689 and have chosen by the time you come in on Monday 1505 01:09:51,689 --> 01:09:54,480 is a Scrum master for your team. 1506 01:09:54,480 --> 01:09:57,694 And from the instructor's point of view, 1507 01:09:57,694 --> 01:09:59,110 that's the person who is primarily 1508 01:09:59,110 --> 01:10:02,010 responsible for uploading documents, 1509 01:10:02,010 --> 01:10:04,870 vision documents, product backlogs, design change 1510 01:10:04,870 --> 01:10:08,339 logs, making sure that we have a link to your project 1511 01:10:08,339 --> 01:10:09,380 when the project is done. 1512 01:10:09,380 --> 01:10:10,600 Because we don't need everyone on the team 1513 01:10:10,600 --> 01:10:12,200 to do the joint team turns. 1514 01:10:12,200 --> 01:10:15,010 We really only need one person to do it. 1515 01:10:15,010 --> 01:10:17,470 From the team's point of view, should be the person 1516 01:10:17,470 --> 01:10:20,440 helping you do Scrum. 1517 01:10:20,440 --> 01:10:22,610 And that's all I have for today. 1518 01:10:22,610 --> 01:10:25,293 So do you have anything else, Rick? 1519 01:10:25,293 --> 01:10:26,376 RICK EBERHARDT: Deadlines. 1520 01:10:26,376 --> 01:10:28,659 So turn in your vision documents, 1521 01:10:28,659 --> 01:10:30,200 the ones you just worked on, that you 1522 01:10:30,200 --> 01:10:31,634 updated with you new team. 1523 01:10:31,634 --> 01:10:34,272 Turn them into Stellar by the end of class today please. 1524 01:10:34,272 --> 01:10:35,730 SARA VERRILLI: I was telling people 1525 01:10:35,730 --> 01:10:38,690 since we had the date wrong, in case something went horribly 1526 01:10:38,690 --> 01:10:41,420 awry, they had until the end of the day today.