View
219
Download
0
Category
Preview:
Citation preview
Johannes Brodwall
Getting yourproject off the
ground
Bootstrapping a team
Raising the team engagement
Turning a corner
Growing the team
“How do you start a project and achieve
understanding at the beginning?”
“How do you {start a project} and achieve understanding at the
beginning?”
Keep it simple
Defer commitment
Inspect and adapt
It depends
Concrete tools fornon-superheroes
3 tools
1. Discuss the problem
2. Understand who’s involved
3. Describe what it does
4. Visualize the context
5. Understand the domain
6. Lay down the foundation
7. Dramatize the demo
When
Monday Tuesday Wednesday Thursday Friday
Elevator pitch,Stakeholders
Dev baseline Dev baselineReview usage
Define progress,Stories
Wrap up docsDev baseline
Lunch Lunch Lunch Lunch Lunch
Look at what’s going on today
Usage flowDev baseline
Usage review,Context,Domain,Deployment
Refine models
Review,RetrospectivePlan week 2
Typical plan for kickoff
Monday Tuesday Wednesday Thursday Friday
Elevator pitch,Stakeholders
Dev baseline Dev baselineReview usage
Define progress,Stories
Wrap up docsDev baseline
Lunch Lunch Lunch Lunch Lunch
Look at what’s going on today
Usage flowDev baseline
Usage review,Context,Domain,Deployment
Refine models
Review,RetrospectivePlan week 2
Typical plan for kickoff
Discuss the problem
The problem:
“A program to assign a worker to a client”
The problem:
“A program to assign a worker to a client”
(yes, it’s unclear!)
Form groups of 3 (or 2)
You will have five minutes to discuss
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.
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.
Who?
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.
Who
Worker
Dispatcher
Building manager
Client
Who?# Clients do ??? every ??? via ???
# Dispatchers do ??? every ??? via ???
# Workers do ??? every ??? via ???
# Building Managers do ??? every ??? via ???
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
Who else?Payroll
Monday Tuesday Wednesday Thursday Friday
Elevator pitch,Stakeholders
Dev baseline Dev baselineReview usage
Define progress,Stories
Wrap up docsDev baseline
Lunch Lunch Lunch Lunch Lunch
Look at what’s going on today
Usage flowDev baseline
Usage review,Context,Domain,Deployment
Refine models
Review,RetrospectivePlan week 2
Typical plan for kickoff
Describe the usage
1. Need: Someone identifies a need
2. Trigger: Someone does something with the system
3. The system responds in some way
4. …
5. …
6. The goal has been fulfilled
1. Building manager has works that needs done (e.g. change mats)1. Alternative: Periodic trigger
2. Building manager register works request on web site
3. Dispatcher lists unhandled work orders1. Alternative: Dispatcher filters, searches and sorts work orders
4. Dispatcher displays work order
5. Dispatcher assign tasks to workers based on skills registered in training system
6. Worker get notified of task on their mobile
7. Worker acknowledges task1. Alternative: If worker rejects task, system marks it as unassigned and
alerts dispatcher
8. Worker performs task
9. Worker registers the task as done
10. Worker registers time and materials spent on task on mobile
11. System notifies payroll of time spent
12. System submits invoicing data to accounting system
13. Building is in great shape!
Worker
Mobile
Server
Payroll
Personell
Accounting
Dispatcher
Building manager
Worker
Mobile
Server
Payroll
Accounting
Dispatcher
Building manager
Monday Tuesday Wednesday Thursday Friday
Elevator pitch,Stakeholders
Dev baseline Dev baselineReview usage
Define progress,Stories
Wrap up docsDev baseline
Lunch Lunch Lunch Lunch Lunch
Look at what’s going on today
Usage flowDev baseline
Usage review,Context,Domain,Deployment
Refine models
Review,RetrospectivePlan week 2
Typical plan for kickoff
Laying down foundation
Constraints:• Interact per user
• Portability• Supported platform
Example:• Dispatcher: ____
• Building manager: ____• Worker: ____
• Supported platform: Java stack
Example:• Dispatcher: Web or desktop
• Building manager: Web or any mobile• Worker: Provided mobile
• Supported platform: Java stack
Example:• Dispatcher: “HTML5”
• Building manager: Responsive web• Worker: Android
• Supported platform: Java stack
Example:• Dispatcher: Responsive web SPA
• Building manager: Responsive web SPA
• Worker: Responsive web SPA
• Supported platform: Java stack
Frameworks:• What can the team support
• Max one: Project risk or tech risk
Example risky project:• New team
• New supplier• New domain
• New codebase
Example risky tech:• New database system
• New framework• New programming
language
Solo programming
Solo programming• Integration issues
• Inconsistent coding• Merge conflicts
Mob programming
Pair programming
Resource utilization
vs
Knowledge sharing
Monday Tuesday Wednesday Thursday Friday
Elevator pitch,Stakeholders
Dev baseline Dev baselineReview usage
Define progress,Stories
Wrap up docsDev baseline
Lunch Lunch Lunch Lunch Lunch
Look at what’s going on today
Usage flowDev baseline
Usage review,Context,Domain,Deployment
Refine models
Review,RetrospectivePlan week 2
Typical plan for kickoff
Plan the show
Demo script
1. Preconditions
2. Start up the system
3. What do you see?
4. Activate a function
5. What do you see?
6. Activate variations of function
7. Thus we demonstrate that we have delivered x
1. Building manager has works that needs done (e.g. change mats)1. Alternative: Periodic trigger
2. Building manager register works request on web site
3. Dispatcher lists unhandled work orders1. Alternative: Dispatcher filters, searches and sorts work orders
4. Dispatcher displays work order
5. Dispatcher assign tasks to workers based on skills registered in training system
6. Worker get notified of task on their mobile
7. Worker acknowledges task1. Alternative: If worker rejects task, system marks it as unassigned and
alerts dispatcher
8. Worker performs task
9. Worker registers the task as done
10. Worker registers time and materials spent on task on mobile
11. System notifies payroll of time spent
12. System submits invoicing data to accounting system
13. Building is in great shape!
1. Building manager has works that needs done (e.g. change mats)1. Alternative: Periodic trigger
2. Building manager register work order on web site
3. Dispatcher lists unhandled work orders1. Alternative: Dispatcher filters, searches and sorts work orders
4. Dispatcher displays work order
5. Dispatcher assign tasks to workers based on skills registered in training system
6. Worker get notified of task on their mobile
7. Worker acknowledges task1. Alternative: If worker rejects task, system marks it as unassigned and
alerts dispatcher
8. Worker performs task
9. Worker registers the task as done
10. Worker registers time and materials spent on task on mobile
11. System notifies payroll of time spent
12. System submits invoicing data to accounting system
13. Building is in great shape!
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
Example: Dispatch a task
1. Faked: Building manager registers a work order
2. Dispatcher “logs into” web admin at http://test.workers.com/admin
3. Dispatcher sees a list of missions (future: sort, filter list)
4. Dispatcher selects a mission
5. Mission will display the type of tasks associated with the mission type
6. Dispatcher clicks a task
7. Application lists all the workers that can be assigned to the task (for now, all workers are listed)
8. Dispatcher selects a worker
9. Dispatcher is returned to mission screen and the worker is listed next to the task
Stories – sprint 2
1. Polished list of work orders
2. Complete display work order
3. (Placeholder worker import)
4. Simple assign task
Monday Tuesday Wednesday Thursday Friday
Elevator pitch,Stakeholders
Dev baseline Dev baselineReview usage
Define progress,Stories
Wrap up docsDev baseline
Lunch Lunch Lunch Lunch Lunch
Look at what’s going on today
Usage flowDev baseline
Usage review,Context,Domain,Deployment
Refine models
Review,RetrospectivePlan week 2
Typical plan for kickoff
3 tools
1. Discuss the problem
2. Describe the system
3. Plan the show
1. Elevator pitch
2. Context diagram
3. Demo script
Conclusion:
When you return:Create an elevator pitch with your
customerCreate a context diagram
Create a demo script for next sprint
Thank youJohannes Brodwall
jbr@exilesoft.com
www.exilesoft.com
www.johannesbrodwall.com
@jhannes
Recommended