Lean i Softwareudviklingen Af Boris Wortmann og Claus Holm
Her er girafferne Boris Wortmann, Business Developer Civ.Ing. International Teknologi Planlægning MBA i International Management Projektsalg i Chile (Engineer-to-order) Modularisering af dokumentationen Projektleder på udviklingsprojekter om anvendelse af produktmodeller til understøttelse af ordrebehandlingsprocessen Seniorkonsulent med speciale i optimering af informationsbaserede leveranceprocesser Claus Holm, Salgsdirektør MBA i International Strategi 18 års erfaring fra IT branchen Erfaring fra opstart og salg 4. gange Boet i Danmark, Tyskland, Frankrig, Spanien og USA
Korte facts Etableret 2000 35 medarbejdere + tilknyttede konsulenter 85 % af medarbejdere er Ingeniører 1 af 7 ISV Gold Certified selskaber Top 5 Entrepreneur of the year MS ISV Worldwide Award Nomineret
Mission GoApplicate s missions erklæring: Better software faster GoApplicate er en lokal software udviklingspartner, som gennem tæt dialog, opbygger viden om kundens forretning, som med effektive processer, omsætter denne viden til løsninger, som med engagerede medarbejdere, kontinuerligt stræber efter forbedringer, som ved fleksible og omkostningsfokusering, driver en profitabel forretning. GoApplicate investerer i services, produkter og processer, som sikrer kunderne best value for money. GoApplicate Strategi
Udvalgte løsningstyper Administrative løsninger - Salgskonfiguration og produktkonfiguration - Økonomisystem til benzin selskab - Handelsløsning til el-branchen - Dynamisk billedgenerator Kommunikationsløsninger - Måling og analyse af netværkstrafik - Opbygning og drift af sikret mobilt net Styringer og maskinløsninger - Styringer til sorteringsmaskiner, røntgenmaskiner, skannere, rader - Styring af vindmøller, vindmølleparker, kraftvarme værker, fly Overvågningsløsninger - Olie spild og spredningsanalyse - Trafikovervågning af danske broer
Løsninger - Fokusering Platform Share Point Teknologi.Net BI Fysiske kilder AppFabrik Cloud Silverlight Situation WCF/WWF Business Productivity BizTalk Arkitektur (SOA) Elektroniske kilder Rolle Mobil GSM/ GPS/3G Mail services Konfiguration Security Shared services Management dashboard Applications Databases Reporting services Generic Model Single sign-on Global Services Løsninger Konfiguration Global Monitorering Dokument styring Data Management Business Intelligence Business Intelligence
Vores motivation for Lean Komme væk fra brugtvognsforhandleren Vi skal kunne hjælpe hinanden Ledelsen er lusen mellem 2 negle Medarbejderne knokler Kunden er ikke tilfreds Løbende forbedrende kultur Kort tid fra forbedringsindsats til effekt
Hvad har vi opnået Kundes verden Organisatorisk niveau Salg Udv Prod QA Øko Logi Udviklingsafdeling Udviklingsmetode Team A Proj. 1 Agile/ Scrum Team B Proj. 2 Agile/ Scrum Proj. 3 n Lean har betydet : - Ordrestyring - Resursestyring - Økonomistyring - Leverancestyring - Projektstyring - Porteføljestyring - Sprintstyring - Dialogstyring - Prioritetsstyring -.
De 5 grund principper # 1 1 1. Identify Customer Value 2. Value stream mapping and reduce waste 3 3. Create flow 2 4. Introduce Pull 5. Pursue perfection And how does this apply to Software Development?
Lean # 1 - Kundeværdi PETERS HOSPITALSOPLEVELSE
De 5 grund principper # 5 1 1. Identify Customer Value 2. Value stream mapping and reduce waste 3 3. Create flow 2 4. Introduce Pull 5. Pursue perfection And how does this apply to Software Development?
Lean # 5 Stræb efter perfektion HVAD ER DINE 18 HULLER
Lean # 5 Stræb efter perfektion
De 5 grund principper # 1 1 1. Identify Customer Value 2. Value stream mapping and reduce waste 3 3. Create flow 2 4. Introduce Pull 5. Pursue perfection And how does this apply to Software Development?
Lessons learned: Improving lead time Praktiske 1: Reducing projects in process Teoretiske A: Little s Theorem (law of lead time) 2: Improve learning 3: Prioritizing decisions B: Queuing Theory (Law of variation) 4: Match uncertainty with flexibility
CASE 1: FRA IDE TIL BACKLOG
Vandfaldsmodel 5½ år senere Idé Beskrivelse Aftale Udvikling Nye behov 2 år ½ år 3 år Kilde: Advokat Bender, von Haller, Dragsted
Agile udvikling Vi skal bare flytte 2 kasser æbler undervejs kom der flere til!!!
I hvilket projekt ville du investere?
Lean # 1 - Kundeværdi IT udvikling = IT investering A Forretningbehov B Forretningfordel Kroner Cost (1) Benefit (2) Tid (3) X Usikkerhed (4)
Hvornår er en kravspecifikation godt nok?
Typer af risici Markeds krav Produkt specifikation Produkt design Markeds risiko Teknisk risiko
Opbygning af vores Project Foundation ProjektFoundation K L T FR TR
Risiko Baggrund Fokus Område Opbygning af vores Project Foundation Kundedomæne Projektejer Slutkunde Indhold Statisk view Løsningdomæne Dynamisk view Deployment view Statisk view Teknologidomæne Dynamisk view Deployment view Forretningsmæssig risiko Teknisk risiko
Prioritize decisions Project Foundation
Baggrund Kundedomæne Projektejer Slutkunde Statisk view Løsningdomæne Dynamisk view Deployment view Statisk view Teknologidomæne Dynamisk view Deployment view Risiko Fokus Projektide Projekt Baggrund Modenhed Bruger- Roller Designdrivers - availability - security - modifiability - testability - performance - useability User Stories Forretningsmæssig risiko Dynamik/ stabilitet Workflow Kendskab System diagram Businessdrivers - time-2-market - Targeted market - Cost-Benefit - Roll-out shedule - projected lifetime - integration with legacy system Domæne model Dataflow Milepæls plan Kompetence Architectural Qualities - Conceptual integrity - Correctness and completeness - Buildability SW Arkitektur Løsningsrum Interfaces & Integration DB model User Interface I/O Teknisk risiko Teknologisk modenhed Domaineviden Designpattern Component Comunication Snitflader Test Relaseplan
Lean # 5 Stræb efter perfektion Which numbers between 1-30 are missing? 7 2 15 23 29 1 14 17 11 9 26 13 19 27 30 4 8 24 3 28 12 5 25 10 21 18 20 16
Lean # 5 Stræb efter perfektion Which numbers between 1-30 are missing? 1 2 3 4 5 6 7 9 10 11 12 13 14 15 16 17 18 19 20 21 22 24 25 26 27 28 29 30
Projekt Foundation Et dialogbaseret iterativ udviklingsmetode der har til formål at skabe et bedre beslutningsgrundlag for den forretningsmæssige investering. Der er - Spilleregler - Roller
Hovedtrin i en Project Foundation 1. Når interessant projektidegrundlag og relevante kompetencer er identificiseret 2. Når Projektgrundlaget er gennemgået med hele teamet 3. Når business casen er er vurderet (mulig exit) 4. Når ricisi, såvel markeds som tekniske, er identificeret i fællesskab 5. Når prioriteret opgaveliste for at modne projektideen yderlig er identificeret
Hvem deltager? Fra leverandørsiden: - Chief Entreprenør - Resonsible Expert (typisk en lead architekt) Fra Investorsiden: - Projekt sponsor - User Proxy - Evt. Teknisk counterpart Praktisk roller: - Mødeindholdsleder - Timekeeper - Referatskriver
CASE 2: SALGSTYRING
Lean # 5 Stræb efter perfektion Salgstavlen 2-3 ledig <1 mdr X X X X X mdr X X X 4-6 mdr X X X X X X X X >7 mdr 0 1 3 4 6 ledig <1 mdr X X X X X 2-3 mdr X X X 4-6 mdr X X X X X X X X >7 mdr 0 1 3 4 6 Tomt flet = ønsket fordeling Kryds = Overbelægning Grøn brik = resurse
Lean # 3-4-5 Spild, flow, pull Forretningbehov Forretningfordel IMPROVING LEAD TIME
Lean # 3-4-5 Spild, flow, pull KORT OM SPILD Værditilvækst Spild Typisk 30 % Typisk 70 % Identificer områder som ikke bidrager direkte til kundeværdi og flyt det til værdiskabende tid.
Lean # 3-4-5 Spild, flow, pull KORT OM FLOW Reducer tiden fra kunden bestiller en vare til han har den i hånden så meget som muligt.
Lean # 3-4-5 Spild, flow, pull KORT OM PULL Gør kun det som kunden efterspørger, såvel udtalte som uudtalte behov. Hvad efterspurgte Peter?
Lean # 3-4-5 Improving lead time Improving lead time in project development is based on the following 4 lessons: 1: Reducing projects in process 2: Improve learning 3: Prioritizing decisions 4: Match uncertainty with flexibility
Reducing project in process The law of Lead time (Little s Law) Number of Things-in-Process Average Lead Time = Average Completion Rate Time Consumed /Task Large batch / high variation Law of Variation Small batch / low variation 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% % Utilization of Project Resources
Reducing project in process Time Consumed /Task < 80% Små batch Large batch / high variation Small batch / low variation Lav ankomst variation Lav variation i opgavelængde 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% % Utilization of Project Resources
Impact on Delays Reducing project in process The Sources of Delays Expontentialy longer Longer # of crosstrained resources Shorter High variation in task time High % utilization of resources High variation and % utilization of resources
Reducing project in process Number of Things-in-Process Average Lead Time = Average Completion Rate A B C A B C P1 P2 P3 Better Learning (shorter feedback loop) Higher overall Delivery Reliability Easier Ressource Planning
Reducing project in process If we have no control over the number of projects-in-process, we have no control over the lead time Fewer projects in process Less code on stock Higher flexibility Better on time completion ratio Increased productivity
Lean # 3-4-5 Improving lead time Improving lead time in project development is based on the following 4 lessons: 1: Reducing projects in process 2: Improve learning 3: Prioritizing decisions 4: Match uncertainty with flexibility
Improve learning Creating flow is about making sure we are on track to creating customer value Close and ongoing interaction will ensure that we maintain on track.
Improve learning Creating flow is about ensuring the customer s constant and consistent interaction Time slot and size boxing ensures feed back.
Improve learning
Lean # 3-4-5 Improving lead time Improving lead time in project development is based on the following 4 lessons: 1: Reducing projects in process 2: Improve learning 3: Prioritizing decisions 4: Match uncertainty with flexibility
Prioritizing decisions Consequences of our Decisions Knowledge about the problem High Improvement strategies Delay desicions Improve learning Low Time [Riis]
Prioritize decisions Prioritization of tasks How 1. Best feedback on customer value 2. Focus learning on the highest risk areas 1. Task classification 2. User Stories 3. Project Foundation Board $ ~
Prioritize decisions Lesson # 3 Prioritizing decisions Less rework Better prepared for delegating work to collegues when time is short
Lean # 3-4-5 Improving lead time Improving lead time in project development is based on the following 4 lessons: 1: Reducing projects in process 2: Improve learning 3: Prioritizing decisions 4: Match uncertainty with flexibility
Prioritizing decisions Consequences of our Decisions Knowledge about the problem High Improvement strategies Delay desicions Improve learning Low Time [Riis]
Uncertainty with flexibility Productivity 100% Time
Uncertainty with flexibility Poul Per Palle T T K K L L T K L K T L K T T L K L Poul Per Palle K K L L T T K K L L T T K K L L T T
Uncertainty with flexibility Resources Ved at styre fleksibilitet i forhold til opbygning af viden får vi mulighed for at udskyde bestutninger og øge indsatesen ved point of no return. Point of no return Time
Lean # 3-4-5 Improving lead time Improving lead time in project development is based on the following 4 lessons: 1: Reducing projects in process 2: Improve learning 3: Prioritizing decisions 4: Match uncertainty with flexibility
1 øvelse til i morgen 1: Hvad er det vigtigste for kunden i det projekt vi arbejder på lige nu? 2: Hvad er de største bomber i det projekt vi arbejder på lige nu? 3: Hvad er de opgaver du arbejder på lige nu?
1 øvelse til i overmorgen
Tak for opmærksomheden Af Boris Wortmann og Claus Holm