Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Getting your project off the ground (BuildStuffLt)

959 views

Published on

So you're just getting started with a new (part of a) project with a new (part of a) team. Here are some things you can do to quickly get started.

Published in: Technology, Business
  • Be the first to comment

Getting your project off the ground (BuildStuffLt)

  1. 1. Getting your project off the ground Johannes Brodwall
  2. 2. Bootstrapping a team
  3. 3. Raising the team engagement
  4. 4. Turning a corner
  5. 5. Growing the team
  6. 6. “How do you start a project and achieve understanding at the beginning?”
  7. 7. “How do you {start a project} and achieve understanding at the beginning?”
  8. 8. Keep it simple Defer commitment Inspect and adapt It depends
  9. 9. Concrete tools for non-superheroes
  10. 10. 3 tools
  11. 11. 1. 2. 3. 4. 5. 6. 7. Discuss the problem Understand who’s involved Describe what it does Visualize the context Understand the domain Lay down the foundation Dramatize the demo
  12. 12. When
  13. 13. Typical plan for kickoff Monday Tuesday Wednesday Elevator pitch, Stakeholders Dev baseline Dev baseline Define Review usage progress, Stories Wrap up docs Dev baseline Lunch Lunch Lunch Lunch Lunch Usage review, Context, Domain, Deployment Refine models Review, Retrospective Plan week 2 Look at what’s Usage flow going on today Dev baseline Thursday Friday
  14. 14. Typical plan for kickoff Monday Tuesday Wednesday Elevator pitch, Stakeholders Dev baseline Dev baseline Define Review usage progress, Stories Wrap up docs Dev baseline Lunch Lunch Lunch Lunch Lunch Usage review, Context, Domain, Deployment Refine models Review, Retrospective Plan week 2 Look at what’s Usage flow going on today Dev baseline Thursday Friday
  15. 15. Discuss the problem
  16. 16. The problem: “A program to assign a worker to a client”
  17. 17. The problem: “A program to assign a worker to a client” (yes, it’s unclear!)
  18. 18. Form groups of 3 (or 2) You will have five minutes to discuss
  19. 19. For some user/stakeholder Who wants to achive some goal The name of the system Is a type of system Which lets them perform some operation(s). Unlike most compelling alternative This gives them some advantages.
  20. 20. For our client’s building managers Who wants to wants to keep their property in good working conditions The Mobility Workforce Manager Is a work management system for mobile workers Which lets them book and track rutine and incident based work orders. Unlike the old system This lets workers self-organize around tasks that they can solve, so the work is done faster.
  21. 21. Who?
  22. 22. For our client’s building managers Who wants to wants to keep their property in good working conditions The Mobility Workforce Manager Is a work management system for mobile workers Which lets them book and track rutine and incident based work orders. Unlike the old system This lets workers self-organize around tasks that they can solve, so the work is done faster.
  23. 23. Worker Dispatcher Building manager Client
  24. 24. Who? # Clients do ??? every ??? via ??? # Dispatchers do ??? every ??? via ??? # Workers do ??? every ??? via ??? # Building Managers do ??? every ??? via ???
  25. 25. Who? Tens of Clients sign up for service a few times every year via meetings Around 20 Dispatchers assign worker teams to maintenance tasks all the time via specialized application Several hundred specialized Workers accept tasks and confirm tasks a few times per day via mobile Hundreds of Building Managers order maintenance tasks for their buildings every few days via web
  26. 26. Who else? Payroll
  27. 27. Typical plan for kickoff Monday Tuesday Wednesday Elevator pitch, Stakeholders Dev baseline Dev baseline Define Review usage progress, Stories Wrap up docs Dev baseline Lunch Lunch Lunch Lunch Lunch Usage review, Context, Domain, Deployment Refine models Review, Retrospective Plan week 2 Look at what’s Usage flow going on today Dev baseline Thursday Friday
  28. 28. Describe the usage
  29. 29. 1. 2. 3. 4. 5. 6. Need: Someone identifies a need Trigger: Someone does something with the system The system responds in some way … … The goal has been fulfilled
  30. 30. 1. Building manager has works that needs done (e.g. change mats) 1. 2. 3. Building manager register works request on web site Dispatcher lists unhandled work orders 1. 4. 5. Alternative: Dispatcher filters, searches and sorts work orders Dispatcher displays work order Dispatcher assign tasks to workers based on skills registered in training system Worker get notified of task on their mobile Worker acknowledges task 6. 7. 1. 8. 9. 10. 11. 12. 13. Alternative: Periodic trigger Alternative: If worker rejects task, system marks it as unassigned and alerts dispatcher Worker performs task Worker registers the task as done Worker registers time and materials spent on task on mobile System notifies payroll of time spent System submits invoicing data to accounting system Building is in great shape!
  31. 31. Worker Personell Mobile Dispatcher Server Building manager Accounting Payroll
  32. 32. Worker Mobile Dispatcher Server Building manager Accounting Payroll
  33. 33. Typical plan for kickoff Monday Tuesday Wednesday Elevator pitch, Stakeholders Dev baseline Dev baseline Define Review usage progress, Stories Wrap up docs Dev baseline Lunch Lunch Lunch Lunch Lunch Usage review, Context, Domain, Deployment Refine models Review, Retrospective Plan week 2 Look at what’s Usage flow going on today Dev baseline Thursday Friday
  34. 34. Laying down foundation
  35. 35. Constraints: • • Interact per user • Portability Supported platform
  36. 36. Example: • • • Dispatcher: ____ Building manager: ____ • Worker: ____ Supported platform: Java stack
  37. 37. Example: • • • Dispatcher: Web or desktop Building manager: Web or any mobile • Worker: Provided mobile Supported platform: Java stack
  38. 38. Example: • • Dispatcher: “HTML5” Building manager: Responsive web • Worker: Android • Supported platform: Java stack
  39. 39. Example: • Dispatcher: Responsive web SPA • Building manager: Responsive web SPA • Worker: Responsive web SPA • Supported platform: Java stack
  40. 40. Frameworks: • What can the team support • Max one: Project risk or tech risk
  41. 41. Example risky project: • New team • New supplier • New domain • New codebase
  42. 42. Example risky tech: • New database system • New framework • New programming language
  43. 43. Solo programming
  44. 44. Solo programming • • Integration issues Inconsistent coding • Merge conflicts
  45. 45. Mob programming
  46. 46. Pair programming
  47. 47. Resource utilization vs Knowledge sharing
  48. 48. Typical plan for kickoff Monday Tuesday Wednesday Elevator pitch, Stakeholders Dev baseline Dev baseline Define Review usage progress, Stories Wrap up docs Dev baseline Lunch Lunch Lunch Lunch Lunch Usage review, Context, Domain, Deployment Refine models Review, Retrospective Plan week 2 Look at what’s Usage flow going on today Dev baseline Thursday Friday
  49. 49. Plan the show
  50. 50. Demo script
  51. 51. 1. 2. 3. 4. 5. 6. 7. Preconditions Start up the system What do you see? Activate a function What do you see? Activate variations of function Thus we demonstrate that we have delivered x
  52. 52. 1. Building manager has works that needs done (e.g. change mats) 1. 2. 3. Building manager register works request on web site Dispatcher lists unhandled work orders 1. 4. 5. Alternative: Dispatcher filters, searches and sorts work orders Dispatcher displays work order Dispatcher assign tasks to workers based on skills registered in training system Worker get notified of task on their mobile Worker acknowledges task 6. 7. 1. 8. 9. 10. 11. 12. 13. Alternative: Periodic trigger Alternative: If worker rejects task, system marks it as unassigned and alerts dispatcher Worker performs task Worker registers the task as done Worker registers time and materials spent on task on mobile System notifies payroll of time spent System submits invoicing data to accounting system Building is in great shape!
  53. 53. 1. Building manager has works that needs done (e.g. change mats) 1. 2. 3. Building manager register work order on web site Dispatcher lists unhandled work orders 1. 4. 5. Alternative: Dispatcher filters, searches and sorts work orders Dispatcher displays work order Dispatcher assign tasks to workers based on skills registered in training system Worker get notified of task on their mobile Worker acknowledges task 6. 7. 1. 8. 9. 10. 11. 12. 13. Alternative: Periodic trigger Alternative: If worker rejects task, system marks it as unassigned and alerts dispatcher Worker performs task Worker registers the task as done Worker registers time and materials spent on task on mobile System notifies payroll of time spent System submits invoicing data to accounting system Building is in great shape!
  54. 54. Stories 0. (Mock work orders) 1. Complete list of work orders 2. Simple work order filter 3. Placeholder display work order 4. Placeholder assign task
  55. 55. Example: Dispatch a task 1. 2. 3. 4. 5. 6. 7. 8. 9. Faked: Building manager registers a work order Dispatcher “logs into” web admin at http://test.workers.com/admin Dispatcher sees a list of missions (future: sort, filter list) Dispatcher selects a mission Mission will display the type of tasks associated with the mission type Dispatcher clicks a task Application lists all the workers that can be assigned to the task (for now, all workers are listed) Dispatcher selects a worker Dispatcher is returned to mission screen and the worker is listed next to the task
  56. 56. Stories – sprint 2 1. Polished list of work orders 2. Complete display work order 3. (Placeholder worker import) 4. Simple assign task
  57. 57. Typical plan for kickoff Monday Tuesday Wednesday Elevator pitch, Stakeholders Dev baseline Dev baseline Define Review usage progress, Stories Wrap up docs Dev baseline Lunch Lunch Lunch Lunch Lunch Usage review, Context, Domain, Deployment Refine models Review, Retrospective Plan week 2 Look at what’s Usage flow going on today Dev baseline Thursday Friday
  58. 58. 3 tools
  59. 59. 1. Discuss the problem 2. Describe the system 3. Plan the show
  60. 60. 1. Elevator pitch 2. Context diagram 3. Demo script
  61. 61. Conclusion:
  62. 62. When you return: Create an elevator pitch with your customer Create a context diagram Create a demo script for next sprint
  63. 63. Thank you Johannes Brodwall jbr@exilesoft.com www.exilesoft.com www.johannesbrodwall.com @jhannes

×