RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL,                              @RODMIDDE    1
DDOA       2
Keuze uit 15Semester              Combinatie                bepaalt               opleiding             Student kiest er  ...
INGEZOOMD: DDOA                                         7.5 ECTS 7.5 ECTS 15 ECTS          Project                  RODY M...
BEROEPSTAAK“Ontwikkel een gedistribueerde OO applicatie” Richt zich op veel aspecten van een software  engineeringsprojec...
COURSE EOA• Engineer an OO Application• OO, UML (class- en seqencediagrams),  Requirements,  Design Patterns, Use Cases, A...
COURSE DDA• Develop a Distributed Application• Parallel computing, Clean Code, Java,  Threading, RMI, JavaEE, Big-O, Ant, ...
PROJECT10 weken5 studentenAgile aanpak: ScrumGastcolleges en workshops van IT-bedrijven InfoSupport, Luminis, VXCompanyEx...
9
10
11
12
PROJECTVOORBEELDEN: IQ CABINOntwikkel eenAndroidimplementatie vanhet IQ Cabin spelTechnologie: AndroidBedrijf:           ...
PROJECTVOORBEELDEN: ATLASSIANPROVISIONEROntwikkel productwaarmee deontwikkelstraatbeschikbaar isvoor nieuwegroepen.Technol...
PROJECTVOORBEELDEN: PROFIELGENERATOROntwikkel eenapplicatie waarmeeCVs kunnen wordengegenereeerd.Technologie: JavaScript...
ONTWIKKELSTRAATa.k.a. “Software factory”Standaarden TemplatesProces ScrumTools Atlassian Suite  (Confluence, JIRA, Stas...
TOOLOVERZICHT / DEPLOYMENTProxy server         Crowd: SSO en                                JIRA:         usermanagemen   ...
STANDAARDENDocumentatiestandaarden Geleend van Unified Process (RUP op maat)   Plan van aanpak (Software Development Pla...
CONFLUENCE – DOCUMENTATIEAlle technische   documentatie wordt   geschreven en   bewaard in   Confluence:   wiki   versie...
AGILE DEVELOPMENTTesting early and automated UnittestenIncremental design Geen groot ontwerp voorafDaily deployment Elk...
PROCESScrum-planning 1 week pre-game (“warming up”) 4 sprints van 2 weken  Planningsdag met planningpoker  Verwerking ...
RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL,                              @RODMIDDE    22
PRE-GAME                  Software         Software            Tools,  Plan van                Requirements      Architect...
SPRINT                • PlanningpokerPlanningsdag    • JIRA                • Gericht op de sprint goal Uitvoering     • Da...
RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL,                              @RODMIDDE    25
JIRA – PROJECTS                                          Project Lead           Je kunt bij elkaar                  =     ...
JIRA – PLANNING BOARD Openstaandewerkzaamheden               Sprints                    RODY MIDDELKOOP, RODY.MIDDELKOOP@H...
JIRA – GREENHOPPER               RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL,                                             @ROD...
JIRA – REAL WORLD EXAMPLE                RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL,                                         ...
DAILY STAND-UPVaste plekVast tijdstipMaximaal 15 minuten, mag dus korter Scrummaster in control Wat heb je gisteren geda...
SPRINT REVIEWCheckt de sprint-goal met de   opdrachtgever/productowner Demonstratie van de features Maak een dwarsdoorsn...
DEFINITION OF DONE                                                     RODY               MIDDELKOOP, RODY.MIDDELKOOP@HAN....
QUALITY REVIEWHandmatig door teamHandmatig door docent en/of opdrachtgever,  gevraagd en ongevraagdAutomatisch door Jenkin...
JENKINS       Hoe beter het      weer, hoe langer       de build achter        elkaar goed            gaat.Groene ballen z...
Codestandaarde  SONAR                                    n     Mate van        Mate van   documentatie    codeduplicatie  ...
RETROSPECTIVE = FEEDBACKTeam   Scrum-   Produc   Teamli   Teamli    Teamli   Docent      Produc       master   t-       d1...
TOETSING       Individueel door                3 docenten op                   basis vanCOMPETENTIES                  port...
TEAMROLLENPer rol moet de student aan andere eisen voldoen  binnen dezelfde competentie:Rol/Competenti Samenwerken     Com...
MENING STUDENTEN• Lastig om docent en opdrachtgever beiden  tevreden te houden (wanneer is het klaar?)• Motiverend om voor...
HTTP://WIKI.ICAPROJECTEN.NL                                                  RODY            MIDDELKOOP, RODY.MIDDELKOOP@H...
DANK VOOR UW AANDACHTrody.middelkoop@han.nl@rodmiddehttp://nl.linkedin.com/in/rodym/http://www.slideshare.net/rodym       ...
Upcoming SlideShare
Loading in …5
×

Softwarekwaliteit in een ontwikkelstraat

1,755 views

Published on

Presentatie voor NIOC 2013. Mijn ervaringen met een eigen opgezette ontwikkelstraat voor gedistribueerde Java projecten voor externe opdrachtgevers vanuit het semester DDOA.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,755
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Softwarekwaliteit in een ontwikkelstraat

  1. 1. RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 1
  2. 2. DDOA 2
  3. 3. Keuze uit 15Semester Combinatie bepaalt opleiding Student kiest er 3 die samen met stage het 2e/3e jaar vormen 3
  4. 4. INGEZOOMD: DDOA 7.5 ECTS 7.5 ECTS 15 ECTS Project RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 4
  5. 5. BEROEPSTAAK“Ontwikkel een gedistribueerde OO applicatie” Richt zich op veel aspecten van een software engineeringsproject: analyseren, ontwerpen, bouwen, testen, implemente ren Voorbeelden: Android Game Atlassian Provisioner ProfielGenerator RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 5
  6. 6. COURSE EOA• Engineer an OO Application• OO, UML (class- en seqencediagrams), Requirements, Design Patterns, Use Cases, Architectuur• Applying UML and Patterns (Craig Larman)• Powerdesigner, Astah, Enterprise Architect RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 6
  7. 7. COURSE DDA• Develop a Distributed Application• Parallel computing, Clean Code, Java, Threading, RMI, JavaEE, Big-O, Ant, JUnit / TDD, Frameworks• Java Enterprise in a Nutshell (Jim Farley)• Eclipse, IntelliJ, NetBeans, SpringSource ToolSuite, Maven, Ant, SoapUI, GlassFish, Tomcat, Spring Roo, MySQL RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 7
  8. 8. PROJECT10 weken5 studentenAgile aanpak: ScrumGastcolleges en workshops van IT-bedrijven InfoSupport, Luminis, VXCompanyExterne projecten voor IT-bedrijven Avisi, First8, InfoSupport, CGI/Logica, Luminis, Sogyo, TASS, Twijnstra&Gudde, VXCompany RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 8
  9. 9. 9
  10. 10. 10
  11. 11. 11
  12. 12. 12
  13. 13. PROJECTVOORBEELDEN: IQ CABINOntwikkel eenAndroidimplementatie vanhet IQ Cabin spelTechnologie: AndroidBedrijf: RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 13
  14. 14. PROJECTVOORBEELDEN: ATLASSIANPROVISIONEROntwikkel productwaarmee deontwikkelstraatbeschikbaar isvoor nieuwegroepen.Technologie: Java Webservices (REST/SOAP)Bedrijf: RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 14
  15. 15. PROJECTVOORBEELDEN: PROFIELGENERATOROntwikkel eenapplicatie waarmeeCVs kunnen wordengegenereeerd.Technologie: JavaScript Spring Roo Atlassian CrowdBedrijf: RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 15
  16. 16. ONTWIKKELSTRAATa.k.a. “Software factory”Standaarden TemplatesProces ScrumTools Atlassian Suite (Confluence, JIRA, Stash, Crowd), Jenkins en Sonar RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 16
  17. 17. TOOLOVERZICHT / DEPLOYMENTProxy server Crowd: SSO en JIRA: usermanagemen Planning en t Confluence: schatting Wiki Jenkins: CI Stash: Sonar: Code versiebeheer Quality (git) Crucible/Fish eye: Codereviewin g RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 17
  18. 18. STANDAARDENDocumentatiestandaarden Geleend van Unified Process (RUP op maat)  Plan van aanpak (Software Development Plan + Vision)  Software Requirements Specification  Software Architecture DocumentCodingstandaarden Vaste set voor DDOA, afwijkingen zijn bespreekbaar mits gemotiveerd Worden automatisch gecheckt door Sonar RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 18
  19. 19. CONFLUENCE – DOCUMENTATIEAlle technische documentatie wordt geschreven en bewaard in Confluence: wiki versiebeheer usertracking geintegreerde UML en UIMockJe hebt schrijfrechten op je eigen wiki en leesrechten in alle andere spaces. RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMI 19 DDE
  20. 20. AGILE DEVELOPMENTTesting early and automated UnittestenIncremental design Geen groot ontwerp voorafDaily deployment Elke dag bouwen en opleverenCustomer involvement Veel contact met je klantContinuous integration Op de achtergrond wordt de kwaliteit van je werk gecontroleerdIncremental planning Planning poker RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 20
  21. 21. PROCESScrum-planning 1 week pre-game (“warming up”) 4 sprints van 2 weken Planningsdag met planningpoker Verwerking van resultaten in JIRA Uitvoering Sprint Review Retrospective 1 week afsluiting (“cooling down”) RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 21
  22. 22. RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 22
  23. 23. PRE-GAME Software Software Tools, Plan van Requirements Architecture frameworks aanpak Specification Document en libraries (definitief) (concept) (concept) verkennen RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 23
  24. 24. SPRINT • PlanningpokerPlanningsdag • JIRA • Gericht op de sprint goal Uitvoering • Daily stand-up • Goedkeuring door opdrachtgever en docent op basis vanSprint Review sprint goal en definition of done • Teamreflectie: wat ging goed, wat niet, teamafspraken.Retrospective • Gekoppeld aan IPV RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMI 24 DDE
  25. 25. RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 25
  26. 26. JIRA – PROJECTS Project Lead Je kunt bij elkaar = kijken, zelfs Scrummaster beperkt schrijven dus houd het professioneel. RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 26
  27. 27. JIRA – PLANNING BOARD Openstaandewerkzaamheden Sprints RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 28
  28. 28. JIRA – GREENHOPPER RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 29
  29. 29. JIRA – REAL WORLD EXAMPLE RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 30
  30. 30. DAILY STAND-UPVaste plekVast tijdstipMaximaal 15 minuten, mag dus korter Scrummaster in control Wat heb je gisteren gedaan? Wanneer is je werk klaar? Wat ga je vandaag doen? Wat blokkeert (“impediment”) het succesvol doen van je taak? RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 31
  31. 31. SPRINT REVIEWCheckt de sprint-goal met de opdrachtgever/productowner Demonstratie van de features Maak een dwarsdoorsnede van je architectuurCheckt de definition-of-done Studenten reviewen elkaars werk Studenten vragen ook reviews aan bij de docent Initiatief bij de student! RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 32
  32. 32. DEFINITION OF DONE RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMI 33 DDE
  33. 33. QUALITY REVIEWHandmatig door teamHandmatig door docent en/of opdrachtgever, gevraagd en ongevraagdAutomatisch door Jenkins + Sonar RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 34
  34. 34. JENKINS Hoe beter het weer, hoe langer de build achter elkaar goed gaat.Groene ballen zijn Je kunt de buildgoed, op een rode ook handmatig bal staat (een starten. ludieke) straf. RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 35
  35. 35. Codestandaarde SONAR n Mate van Mate van documentatie codeduplicatie Totaalcijfer Mate van koppeling/cohesi e.Test coverage. Geslaagde tests. RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 36
  36. 36. RETROSPECTIVE = FEEDBACKTeam Scrum- Produc Teamli Teamli Teamli Docent Produc master t- d1 d2 d3 t-owner owner- by- proxy + - + + - + - - - + - + - - + - + - RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, 37 @RODMIDDE
  37. 37. TOETSING Individueel door 3 docenten op basis vanCOMPETENTIES portfolio en PRODUCTEN assessment• Analyseren • Requirements• Ontwerpen • Functioneel Ontwerp • Technisch Ontwerp• Realiseren/Testen • Software• Samenwerken • Retrospectives• Communiceren • Requirements/Ontwerpen• Planmatig werken • Plan van Aanpak RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 38
  38. 38. TEAMROLLENPer rol moet de student aan andere eisen voldoen binnen dezelfde competentie:Rol/Competenti Samenwerken Communiceren Planmatige werkenScrum Master x xProduct Owner xTeam Member x x x RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 39
  39. 39. MENING STUDENTEN• Lastig om docent en opdrachtgever beiden tevreden te houden (wanneer is het klaar?)• Motiverend om voor echte opdrachtgevers te werken en een product op te leveren dat bruikbaar is• Goede begeleiding door docenten en bedrijven• Agile werken bevalt goed en wordt toegepast in andere onderwijseenheden, stage en afstuderen.• Structuur geeft focus en maakt niet “lui”• Tools zijn nuttig maar hebben hoge leercurve RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 40
  40. 40. HTTP://WIKI.ICAPROJECTEN.NL RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMI 41 DDE
  41. 41. DANK VOOR UW AANDACHTrody.middelkoop@han.nl@rodmiddehttp://nl.linkedin.com/in/rodym/http://www.slideshare.net/rodym RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 42

×