53
Johannes Brodwall Chief Scientist Smidig arkitektur

Johannes Brodwall Chief Scientist Smidig arkitektur

Embed Size (px)

DESCRIPTION

“How do you start a project and achieve flexibility at the beginning?”

Citation preview

Page 1: Johannes Brodwall Chief Scientist Smidig arkitektur

Johannes BrodwallChief Scientist

Smidigarkitektur

Page 2: Johannes Brodwall Chief Scientist Smidig arkitektur
Page 3: Johannes Brodwall Chief Scientist Smidig arkitektur

“How do you start a project and achieve

flexibility at the beginning?”

Page 4: Johannes Brodwall Chief Scientist Smidig arkitektur

“How do you {start a project} and achieve

flexibility at the beginning?”

Page 5: Johannes Brodwall Chief Scientist Smidig arkitektur

Keep it simple

Defer commitment

Inspect and adapt

It depends

Page 6: Johannes Brodwall Chief Scientist Smidig arkitektur

5 tools

Page 7: Johannes Brodwall Chief Scientist Smidig arkitektur

1. Discuss the problem2. Describe the usage3. Pick the technologies4. Plan the show5. Create the software

Page 8: Johannes Brodwall Chief Scientist Smidig arkitektur

When

Page 9: Johannes Brodwall Chief Scientist Smidig arkitektur

Monday Tuesday Wednesday Thursday Friday

Goal,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

Stakeholder,Usage

Usage review,Context,Domain,Deployment

Refine models

Review,Retrospective

Typical plan for kickoff

Page 10: Johannes Brodwall Chief Scientist Smidig arkitektur

Discuss the problem

Page 11: Johannes Brodwall Chief Scientist Smidig arkitektur

The problem:“A program to assign a

worker to a client”

Page 12: Johannes Brodwall Chief Scientist Smidig arkitektur

The problem:“A program to assign a

worker to a client”(yes, it’s unclear!)

Page 13: Johannes Brodwall Chief Scientist Smidig arkitektur

Form groups of 3 (or 2)You will have five minutes

to discuss

Page 14: Johannes Brodwall Chief Scientist Smidig arkitektur

For some user/stakeholderWho wants to achive some goal

The name of the systemIs a type of system

Which lets them perform some operation(s).

Unlike most compelling alternativeThis gives them some advantages.

Page 15: Johannes Brodwall Chief Scientist Smidig arkitektur

For workersWho wants to get paid for good fun work

The Awesome work systemIs a digitial pimping system

Which matchers worker with a client.

Unlike the Excel file we’re using nowThis automateted, online, easy to use and .

Page 16: Johannes Brodwall Chief Scientist Smidig arkitektur

Who?

Page 17: Johannes Brodwall Chief Scientist Smidig arkitektur

Who?# Clients do ??? every ??? via ???

# Dispatchers do ??? every ??? via ??? # Workers do ??? every ??? via ???

# Building Managers do ??? every ??? via ???

Page 18: Johannes Brodwall Chief Scientist Smidig arkitektur

Who?Tens of Clients sign up for service a few times every year via

meetingsAround 20 Dispatchers assign worker teams to maintainance

tasks all the time via specialized application Several hundred Workers accept tasks and confirm tasks a

few times per day via mobileHundreds of Building Managers order maintenance tasks for

their buildings every few days via web

Page 19: Johannes Brodwall Chief Scientist Smidig arkitektur

Who else?Payroll

Page 20: Johannes Brodwall Chief Scientist Smidig arkitektur

Describe the usage

Page 21: Johannes Brodwall Chief Scientist Smidig arkitektur

1. Need: Someone identifies a need2. Trigger: Someone does

something with the system3. The system responds in some

way4. …5. …6. The goal has been fulfilled

Page 22: Johannes Brodwall Chief Scientist Smidig arkitektur

1. Building manager has works that needs done (e.g. change mats)1. Alternative: Periodic trigger

2. Building manager register works request on web site3. Dispatcher lists unhandled work orders

1. Alternative: Dispatcher filters, searches and sorts work orders4. Dispatcher displays work order5. Dispatcher assign tasks to workers based on skills registered in

training system6. Worker get notified of task on their mobile7. Worker acknowledges task

1. Alternative: If worker rejects task, system marks it as unassigned and alerts dispatcher

8. Worker performs task9. Worker registers the task as done10. Worker registers time and materials spent on task on mobile11. System notifies payroll of time spent12. System submits invoicing data to accounting system13. Building is in great shape!

Page 23: Johannes Brodwall Chief Scientist Smidig arkitektur

Worker

Mobile

Server

Payroll

Personell

Accounting

Dispatcher

Building manager

Page 24: Johannes Brodwall Chief Scientist Smidig arkitektur

Worker

Mobile

Server

Payroll

Personell

Accounting

Dispatcher

Building manager

Page 25: Johannes Brodwall Chief Scientist Smidig arkitektur

Pick the technologies

Page 26: Johannes Brodwall Chief Scientist Smidig arkitektur

Constraints:• Interact per user

• Portability• Supported platform

Page 27: Johannes Brodwall Chief Scientist Smidig arkitektur

Example:• Dispatcher: ____

• Building manager: ____• Worker: ____

• Supported platform: Java stack

Page 28: Johannes Brodwall Chief Scientist Smidig arkitektur

Example:• Dispatcher: Web or desktop

• Building manager: Web or any mobile• Worker: Provided mobile

• Supported platform: Java stack

Page 29: Johannes Brodwall Chief Scientist Smidig arkitektur

Example:• Dispatcher: “HTML5”

• Building manager: Responsive web• Worker: Android

• Supported platform: Java stack

Page 30: Johannes Brodwall Chief Scientist Smidig arkitektur

Example:• Dispatcher: Responsive web SPA

• Building manager: Responsive web SPA• Worker: Responsive web SPA

• Supported platform: Java stack

Page 31: Johannes Brodwall Chief Scientist Smidig arkitektur

Frameworks:• What can the team support

• Max one: Project risk or tech risk

Page 32: Johannes Brodwall Chief Scientist Smidig arkitektur

Example risky project:• New team

• New supplier• New domain

• New codebase

Page 33: Johannes Brodwall Chief Scientist Smidig arkitektur

Example risky tech:• New database system

• New framework• New programming language

Page 34: Johannes Brodwall Chief Scientist Smidig arkitektur

Plan the show

Page 35: Johannes Brodwall Chief Scientist Smidig arkitektur

1. Building manager has works that needs done (e.g. change mats)1. Alternative: Periodic trigger

2. Building manager register work order on web site3. Dispatcher lists unhandled work orders

1. Alternative: Dispatcher filters, searches and sorts work orders4. Dispatcher displays work order5. Dispatcher assign tasks to workers based on skills registered in

training system6. Worker get notified of task on their mobile7. Worker acknowledges task

1. Alternative: If worker rejects task, system marks it as unassigned and alerts dispatcher

8. Worker performs task9. Worker registers the task as done10. Worker registers time and materials spent on task on mobile11. System notifies payroll of time spent12. System submits invoicing data to accounting system13. Building is in great shape!

Page 36: Johannes Brodwall Chief Scientist Smidig arkitektur

Stories0. (Mock work orders)1. Complete list of work orders2. Simple work order filter3. Placeholder display work order4. Placeholder assign task

Page 37: Johannes Brodwall Chief Scientist Smidig arkitektur

Demo script

Page 38: Johannes Brodwall Chief Scientist Smidig arkitektur

1. Preconditions2. Start up the system3. What do you see?4. Activate a function5. What do you see?6. Activate variations of function7. Thus we demonstrate that we have

delivered x

Page 39: Johannes Brodwall Chief Scientist Smidig arkitektur

Example: Dispatch a task

1. Faked: Building manager registers a work order2. Dispatcher “logs into” web admin at

http://test.workers.com/admin3. Dispatcher sees a list of missions (future: sort, filter list)4. Dispatcher selects a mission5. Mission will display the type of tasks associated with the

mission type6. Dispatcher clicks a task7. Application lists all the workers that can be assigned to the task

(for now, all workers are listed)8. Dispatcher selects a worker9. Dispatcher is returned to mission screen and the worker is

listed next to the task

Page 40: Johannes Brodwall Chief Scientist Smidig arkitektur

Stories – sprint 21. Polished list of work orders2. Complete display work order3. (Placeholder worker import)4. Simple assign task

Page 41: Johannes Brodwall Chief Scientist Smidig arkitektur

Create the software

Page 42: Johannes Brodwall Chief Scientist Smidig arkitektur

Example:• Feature: Dispatch task

• New codebase• 5 developers

Page 43: Johannes Brodwall Chief Scientist Smidig arkitektur

Solo programming

Page 44: Johannes Brodwall Chief Scientist Smidig arkitektur

Solo programming• Integration issues

• Inconsistent coding• Merge conflicts

Page 45: Johannes Brodwall Chief Scientist Smidig arkitektur

Mob programming

Page 46: Johannes Brodwall Chief Scientist Smidig arkitektur

Pair programming

Page 47: Johannes Brodwall Chief Scientist Smidig arkitektur

Resource utilizationvs

Knowledge sharing

Page 48: Johannes Brodwall Chief Scientist Smidig arkitektur

5 tools

Page 49: Johannes Brodwall Chief Scientist Smidig arkitektur

1. Discuss the problem2. Describe the usage3. Pick the technologies4. Plan the show5. Create the software

Page 50: Johannes Brodwall Chief Scientist Smidig arkitektur

1. Describe stakeholders2. Usage flow => context diagram3. Use technologies you know4. Demo script5. Mob programming

Page 51: Johannes Brodwall Chief Scientist Smidig arkitektur

Conclusion:

Page 52: Johannes Brodwall Chief Scientist Smidig arkitektur

When you return:Create a elevator pitchwith your

customerCreate a context diagram

Create a demo script for next sprint