Click here to load reader

Smidig arkitektur

  • View
    33

  • Download
    0

Embed Size (px)

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

Text of Smidig arkitektur

PowerPoint Presentation

Johannes BrodwallChief ScientistSmidigarkitektur

Hi Guys My Name is Ramesh Perera

And Im working as a Software Engineer for Exilesoft.

I hope you have got a great idea about our company from Finns Presentation

So now I would like to talk about the mobile development thats being done in our company

and some of the mobile projects that weve been working on that I think would be of interest for you guys1

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 simpleDefer commitmentInspect and adaptIt depends5 toolsDiscuss the problemDescribe the usagePick the technologiesPlan the showCreate the softwareWhenMondayTuesdayWednesdayThursdayFridayGoal,StakeholdersDev baselineDev baselineReview usageDefine progress,StoriesWrap up docsDev baselineLunchLunchLunchLunchLunchLook at whats going on todayStakeholder,UsageUsage review,Context,Domain,DeploymentRefine modelsReview,RetrospectiveTypical plan for kickoffDiscuss the problemThe problem:A program to assign a worker to a clientThe problem:A program to assign a worker to a client(yes, its unclear!)Form groups of 3 (or 2)You will have five minutes to discussFor some user/stakeholderWho wants to achive some goalThe name of the systemIs a type of systemWhich lets them perform some operation(s).

Unlike most compelling alternativeThis gives them some advantages.For some user/stakeholderWho wants to achive some goalThe name of the systemIs a type of systemWhich lets them perform some operation(s).

Unlike most compelling alternativeThis gives them some advantages.For workersWho wants to get paid for good fun workThe Awesome work systemIs a digitial pimping systemWhich matchers worker with a client.

Unlike the Excel file were using nowThis 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 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 webWho else?PayrollDescribe the usageNeed: Someone identifies a needTrigger: Someone does something with the systemThe system responds in some wayThe goal has been fulfilledNeed: Someone identifies a needTrigger: Someone does something with the systemThe system responds in some wayThe goal has been fulfilledBuilding manager has works that needs done (e.g. change mats)Alternative: Periodic triggerBuilding manager register works request on web siteDispatcher lists unhandled work ordersAlternative: Dispatcher filters, searches and sorts work ordersDispatcher displays work orderDispatcher assign tasks to workers based on skills registered in training systemWorker get notified of task on their mobileWorker acknowledges taskAlternative: If worker rejects task, system marks it as unassigned and alerts dispatcherWorker performs taskWorker registers the task as doneWorker registers time and materials spent on task on mobileSystem notifies payroll of time spentSystem submits invoicing data to accounting systemBuilding is in great shape!WorkerMobileServerPayrollPersonellAccountingDispatcherBuilding managerWorkerMobileServerPayrollPersonellAccountingDispatcherBuilding managerPick the technologiesConstraints:Interact per userPortabilitySupported platformExample:Dispatcher: ____Building manager: ____Worker: ____

Supported platform: Java stackExample:Dispatcher: Web or desktopBuilding manager: Web or any mobileWorker: Provided mobile

Supported platform: Java stackExample:Dispatcher: HTML5Building manager: Responsive webWorker: Android

Supported platform: Java stackExample:Dispatcher: Responsive web SPABuilding manager: Responsive web SPAWorker: Responsive web SPA

Supported platform: Java stackFrameworks:What can the team supportMax one: Project risk or tech riskExample risky project:New teamNew supplierNew domainNew codebaseExample risky tech:New database systemNew frameworkNew programming languagePlan the showBuilding manager has works that needs done (e.g. change mats)Alternative: Periodic triggerBuilding manager register work order on web siteDispatcher lists unhandled work ordersAlternative: Dispatcher filters, searches and sorts work ordersDispatcher displays work orderDispatcher assign tasks to workers based on skills registered in training systemWorker get notified of task on their mobileWorker acknowledges taskAlternative: If worker rejects task, system marks it as unassigned and alerts dispatcherWorker performs taskWorker registers the task as doneWorker registers time and materials spent on task on mobileSystem notifies payroll of time spentSystem submits invoicing data to accounting systemBuilding is in great shape!Stories0. (Mock work orders)Complete list of work ordersSimple work order filterPlaceholder display work orderPlaceholder assign taskDemo scriptPreconditionsStart up the systemWhat do you see?Activate a functionWhat do you see?Activate variations of functionThus we demonstrate that we have delivered xExample: Dispatch a taskExample: Dispatch a taskFaked: Building manager registers a work orderDispatcher logs into web admin at http://test.workers.com/adminDispatcher sees a list of missions (future: sort, filter list)Dispatcher selects a missionMission will display the type of tasks associated with the mission typeDispatcher clicks a taskApplication lists all the workers that can be assigned to the task (for now, all workers are listed)Dispatcher selects a workerDispatcher is returned to mission screen and the worker is listed next to the taskStories sprint 2Polished list of work ordersComplete display work order(Placeholder worker import)Simple assign taskCreate the softwareExample: Feature: Dispatch taskNew codebase5 developersSolo programmingSolo programmingIntegration issuesInconsistent codingMerge conflictsMob programmingPair programmingResource utilizationvsKnowledge sharing5 toolsDiscuss the problemDescribe the usagePick the technologiesPlan the showCreate the softwareDescribe stakeholdersUsage flow => context diagramUse technologies you knowDemo scriptMob programmingConclusion:When you return:Create a elevator pitchwith your customerCreate a context diagramCreate a demo script for next sprintTusen takkJohannes [email protected]

[email protected]