Softwarekwaliteit in een ontwikkelstraat
Upcoming SlideShare
Loading in...5
×
 

Softwarekwaliteit in een ontwikkelstraat

on

  • 1,202 views

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

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

Statistics

Views

Total Views
1,202
Views on SlideShare
1,202
Embed Views
0

Actions

Likes
0
Downloads
4
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Softwarekwaliteit in een ontwikkelstraat Softwarekwaliteit in een ontwikkelstraat Presentation Transcript

    • RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 1
    • DDOA 2
    • Keuze uit 15Semester Combinatie bepaalt opleiding Student kiest er 3 die samen met stage het 2e/3e jaar vormen 3
    • INGEZOOMD: DDOA 7.5 ECTS 7.5 ECTS 15 ECTS Project RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 4
    • 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
    • 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
    • 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
    • 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
    • 10
    • 11
    • 12
    • PROJECTVOORBEELDEN: IQ CABINOntwikkel eenAndroidimplementatie vanhet IQ Cabin spelTechnologie: AndroidBedrijf: RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 13
    • PROJECTVOORBEELDEN: ATLASSIANPROVISIONEROntwikkel productwaarmee deontwikkelstraatbeschikbaar isvoor nieuwegroepen.Technologie: Java Webservices (REST/SOAP)Bedrijf: RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 14
    • PROJECTVOORBEELDEN: PROFIELGENERATOROntwikkel eenapplicatie waarmeeCVs kunnen wordengegenereeerd.Technologie: JavaScript Spring Roo Atlassian CrowdBedrijf: RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 15
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 22
    • 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
    • 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
    • RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 25
    • 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
    • JIRA – PLANNING BOARD Openstaandewerkzaamheden Sprints RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 28
    • JIRA – GREENHOPPER RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 29
    • JIRA – REAL WORLD EXAMPLE RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 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
    • 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
    • DEFINITION OF DONE RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMI 33 DDE
    • QUALITY REVIEWHandmatig door teamHandmatig door docent en/of opdrachtgever, gevraagd en ongevraagdAutomatisch door Jenkins + Sonar RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMIDDE 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • HTTP://WIKI.ICAPROJECTEN.NL RODY MIDDELKOOP, RODY.MIDDELKOOP@HAN.NL, @RODMI 41 DDE
    • 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