SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
Vývoj software
           Produktivně
            Efektivně
             Kvalitně
http://www.slideshare.net/jiramares/20110511-matfyz




        Jiří Mareš
    ČSAD SVT Praha s.r.o.
                     11.5.11
O mě

 vystudoval jsem FEL ČVUT
 16 let se živím vývojem SW
 používal jsem: Pascal, C, C++, Java, Groovy, Javascript,
 Scala, Smalltalk, HTML, CSS, XML, XSLT, bash, ant,
 gradle, maven
 z metodologií: vodopád, agile, SCRUM

 twitter - @jiramares
 mail - jiri.mares@svt.cz, jiramares@gmail.com
 blog - jirablog.blogspot.com
O SVT

 http://www.svt.cz/
 malá SW firma
 vývoj software pro dopravu
 existuje 30 let
 25 let vyvíjíme a provozujeme AMS
 9 let vyvíjíme CARDS EXCHANGE
 5 let máme ISO
Clearing CARDS

 sběr transakcí od dopravců
 výpočet vzájemných závazků
 vystavení faktur
 řešení toku peněz
 napojení na ERP

 Software as a Service
 webová aplikace
 rozhraní pro držitele karet
Clearing CARDS - projekt

 žádné EJB (pozor na over-engineering)
 prostředí:
     failover
     OS linux
     aplikační server Apache Tomcat
     databáze IBM DB2
 středně velký projekt:
     1826 java souborů
     668 xml souborů
     194 jsp souborů
     131 groovy souborů
     9928 unit testů
     230 selenium testů
Zefektivnění každodenní práce - I

  koncentrovat se (nebýt rušen, více monitorů)
  mít pro projekt jeden root adresář

  mít používané aplikace po ruce
  používat shell (command prompt)
  klávesové zkratky
  clipboard manager

  vše co dělám podruhé zautomatizovat (scripty - bash,
  groovy, ant, rake, gradle, selenium)
     možná to trvá déle než ručně, ale hodně se naučím
  používat lokální dokumentaci (wget)
Zefektivnění každodenní práce - II

  minimalizovat potřebu lokálního zálohování
     vše na serveru - Google Docs, VCS, WIKI
     do VCS i scripty, nastavení (počítače, IDE), dokumentace
     uchovávat binárky (svých aplikací i použitých knihoven)
     nastavení prostředí (VMWare http://www.vmware.com/,
     Genuitec Pulse http://www.poweredbypulse.com/)

  DRY - Don't Repeat Yourself
    používat generátory: O/R mapping z DB schéma, různé
     verze dokumentace (online a ref. příručka)
     více viz. Automatizace dokumentace kódu dále
Metodika vývoje

 jednoznačně agile a iterativně
 nejlepší je SCRUM
     samostatný tým
     samoorganizující tým
     angažovaný jednotlivec
 bohužel není aplikovatelný všude

 na SCRUM máme velké procento studentů (nepracují na
 plný úvazek)
 malý team

 hlavní release máme každý měsíc
Používáme OpenSource

 veškeré zmiňované nástroje jsou opensource
   až na dva (Atlassian JIRA a Fisheye)
 pozor na licence
 můžete:
    produkt zlepšit a nebo přizpůsobit
    pochopit jak je udělán a jak funguje
Evidence požadavků a plánování

 používáme Atlassian JIRA http://www.atlassian.com/software/jira/
 máme vše evidováno - požadavek ISO
 požadavky mají priority
 plánujeme sprinty
 víme v jakém je požadavek stavu
 propojení s VCS - co se pro splnění požadavku měnilo

 existují i jiné:
    trac http://trac.edgewall.org/
    bugzilla http://www.bugzilla.org/
    integrované v:
         github https://github.com/
         bitbucket https://bitbucket.org/
Verzovací software (VCS)

 historie změn
 větvení, tagování

 klasické
     CVS http://www.cvshome.org/
     subversion http://subversion.tigris.org/
 distribuované
     git http://git-scm.com/
     mercurial http://mercurial.selenic.com/

 používáme subversion
 plánujeme přechod na git
    konkrétně na code hosting - github
Build & Continuous integration
  build automation - vytvoří replikovatelný build
      ant http://ant.apache.org/
      gradle http://www.gradle.org/
      maven http://maven.apache.org/
     a další: sbt http://code.google.com/p/simple-build-tool/, rake http://rake.rubyforge.org/
     artifactory http://www.jfrog.com/products.php

  continuous integration
     nutný VCS
     okamžitě po commitu se pouští testy a máme binárky
     automatizovaný deployment

     jenkins http://jenkins-ci.org/ (dříve hudson)
     cruise control http://cruisecontrol.sourceforge.net/
     continuum http://continuum.apache.org/
Testování - unit testy

  automatizuje testování
  podporuje refactoring
  nepoužívám Test Driven Development dogmaticky

  programovat s ohledem na otestovatelnost
     dependency injection - guice http://code.google.com/p/google-guice/,
        spring http://www.springsource.org/

  testovací frameworky - testng http://testng.org/, junit http://www.junit.org/
  asserty - hamcrest http://code.google.com/p/hamcrest/
  mock objecty - easymock http://easymock.org/, mockito http://mockito.org/,
     jmock http://www.jmock.org/
Testování - code coverage a integrační
testy webových aplikací
  code coverage
     dává představu jak dobře je otestováno
     100% pokrytí neznamená nic

  testování webových aplikací - selenium http://seleniumhq.org/
      testy se dají naklikat - seleniumIDE
      nutno aplikaci psát s ohledem na otestovatelnost

  testování aplikace na různých prohlížečích a OS
      VMWare http://www.vmware.com/products/server/overview.html
      selenium remote-control http://seleniumhq.org/projects/remote-control/
      testujeme na Linuxu, Windows a IE, Firefox, Chrome
Code review

 jediné co garantuje kvalitní kód napříč všemi zdrojáky
 review svého vs. cizího kódu
 často vede na refactoring (potřebujeme testy)

 motivace:
   odhalí se chyby dříve než v produkci
   lidé se vzájemně od sebe učí (diskutují o kódu)
   víc lidí kódu rozumí

 děláme review každého nového či změněného řádku)
 potřebný SW pro podporu code review:
    používáme JIRA, fisheye http://www.atlassian.com/software/fisheye/
    chceme používat pull request gitu
Automatizace - kontrola kvality kódu a
dokumentace
  kvalita kódu:
     FindBugs http://findbugs.sourceforge.net/
     PMD http://pmd.sourceforge.net/
     Checkstyle http://checkstyle.sourceforge.net/

  dokumentace:
     špatná horší než žádná
     kód a jeho testy jsou dokumentace

     Javadoc http://www.oracle.com/technetwork/java/javase/documentation/index-jsp-135444.html
     UMLGraph http://www.umlgraph.org/
     SchemaSPY http://schemaspy.sourceforge.net/
Neustálé vzdělávání

 učit se:
     nové jazyky (nová paradigmata)
     nové technologie
     nová použití technologií
 konference (CZJUG http://www.java.cz/detail.do?articleId=2252)
 hackathony
Literatura

The Pragmatic Programmer
 Andrew Hunt, David Thomas

Agile & Iterative Development - A Manager's Guide
 Craig Larman

The Productive Programmer
 Neal Ford
Děkuji za pozornost

vývoj SW je kreativní činnost
vývojář je umělec
velmi často si jdeme za svou myšlenkou "proti všem"

hledejte insipraci kdekoliv, i tam kde ji nečekáte
odpočívejte, potřebujete múzu

Mais conteúdo relacionado

Destaque

Kontinuální integrace pomocí nástrojů Atlassian
Kontinuální integrace pomocí nástrojů AtlassianKontinuální integrace pomocí nástrojů Atlassian
Kontinuální integrace pomocí nástrojů AtlassianOnlio
 
JIRA prezentace
JIRA prezentaceJIRA prezentace
JIRA prezentaceOnlio
 
Agilní vývoj v argo22
Agilní vývoj v argo22Agilní vývoj v argo22
Agilní vývoj v argo22ARGO22
 
JIRA Software
JIRA SoftwareJIRA Software
JIRA SoftwareOnlio
 
20091202 Aplikované nástroje SW inženýra
20091202 Aplikované nástroje SW inženýra20091202 Aplikované nástroje SW inženýra
20091202 Aplikované nástroje SW inženýraJiří Mareš
 
JIRA aplikace
JIRA aplikaceJIRA aplikace
JIRA aplikaceOnlio
 
Jak jsme zaváděli scrum
Jak jsme zaváděli scrumJak jsme zaváděli scrum
Jak jsme zaváděli scrumMartin Staník
 
JIRA Agile
JIRA AgileJIRA Agile
JIRA AgileOnlio
 
JIRA 6.4 novinky
JIRA 6.4 novinkyJIRA 6.4 novinky
JIRA 6.4 novinkyOnlio
 
Atlassian produkty
Atlassian produktyAtlassian produkty
Atlassian produktyOnlio
 
JIRA Tempo Timesheets
JIRA Tempo TimesheetsJIRA Tempo Timesheets
JIRA Tempo TimesheetsOnlio
 
JIRA Tempo Planner
JIRA Tempo PlannerJIRA Tempo Planner
JIRA Tempo PlannerOnlio
 
JIRA Structure - The Issue Organizer
JIRA Structure - The Issue OrganizerJIRA Structure - The Issue Organizer
JIRA Structure - The Issue OrganizerOnlio
 
JIRA Zephyr - Test Management
JIRA Zephyr - Test ManagementJIRA Zephyr - Test Management
JIRA Zephyr - Test ManagementOnlio
 
Atlassian JIRA Core
Atlassian JIRA CoreAtlassian JIRA Core
Atlassian JIRA CoreOnlio
 

Destaque (17)

Kontinuální integrace pomocí nástrojů Atlassian
Kontinuální integrace pomocí nástrojů AtlassianKontinuální integrace pomocí nástrojů Atlassian
Kontinuální integrace pomocí nástrojů Atlassian
 
JIRA prezentace
JIRA prezentaceJIRA prezentace
JIRA prezentace
 
Ldo lundegaard in_da_cloud - Tomáš Zajíček
Ldo lundegaard in_da_cloud - Tomáš ZajíčekLdo lundegaard in_da_cloud - Tomáš Zajíček
Ldo lundegaard in_da_cloud - Tomáš Zajíček
 
Agilní vývoj v argo22
Agilní vývoj v argo22Agilní vývoj v argo22
Agilní vývoj v argo22
 
JIRA Software
JIRA SoftwareJIRA Software
JIRA Software
 
20091202 Aplikované nástroje SW inženýra
20091202 Aplikované nástroje SW inženýra20091202 Aplikované nástroje SW inženýra
20091202 Aplikované nástroje SW inženýra
 
JIRA aplikace
JIRA aplikaceJIRA aplikace
JIRA aplikace
 
Jak jsme zaváděli scrum
Jak jsme zaváděli scrumJak jsme zaváděli scrum
Jak jsme zaváděli scrum
 
JIRA Agile
JIRA AgileJIRA Agile
JIRA Agile
 
JIRA 6.4 novinky
JIRA 6.4 novinkyJIRA 6.4 novinky
JIRA 6.4 novinky
 
Atlassian produkty
Atlassian produktyAtlassian produkty
Atlassian produkty
 
JIRA Tempo Timesheets
JIRA Tempo TimesheetsJIRA Tempo Timesheets
JIRA Tempo Timesheets
 
JIRA Tempo Planner
JIRA Tempo PlannerJIRA Tempo Planner
JIRA Tempo Planner
 
JIRA Structure - The Issue Organizer
JIRA Structure - The Issue OrganizerJIRA Structure - The Issue Organizer
JIRA Structure - The Issue Organizer
 
JIRA Zephyr - Test Management
JIRA Zephyr - Test ManagementJIRA Zephyr - Test Management
JIRA Zephyr - Test Management
 
Atlassian JIRA Core
Atlassian JIRA CoreAtlassian JIRA Core
Atlassian JIRA Core
 
JIRA Basics 1.5.3
JIRA Basics 1.5.3JIRA Basics 1.5.3
JIRA Basics 1.5.3
 

Semelhante a 20110511 Vývoj software - produktivně, efektivně, kvalitně

2009 X33EJA Moderní Technologie Pro Vývoj JEE
2009 X33EJA Moderní Technologie Pro Vývoj JEE2009 X33EJA Moderní Technologie Pro Vývoj JEE
2009 X33EJA Moderní Technologie Pro Vývoj JEEMartin Ptáček
 
Optimalizace Symfony na devu
 Optimalizace Symfony na devu Optimalizace Symfony na devu
Optimalizace Symfony na devuVašek Purchart
 
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)Péhápkaři
 
Lex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
Lex Vjatkin + Ondřej procházka: Jak to děláme ve WikidiLex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
Lex Vjatkin + Ondřej procházka: Jak to děláme ve WikidiDevelcz
 
Využití chemie v procesu testování webových aplikací vytvořených pomocí techn...
Využití chemie v procesu testování webových aplikací vytvořených pomocí techn...Využití chemie v procesu testování webových aplikací vytvořených pomocí techn...
Využití chemie v procesu testování webových aplikací vytvořených pomocí techn...Michal Špaček
 
Selenium Webdriver - jOpenSpace 2015
Selenium Webdriver - jOpenSpace 2015Selenium Webdriver - jOpenSpace 2015
Selenium Webdriver - jOpenSpace 2015Michal Franc
 
20101124 Aplikované nástroje SW inženýra
20101124 Aplikované nástroje SW inženýra20101124 Aplikované nástroje SW inženýra
20101124 Aplikované nástroje SW inženýraJiří Mareš
 
Odborná snídaně 20.9. - Agile@DevOps - 2. část
Odborná snídaně 20.9. - Agile@DevOps - 2. částOdborná snídaně 20.9. - Agile@DevOps - 2. část
Odborná snídaně 20.9. - Agile@DevOps - 2. částProfinit
 
Představení Ruby on Rails
Představení Ruby on RailsPředstavení Ruby on Rails
Představení Ruby on Railsigloonet
 
ReliSA KIV hlavni oblasti vyzkumu (2014-01)
ReliSA KIV hlavni oblasti vyzkumu (2014-01)ReliSA KIV hlavni oblasti vyzkumu (2014-01)
ReliSA KIV hlavni oblasti vyzkumu (2014-01)Premek Brada
 
Jira DevOps Cloud
Jira DevOps CloudJira DevOps Cloud
Jira DevOps CloudOnlio
 
Smalltalk prakticky [CZ]
Smalltalk prakticky [CZ]Smalltalk prakticky [CZ]
Smalltalk prakticky [CZ]Tomáš Kukol
 

Semelhante a 20110511 Vývoj software - produktivně, efektivně, kvalitně (20)

2009 X33EJA Moderní Technologie Pro Vývoj JEE
2009 X33EJA Moderní Technologie Pro Vývoj JEE2009 X33EJA Moderní Technologie Pro Vývoj JEE
2009 X33EJA Moderní Technologie Pro Vývoj JEE
 
Optimalizace Symfony na devu
 Optimalizace Symfony na devu Optimalizace Symfony na devu
Optimalizace Symfony na devu
 
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
Vašek Purchart - Optimalizace Symfony na devu (2. sraz přátel Symfony v Praze)
 
TNPW2-2016-03
TNPW2-2016-03TNPW2-2016-03
TNPW2-2016-03
 
TNPW2-2014-03
TNPW2-2014-03TNPW2-2014-03
TNPW2-2014-03
 
Lex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
Lex Vjatkin + Ondřej procházka: Jak to děláme ve WikidiLex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
Lex Vjatkin + Ondřej procházka: Jak to děláme ve Wikidi
 
TNPW2-2011-06
TNPW2-2011-06TNPW2-2011-06
TNPW2-2011-06
 
TNPW2-2011-03
TNPW2-2011-03TNPW2-2011-03
TNPW2-2011-03
 
Využití chemie v procesu testování webových aplikací vytvořených pomocí techn...
Využití chemie v procesu testování webových aplikací vytvořených pomocí techn...Využití chemie v procesu testování webových aplikací vytvořených pomocí techn...
Využití chemie v procesu testování webových aplikací vytvořených pomocí techn...
 
Selenium Webdriver - jOpenSpace 2015
Selenium Webdriver - jOpenSpace 2015Selenium Webdriver - jOpenSpace 2015
Selenium Webdriver - jOpenSpace 2015
 
20101124 Aplikované nástroje SW inženýra
20101124 Aplikované nástroje SW inženýra20101124 Aplikované nástroje SW inženýra
20101124 Aplikované nástroje SW inženýra
 
Odborná snídaně 20.9. - Agile@DevOps - 2. část
Odborná snídaně 20.9. - Agile@DevOps - 2. částOdborná snídaně 20.9. - Agile@DevOps - 2. část
Odborná snídaně 20.9. - Agile@DevOps - 2. část
 
Představení Ruby on Rails
Představení Ruby on RailsPředstavení Ruby on Rails
Představení Ruby on Rails
 
TNPW2-2013-03
TNPW2-2013-03TNPW2-2013-03
TNPW2-2013-03
 
TNPW2-2012-03
TNPW2-2012-03TNPW2-2012-03
TNPW2-2012-03
 
TNPW2-2011-04
TNPW2-2011-04TNPW2-2011-04
TNPW2-2011-04
 
ReliSA KIV hlavni oblasti vyzkumu (2014-01)
ReliSA KIV hlavni oblasti vyzkumu (2014-01)ReliSA KIV hlavni oblasti vyzkumu (2014-01)
ReliSA KIV hlavni oblasti vyzkumu (2014-01)
 
Jira DevOps Cloud
Jira DevOps CloudJira DevOps Cloud
Jira DevOps Cloud
 
EZproxy Seminar Multidata
EZproxy Seminar MultidataEZproxy Seminar Multidata
EZproxy Seminar Multidata
 
Smalltalk prakticky [CZ]
Smalltalk prakticky [CZ]Smalltalk prakticky [CZ]
Smalltalk prakticky [CZ]
 

20110511 Vývoj software - produktivně, efektivně, kvalitně

  • 1. Vývoj software Produktivně Efektivně Kvalitně http://www.slideshare.net/jiramares/20110511-matfyz Jiří Mareš ČSAD SVT Praha s.r.o. 11.5.11
  • 2. O mě vystudoval jsem FEL ČVUT 16 let se živím vývojem SW používal jsem: Pascal, C, C++, Java, Groovy, Javascript, Scala, Smalltalk, HTML, CSS, XML, XSLT, bash, ant, gradle, maven z metodologií: vodopád, agile, SCRUM twitter - @jiramares mail - jiri.mares@svt.cz, jiramares@gmail.com blog - jirablog.blogspot.com
  • 3. O SVT http://www.svt.cz/ malá SW firma vývoj software pro dopravu existuje 30 let 25 let vyvíjíme a provozujeme AMS 9 let vyvíjíme CARDS EXCHANGE 5 let máme ISO
  • 4. Clearing CARDS sběr transakcí od dopravců výpočet vzájemných závazků vystavení faktur řešení toku peněz napojení na ERP Software as a Service webová aplikace rozhraní pro držitele karet
  • 5. Clearing CARDS - projekt žádné EJB (pozor na over-engineering) prostředí: failover OS linux aplikační server Apache Tomcat databáze IBM DB2 středně velký projekt: 1826 java souborů 668 xml souborů 194 jsp souborů 131 groovy souborů 9928 unit testů 230 selenium testů
  • 6. Zefektivnění každodenní práce - I koncentrovat se (nebýt rušen, více monitorů) mít pro projekt jeden root adresář mít používané aplikace po ruce používat shell (command prompt) klávesové zkratky clipboard manager vše co dělám podruhé zautomatizovat (scripty - bash, groovy, ant, rake, gradle, selenium) možná to trvá déle než ručně, ale hodně se naučím používat lokální dokumentaci (wget)
  • 7. Zefektivnění každodenní práce - II minimalizovat potřebu lokálního zálohování vše na serveru - Google Docs, VCS, WIKI do VCS i scripty, nastavení (počítače, IDE), dokumentace uchovávat binárky (svých aplikací i použitých knihoven) nastavení prostředí (VMWare http://www.vmware.com/, Genuitec Pulse http://www.poweredbypulse.com/) DRY - Don't Repeat Yourself používat generátory: O/R mapping z DB schéma, různé verze dokumentace (online a ref. příručka) více viz. Automatizace dokumentace kódu dále
  • 8. Metodika vývoje jednoznačně agile a iterativně nejlepší je SCRUM samostatný tým samoorganizující tým angažovaný jednotlivec bohužel není aplikovatelný všude na SCRUM máme velké procento studentů (nepracují na plný úvazek) malý team hlavní release máme každý měsíc
  • 9. Používáme OpenSource veškeré zmiňované nástroje jsou opensource až na dva (Atlassian JIRA a Fisheye) pozor na licence můžete: produkt zlepšit a nebo přizpůsobit pochopit jak je udělán a jak funguje
  • 10. Evidence požadavků a plánování používáme Atlassian JIRA http://www.atlassian.com/software/jira/ máme vše evidováno - požadavek ISO požadavky mají priority plánujeme sprinty víme v jakém je požadavek stavu propojení s VCS - co se pro splnění požadavku měnilo existují i jiné: trac http://trac.edgewall.org/ bugzilla http://www.bugzilla.org/ integrované v: github https://github.com/ bitbucket https://bitbucket.org/
  • 11. Verzovací software (VCS) historie změn větvení, tagování klasické CVS http://www.cvshome.org/ subversion http://subversion.tigris.org/ distribuované git http://git-scm.com/ mercurial http://mercurial.selenic.com/ používáme subversion plánujeme přechod na git konkrétně na code hosting - github
  • 12. Build & Continuous integration build automation - vytvoří replikovatelný build ant http://ant.apache.org/ gradle http://www.gradle.org/ maven http://maven.apache.org/ a další: sbt http://code.google.com/p/simple-build-tool/, rake http://rake.rubyforge.org/ artifactory http://www.jfrog.com/products.php continuous integration nutný VCS okamžitě po commitu se pouští testy a máme binárky automatizovaný deployment jenkins http://jenkins-ci.org/ (dříve hudson) cruise control http://cruisecontrol.sourceforge.net/ continuum http://continuum.apache.org/
  • 13. Testování - unit testy automatizuje testování podporuje refactoring nepoužívám Test Driven Development dogmaticky programovat s ohledem na otestovatelnost dependency injection - guice http://code.google.com/p/google-guice/, spring http://www.springsource.org/ testovací frameworky - testng http://testng.org/, junit http://www.junit.org/ asserty - hamcrest http://code.google.com/p/hamcrest/ mock objecty - easymock http://easymock.org/, mockito http://mockito.org/, jmock http://www.jmock.org/
  • 14. Testování - code coverage a integrační testy webových aplikací code coverage dává představu jak dobře je otestováno 100% pokrytí neznamená nic testování webových aplikací - selenium http://seleniumhq.org/ testy se dají naklikat - seleniumIDE nutno aplikaci psát s ohledem na otestovatelnost testování aplikace na různých prohlížečích a OS VMWare http://www.vmware.com/products/server/overview.html selenium remote-control http://seleniumhq.org/projects/remote-control/ testujeme na Linuxu, Windows a IE, Firefox, Chrome
  • 15. Code review jediné co garantuje kvalitní kód napříč všemi zdrojáky review svého vs. cizího kódu často vede na refactoring (potřebujeme testy) motivace: odhalí se chyby dříve než v produkci lidé se vzájemně od sebe učí (diskutují o kódu) víc lidí kódu rozumí děláme review každého nového či změněného řádku) potřebný SW pro podporu code review: používáme JIRA, fisheye http://www.atlassian.com/software/fisheye/ chceme používat pull request gitu
  • 16. Automatizace - kontrola kvality kódu a dokumentace kvalita kódu: FindBugs http://findbugs.sourceforge.net/ PMD http://pmd.sourceforge.net/ Checkstyle http://checkstyle.sourceforge.net/ dokumentace: špatná horší než žádná kód a jeho testy jsou dokumentace Javadoc http://www.oracle.com/technetwork/java/javase/documentation/index-jsp-135444.html UMLGraph http://www.umlgraph.org/ SchemaSPY http://schemaspy.sourceforge.net/
  • 17. Neustálé vzdělávání učit se: nové jazyky (nová paradigmata) nové technologie nová použití technologií konference (CZJUG http://www.java.cz/detail.do?articleId=2252) hackathony
  • 18. Literatura The Pragmatic Programmer Andrew Hunt, David Thomas Agile & Iterative Development - A Manager's Guide Craig Larman The Productive Programmer Neal Ford
  • 19. Děkuji za pozornost vývoj SW je kreativní činnost vývojář je umělec velmi často si jdeme za svou myšlenkou "proti všem" hledejte insipraci kdekoliv, i tam kde ji nečekáte odpočívejte, potřebujete múzu