Tema: Test First Positivist: Det som ikke kan måles, eksisterer ikke! Reduserer sjanser for defekter! Gir en oppdatert ”TODO-liste” Gir trygghet til å.

Slides:



Advertisements
Liknende presentasjoner
Kombinatorikk for lærerstudenter
Advertisements

Kurs for kulturvertene
Teknologi i klasserommet
Hva er de største problemene med softwareprosjekter?
Brukertesting •Lærefil fra •© 2004 Nina Furu.
Elkem Research Prosess IT
Høgskolen i Oslo - GM Vær metodisk  Definer og forstå problemet  Spesifiser hva du har av hardware  Lag en prototyp av brukersnittet  Design.
Kan arbeidsmetodikken i IT-prosjekter overføres til rådgiverene ? VIANOVA Network Meeting 2013 Geir Andersen/Vianova Systems AS.
Uke 10 - Sortering, og hvordan lage en klasse for et klassebibliotek 21 okt. 2003, Arne Maus Inst. for informatikk, UiO.
Copyright © 2009, CIBER Norge AS 1 Scrum i ikke-utviklingsprosjekter Mario Aparicio.
Test-Drevet Utvikling Bowling med
Forskningsmetoder i informatikk
Elementer av en utviklingsprosess
Test-Drevet Utvikling Bowling med extremeprogramming.no.
Grunnleggende spørsmål om naturfag
Test-Drevet Utvikling Bowling med
Om smidig brukerkommunikasjon Smidig 2011 Johannes Brodwall Steria Norway.
Foreldresamarbeid Kan vi gjøre det enda bedre ?
Arkitekter skal skape verdi Espen Berger TANDBERG.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
© PROGRAM UTVIKLING as Vellykkede prosjekter leverer hyppig Johannes Brodwall, Steria Chief Scientist, Utvikler, Arkitekt, Sertifisert ScrumMaster.
Tema: Introduksjon Hvorfor Velocity? Installasjon Velocity VS. JSF / JSP Eksempler Oppsumering.
Grunnleggende testteori
Feilhåndtering. Feil er uunngåelige! Erfaring viser at feil i dataprogrammer som består av mer enn noen få linjer ikke er til å unngå. For å få et godt.
Fag LO189D - Objektorientert programmering Objektorientert programmering© Else Lervik, TISIP - HiST/IDB vår-99Leksjon 11 Applet’s Hva karakteriserer applet’sside.
1 App_A_17 Et eksempel på OOP knyttet til 2-dim figurer.
Patterns (mønstre) Patterns er erfaringer Patterns er best-practices Patterns er how-to Patterns er velkjent design Larman: ” ’new Pattern’ is an Oxymoron”
Hovedprinsipper i Rational Unified Process
Patterns (mønstre) Patterns er erfaringer Patterns er best-practices Patterns er how-to Patterns er velkjent design Larman: ” ’new Pattern’ is an Oxymoron”
Empiriske metoder Oppgaveanalyse, observasjon
Mange IT-prosjekter kunne med fordel vært drevet mer som en Lean Startup.
Automated Testing Tool & When to Stop Testing
Object Oriented Measurement
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Tema: Test First Positivist: Det som ikke kan måles, eksisterer ikke! Reduserer sjanser for defekter Gir en oppdatert ”TODO-liste” Gir trygghet til å gjøre.
Smidig-workshop for Agresso
  © Steria Hvordan bli en bedre utvikler? Johannes Brodwall, Chief scientist, Steria Cicero 23. juni, 2010.
  © Steria Å Lytte til koden Johannes Brodwall, Chief scientist, Steria Statkraft 16. april, 2010 Du kan lytte til koden.
  © Steria Å Lytte til koden Johannes Brodwall, Chief scientist, Steria Iterate 21. mai, 2010.
Arkitektur og smidighet
1. Vår høyeste prioritet er å tilfredsstille kunden gjennom å levere et verdifullt, kjørende system tidlig og kontinuerlig.
Opplev smidig programmering
Prosjektbase for Vox – et fleksibelt IT-prosjekt (case fra virkeligheten) NSP Temadag 18.februar 2004 Ola Grumstad, PMP, Daglig leder HolteProsjekt Solutions.
Velkommen til Faglig Forum! :-). Problemstilling For lang feedbackloop under utvikling når man skal bygge og starte vortex og klikke seg fram til riktig.
Dynamiske nettsider PHP Del 2 – Kontrollstrukturer.
Tema: Prosjektretrospektiver
Onsdag 13. mars Sam Eyde vgs
VI LAGER EN PLATEBUTIKK
Hvorfor bruke tid på testing ?
Programmering sif8005. Praktisk informasjon  Innleveringsfrist øvinger: mandag kl  Alle øvinger er obligatoriske  Studass tilgjengelig 6 timer.
Å omfavne forandringer med ekstrem programmering(XP) Brukt i In140 Skrevet av Ola Bø Bygger på Kent Becks artikkel "Embracing change with extreme programming."
Eziz Annagurban Veiledere: Sven-Olai Høyland Carsten Helgesen
Kontinuerlig kvalitetskontroll. Hvordan komme helt i mål.
Presentasjon av masteroppgave
PUG-NORWAY OKTOBER 2008 THOMAS SKJØRTEN, HILDE ANDREASSEN UML og OpenEdge OOABL.
Prosjektledelse In 140 Forelesning Nr 18 a Sommerville kap
BUCS Utfordringer og valg av fokus Tor Stålhane. Rammebetingelser Første spørreundersøkelse viser at det vi gjør må kunne: Brukes sammen med UML Passe.
Object  Klassen i java  Alle klasser arver fra denne om ikke noe annet blir spesifisert  ArrayList.add(Object instans)  Alle elementer formes til Object.
Ekstra mange tips til Oblig 3! 12. mars 2007 Are Magnus Bruaset og Arild Waaler Inst. for informatikk, UiO.
Byggeklosser i java  Klassedefinisjon  Variabel deklarasjon  Metodedeklarasjoner  En ordentlig klasse  Spesielle/kryptiske skrivemåter  løkker og.
Drop-In metoden En metode for å veilede elever til en mer positiv elevrolle Fra bekymring til forandring gjennom samtale, veiledning og oppfølging Utviklet.
INF1000 (Uke 4) Mer om forgreninger, While-løkker
Android Programmering 10 timers kurs. Forutsetninger Noe bakgrunn i Java eller et annet objektorientert språk Litt peiling på XML Vi bruker Windows 7.
Kap. 23 – Software Engineering How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen,
Forbedringssamlingen
Hva er XP ? Ikke ekstrem, men heller meget forsiktig
IN3030 – Effektiv parallellprogrammering Uke 1 2. del, våren 2019
Utskrift av presentasjonen:

Tema: Test First Positivist: Det som ikke kan måles, eksisterer ikke! Reduserer sjanser for defekter! Gir en oppdatert ”TODO-liste” Gir trygghet til å gjøre senere endringer Tvinger fram et lavere koblet design  Forbedrer designet rett ut fra startgropen Gir ”Just-in-Time” Analyse

Tema: Tester De beste testene tester enheter Dersom testene ikke har fanger nok feil: Oppnevn en prosjekt-sabotør (test testene) Dersom feil oppstår i integrasjon Kartlegg hvilken enhet som oppfører seg feil Introduser tester som verifiserer mot dette For å teste at en klasse kaller de riktige metodene på en annen: Bruk ”Mock objects” for å teste rekkefølgen på kallene

Tema: Spikes Hva gjør man dersom man skal estimere hvor lang tid det vil ta å lage et hull i isen? Slår en tynn stake gjennom den Spike er et lite program som lages for å teste noe og som så kastes Typer: Performance Spike (gjør kall mot webserveren) Arkitektur Spike Estimerings-spike (for å vite mer om hvor lang tid noe kommer til å ta)

XP & Design XP gjør ikke en stor designjobb på forhånd XP fokuserer på Enkelhet Betyr dette at XP er ”imot design”? NEI!: Istedet designer vi når vi vet hva vi skal designe Et enkelt program betyr det dette er mulig Grundig testing betyr vi vet når vi ødelegger noe Et design som ikke er uttrykket i kode eksisterer ikke!

Tema: Refactoring Programmet skal: Passere alle tester Si alt som må sies Ikke gjenta seg selv Ha færrest mulig klasser og metoder Understøttes av enhetstestene Angriper ”code-smells” (Ender ofte opp på Patterns)

Eksempel: Før public void mouseDragged(MouseEvent e) { if (m_resizeComponent.getWidth() + e.getX() >= MIN_WIDTH) m_resizeComponent.setBounds(m_resizeComponent.getX(), m_resizeComponent.getY(), m_resizeComponent.getWidth() + e.getX(), m_resizeComponent.getHeight()); else m_resizeComponent.setBounds(m_resizeComponent.getX(), m_resizeComponent.getY(), MIN_WIDTH, m_resizeComponent.getHeight()); m_resizeComponent.validate(); }

Refactoring - Etter protected void adjustWest(Rectangle rect, MouseEvent e) { int newWidth = Math.max(rect.width–e.getX(), MIN_WIDTH); int deltaX = newWidth – rect.width; rect.x -= deltaX; rect.width += deltaX; } public void mouseDragged(MouseEvent e) { Rectangle rect = m_resizeFrame.getBounds(); adjustWest(rect, e); m_resizeFrame.setBounds(rect); m_resizeFrame.validate(); }

Tema: Planlegging User Stories gir en uformell beskrivelse Samtale med kunden gir mer utfyllende info Akseptanse-tester verifiserer forståelsen Dette er primær tilbakemelding til kunden Forrige iterasjoner gir Project Velocity (Starter på 1 User Story enheter/3 person- uke) Engineering Tasks gir uformelle TODO Daglige Stand-up møter viser status Et prosjektmedlem bør være ”Tracker”

Tema: XP og CMM CMM er ikke en prosess, men et prosess- forbedrings rammeverk XP fokuserer på mange av de samme tingene som CMM: Kvalitetsikring, metoder, måling, forbedring XP passer relativt bra inn i CMM rammeverket For mer info – se

Tema: XP og CMM, level 3-5 SEI Level Three – Defined XP Passer som hånd i hanske 12 extreme practices User Stories + Tester SEI Level Four – Managed Flere kvantitive målinger og mål kan trenges SEI Level Five – Optimizing Når defekter oppstår, skriver man tester for å demonstrere dem

Cost of Anticipatory Design Invested Cost and Design Complexity Time ’A’ needed’B’ needed Cost of A Cost of B

Tema: Parvis Programmering To programmere sitter ved samme maskin Den med tastaturet tenker kortsiktig (sjåfør), den andre tenker langsiktig og gir konstant review (kartleser) Rollene byttes ofte Parene rokeres ofte (oftere enn daglig)