managing innovative software projects
play

Managing (Innovative) Software Projects Chris Riesbeck Electrical - PowerPoint PPT Presentation

Managing (Innovative) Software Projects Chris Riesbeck Electrical Engineering and Computer Science Learning Sciences Center for Technology and Social Behavior Northwestern University 1 Monday, April 16, 2012 2 Monday, April 16, 2012


  1. Managing (Innovative) Software Projects Chris Riesbeck Electrical Engineering and Computer Science Learning Sciences Center for Technology and Social Behavior Northwestern University 1 Monday, April 16, 2012

  2. 2 Monday, April 16, 2012

  3. Feature Presentation: Agile Intervention 3 Monday, April 16, 2012

  4. Week 1 WorkIt! We've got the green light for our WorkIt! app. They love the idea of a personalized audio workout coach and exercise tracker. Your personal trainer hands-free coaching instant diary 100's of downloadable routines 4 Monday, April 16, 2012

  5. Week 1 ... a page to manage authors, A phone app to users, and profiles... call out the OK, let's figure steps... out what we need to build. We'll need OK, here's a a server, schedule. Let's home page, get going! page to define workout routines... User Workout User sign Download Workout admin entry up, enter custom Demo! Caller module module profile workout Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 5 Monday, April 16, 2012

  6. Week 2 Were you working Where is the on that? I may have new database? covered it up when I uploaded my code Where's my this morning! new user admin page? It's on my laptop ... It took me 3 hours. I that I left on uploaded it the shuttle last night. 6 Monday, April 16, 2012

  7. Week 3 Lessee...what to do next? Task list Validate emails Eeny meeny... Allow 24-hour specials Add drag-and-drop ...this looks good! Add logout button Fix transition Add multiple emails Fix typo on who we are Add Facebook linkage Reformat login form Do euros Allow notifications 7 Add sleep mode Fix repeat glitch Monday, April 16, 2012

  8. Fix transition Add multiple emails Fix typo on who we are Add Facebook linkage Week 3 Reformat login form Do euros Allow notifications Add sleep mode Fix repeat glitch Refactor db schema Add average to stats The logo Add median to stats dances now! Only let admins delete Reorganize css files Task list Update stats unit tests Add Safari support Animate intro logo Remove premium link Update Ruby gems Find div-by-0 bug Change to daily logs Validate emails What about Allow 24-hour specials the Facebook Add drag-and-drop Was that on link? the list? 8 Monday, April 16, 2012

  9. Week 4 Project progress report... I did the UI Dale did phone app Kim did the DB Karl did the It's just a server code and our scratch. I'll be project is... out of traction in 5 weeks. ... toast 9 Monday, April 16, 2012

  10. Week 5 We didn't get that far in the Can we demo schedule. downloading a routine and working out? We didn't get there either. Can we at least demo We present getting a next week! routine? Signing on! What can we demo? User Workout User sign Download Workout admin entry up, enter custom Demo! Caller module module profile workout Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 10 Monday, April 16, 2012

  11. Suddenly... 11 Monday, April 16, 2012

  12. Well, that was a disaster. What a run of bad luck. We're your Guardian Agile s. We saw you were having problems. Luck had nothing to do with it– watch! Who are those guys? 12 Monday, April 16, 2012

  13. It gets worse This is classic and worse until code chaos. a project collapses. 13 Monday, April 16, 2012

  14. You had too And no focus many tasks to on what really keep track of. mattered. 14 Monday, April 16, 2012

  15. That's how few people need to Your bus get hit by a bus factor was 1 for your project to fail. 15 Monday, April 16, 2012

  16. Your schedule Here's your saved the best biggest for last, i.e., problem of all. never. 16 Monday, April 16, 2012

  17. I guess we have Not harder. to try harder. Different. One key idea–early value– and a few practices can help a lot. You're going to get a chance to do this again. We'll pop in to help. Here we go... 17 Monday, April 16, 2012

  18. Week 1 ... a page to manage authors, A phone app to users, and profiles... call out the steps... We'll need a server, home page, page to define workout routines... Your value is getting lost in features and code. 18 Monday, April 16, 2012

  19. Week 1 A user A user doing a entering an Start with a routine with the exercise goal different question. phone calling out profile. the steps. What are Great! Put your user those scenarios? scenarios The ones you into a release must have in backlog. your MVP? An expert A user finding and authoring a downloading a routine workout that fits her profile. routine. 19 Monday, April 16, 2012

  20. Week 1 OK, we've got our scenarios. Let's start coding! Scenarios expert authors routine Not yet! Is all this doable in the time user adds profile you have? user downloads routine app calls out routine steps 20 Monday, April 16, 2012

  21. Week 1 We really suck Things take 2 to as estimating. 5 times longer than we think. What do you think, guys? 4 weeks? 6? Don't even try to estimate time! Everyone sucks at it. Scenarios expert authors routine user adds profile user downloads routine app calls out routine steps 21 Monday, April 16, 2012

  22. Week 1 Then sort First, break the the tasks from scenarios down into easiest to their major hardest. development tasks. Give the easiest 1 point. Give more points to the Scenarios You mean like 2 harder ones. points for a story that expert authors routine looks twice as hard as Exactly! user adds profile the easiest ones? user downloads routine app calls out routine steps 22 Monday, April 16, 2012

  23. Week 1 login download phoneside workout workout workout db pages pages routine DB editor editor logic tables pages profile routine profile profile db text to phone app update "runner" update tables speech code UI pages logic logic Let's put our tasks up on the wall. Here are the tasks for authoring. Scenarios Here are the Here are the Here are tasks for tasks for calling a expert authors routine the profile downloading. workout. user adds profile editor tasks. user downloads routine app calls out routine steps 23 Monday, April 16, 2012

  24. Week 1 login download phoneside workout workout workout db pages pages routine DB editor editor logic tables pages profile routine profile profile db text to phone app update "runner" update tables speech code UI pages logic logic Now let's sort Scenarios expert authors routine user adds profile user downloads routine app calls out routine steps 24 Monday, April 16, 2012

  25. Week 1 workout workout db workout editor tables editor logic login phoneside pages profile db pages routine DB profile tables profile 8 update text to update download logic 1 2 speech code pages pages routine phone app 3 "runner" UI logic Let's assign 5 some numbers. Scenarios I've seen Fibonacci expert authors routine numbers user adds profile recommended. user downloads routine app calls out routine steps 25 Monday, April 16, 2012

  26. Week 1 Let's decide Well, clearly we what to do need a page to first. create users... OK, that gives us ...and a way to 48 points in our author new backlog. workout routines... Scenarios Tasks None of these expert authors routine build: routine db (3), editor code (8), editor html pages (5) test your core value prop! user adds profile build: user profile db (3), updater code (5), profile update page (3) user downloads routine build: user login page (1), routine download page (3), phone routine db (2) 26 app calls out routine steps build: text-speech code (5), routine tracker (5), phone app UI (5) Monday, April 16, 2012

  27. Week 1 What's the make Then do or break scenario? that first. If it doesn't work, nothing else matters? Don't defer value. Build as if each release might be A user doing a your last. workout with the phone calling out the steps. 27 Monday, April 16, 2012

  28. Week 1 We should be able to get that scenario OK, let's done in two weeks implement running a workout routine. That's too vague. It's going to slip. 28 Monday, April 16, 2012

  29. Week 1 ZFR: zero feature release (MVP skeleton). Set hard deadlines. All key parts (db, server, app, ...) running One-week timeboxes and talking to each other. work well. Each week is an internal only if needed release you can user test. Final ZFR Release 1 Release 2 Release 3 Demo! Release Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 29 Monday, April 16, 2012

  30. Week 1 In a week? DTSTTCPW: Do the simplest How can we thing that could possibly work. possibly... Design for one function. DTSTTCPW! Don't build a database editor if a text file will work. Backlog anything not essential for validated learning. Do you really need user login just now? 30 Monday, April 16, 2012

  31. Week 1 OK, let's get started. I'll do the UI, Kim the DB, ... And don't silo! Don't deal out tasks. Silos: Separating developers by specialized skills and functionality. 31 Monday, April 16, 2012

Recommend


More recommend