Smidig arkitektur

Post on 22-Jan-2016

35 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Smidig arkitektur. Johannes Brodwall Chief Scientist. “ How do you start a project and achieve flexibility at the beginning ?”. “ How do you {start a project} and achieve flexibility at the beginning ?”. Keep it simple. Defer commitment. Inspect and adapt. It depends. 5 tools. - PowerPoint PPT Presentation

Transcript

Johannes BrodwallChief Scientist

Smidigarkitektur

“How do you start a project and achieve

flexibility at the beginning?”

“How do you {start a project} and achieve

flexibility at the beginning?”

Keep it simple

Defer commitment

Inspect and adapt

It depends

5 tools

1. Discuss the problem

2. Describe the usage

3. Pick the technologies

4. Plan the show

5. Create the software

When

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

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 workers

Who wants to get paid for good fun work

The Awesome work system

Is a digitial pimping system

Which matchers worker with a client.

Unlike the Excel file we’re using now

This automateted, online, easy to use and .

Who?

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 maintainance tasks all the time via specialized application

Several hundred 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

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

Personell

Accounting

Dispatcher

Building manager

Pick the technologies

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

Plan the show

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

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

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

Create the software

Example:• Feature: Dispatch task

• New codebase• 5 developers

Solo programming

Solo programming• Integration issues

• Inconsistent coding• Merge conflicts

Mob programming

Pair programming

Resource utilization

vs

Knowledge sharing

5 tools

1. Discuss the problem

2. Describe the usage

3. Pick the technologies

4. Plan the show

5. Create the software

1. Describe stakeholders

2. Usage flow => context diagram

3. Use technologies you know

4. Demo script

5. Mob programming

Conclusion:

When you return:Create a elevator pitchwith your

customerCreate a context diagram

Create a demo script for next sprint

Tusen takkJohannes Brodwall

jbr@exilesoft.com

www.exilesoft.com

www.johannesbrodwall.com

@jhannes

top related