SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
agilis és extrém ruby

      Tompa Tamás
       2010.10.21
a cím
• scrum + xp = ruby
• agilis és extrém projektek => ruby
• agilis fejlesztés, extrém programozás, ruby
miből főzünk?
•   Agile Manifesto
•   Startup Manifesto
•   Scrum
•   Extreme Programming
•   Principle of least surprise
•   Readable code
•   Don't repeat yourself
•   Convention over Configuration
hogy függ össze?
• kihívás: gyorsan és olcsón kell szállítani
• megoldás: produktivitás és karbantarthatóság

• kihívás: folyamatosan változó igények,
  folyamatos fejlődés, új technológiák
• megoldás: ruby – gyorsan változik – előnyére
• write less and get the same => productivity
• less bugs to fix and less code to maintain =>
  productivity
• readable code => self documenting
  => productivity
• TDD – BDD => improving code quality
  => productivity
MIRE JÖTTÜNK RÁ?
scrum
• kell egy Product Owner, akit a csapat
  személyesen ismer
• a PO-nak kell legyen egy Product
  Backlog-ja, amit a csapat előzetesen
  megbecsült
• a csapatnak kell egy Burndown Chart, és
  egy velocity érték
• a csapatot senki sem zavarhatja a Sprint
  közben
scrum
• user story – mérete és megfogalmazása kulcs
  fontosságú
• estimation meeting – a tervezés előtt
  előkészítés, nem kellenek a meglepetések
• daily standup – nem számonkérés, nincs
  vezetője, önszerveződő
• a módszertan minden elemét be kell tartani,
  nem lehet belőle „válogatni”
  DE lehet adaptálni, fejleszteni - tudatosan
xp
• pair programming
  – akár minden nap, 1-2 óránként váltva
  – akár csak a projekt kritikus részére
  – a párokat sprintenként rotálhatjuk
  – code review-t majdnem teljesen megoldja
• automatizált build / testing
  – ezzel kezdődik a projekt
  – addig nincs kódolás, amíg nincs „környezet”
• TDD / BDD
xp
• Jó minőségű kódhoz kell, hogy több
  szempontból / több ember által vizsgált legyen
• Karbantartható kód: kifizetődőbb, mintha
  évente újraírnánk a rendszert (full redesign)
• Fejlesztő motivációja: érdekesebb a feladat,
  folyamatosan tanul, nincs magára hagyva
ruby
• Bontsd egyszerű részekre – a komplexitás
  bonyolult hibákhoz vezet
• Minél alacsonyabb szintű komponensek
• A komponensek Ruby GEM-ek,
  nem Rails pluginok > általánosak
• Önálló, független > önmagában tesztelhető,
  felhasználható egységek
environment
• Fejlesztői környezet folyamatos karbantartása
• Fejlesztői teendők akár párhuzamos sprint-
  ben > scrum team / maintenance team

• Deployment előkészítése – system check
• Deployment validálása – build check
• capistrano kiegészítések
kártyák
•   Egyszerű és átlátható (1 oldal!)
•   Mindig szem előtt van (falon)
•   Hordozható (megbeszélésre)
•   Nem engedi elfelejteni a fontos dolgokat
•   Nem engedi „torzítani” a szabályokat
kártyák
kártyák
• Hamarosan magyarul!
• Addig is:
  http://agileinaflash.blogspot.com/
a nagy változás
• Változtatási „akciótervek”:
  a) sok apró változtatás, lépcsőzetesen idővel eléri a
     célját
  b) egyszerre meglépjük a teljes egészet


• b) a helyes
• 2-3 próbálkozásra sikerülni is fog
folyt köv
• Blogot indítottunk - olvassátok:
  http://digitalnatives.blog.hu/

• Ruby fejlesztőket keresünk - jelentkezzetek:
  info@digitalnatives.hu

Weitere ähnliche Inhalte

Ähnlich wie Budapest.rb 201010

Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelvenSzerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelvenKrisztián Gyula Tóth
 
Hogyan optimalizáljunk C/C++ kódokat!
Hogyan optimalizáljunk C/C++ kódokat!Hogyan optimalizáljunk C/C++ kódokat!
Hogyan optimalizáljunk C/C++ kódokat!Open Academy
 
Fejlesztési kihívások a pénzügyi szektorban
Fejlesztési kihívások a pénzügyi szektorbanFejlesztési kihívások a pénzügyi szektorban
Fejlesztési kihívások a pénzügyi szektorbanPal Vojacsek
 
Objektum-orinetált mérések a gyakorlatban
Objektum-orinetált mérések a gyakorlatbanObjektum-orinetált mérések a gyakorlatban
Objektum-orinetált mérések a gyakorlatbanAntal Orcsik
 
Webalkalmazások teljesítményoptimalizálása
Webalkalmazások teljesítményoptimalizálásaWebalkalmazások teljesítményoptimalizálása
Webalkalmazások teljesítményoptimalizálásaFerenc Kovács
 
AGILIS / SCRUM fejlesztés
AGILIS / SCRUM fejlesztésAGILIS / SCRUM fejlesztés
AGILIS / SCRUM fejlesztésOpen Academy
 
Budapest.rb 2011/01 - Rails Deployment
Budapest.rb 2011/01 - Rails DeploymentBudapest.rb 2011/01 - Rails Deployment
Budapest.rb 2011/01 - Rails DeploymentDigital Natives
 
A tesztelés szerepe folyamatos kihelyezést használó projektekben (Microsoft, ...
A tesztelés szerepe folyamatos kihelyezést használó projektekben (Microsoft, ...A tesztelés szerepe folyamatos kihelyezést használó projektekben (Microsoft, ...
A tesztelés szerepe folyamatos kihelyezést használó projektekben (Microsoft, ...Gáspár Nagy
 
[Hungarian] Scrum Course - Sapientia University
[Hungarian] Scrum Course - Sapientia University[Hungarian] Scrum Course - Sapientia University
[Hungarian] Scrum Course - Sapientia UniversityZoltan Iszlai
 
Béla, mi élesedett tulajdonképpen? A request to release koncepció mire is ad ...
Béla, mi élesedett tulajdonképpen? A request to release koncepció mire is ad ...Béla, mi élesedett tulajdonképpen? A request to release koncepció mire is ad ...
Béla, mi élesedett tulajdonképpen? A request to release koncepció mire is ad ...META-INF Kft.
 
A produktivitás téveszméje - az agilis a császár új ruhája
A produktivitás téveszméje  - az agilis a császár új ruhájaA produktivitás téveszméje  - az agilis a császár új ruhája
A produktivitás téveszméje - az agilis a császár új ruhájaAndras Bujna
 
Termék-életciklus és a verziókezelés
Termék-életciklus és a verziókezelésTermék-életciklus és a verziókezelés
Termék-életciklus és a verziókezelésAttila Gábor Nagy
 
Google Cloud a gyakorlatban BigData/Hadoop fejlesztésekhez - Google I/O Exten...
Google Cloud a gyakorlatban BigData/Hadoop fejlesztésekhez - Google I/O Exten...Google Cloud a gyakorlatban BigData/Hadoop fejlesztésekhez - Google I/O Exten...
Google Cloud a gyakorlatban BigData/Hadoop fejlesztésekhez - Google I/O Exten...GDG Budapest
 
III. Elmélet - Az ERP rendszerek implementációja 1..pptx
III. Elmélet - Az ERP rendszerek implementációja 1..pptxIII. Elmélet - Az ERP rendszerek implementációja 1..pptx
III. Elmélet - Az ERP rendszerek implementációja 1..pptxSzabolcs Gulyás
 

Ähnlich wie Budapest.rb 201010 (20)

Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelvenSzerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
 
Hogyan optimalizáljunk C/C++ kódokat!
Hogyan optimalizáljunk C/C++ kódokat!Hogyan optimalizáljunk C/C++ kódokat!
Hogyan optimalizáljunk C/C++ kódokat!
 
Ci
CiCi
Ci
 
Fejlesztési kihívások a pénzügyi szektorban
Fejlesztési kihívások a pénzügyi szektorbanFejlesztési kihívások a pénzügyi szektorban
Fejlesztési kihívások a pénzügyi szektorban
 
Objektum-orinetált mérések a gyakorlatban
Objektum-orinetált mérések a gyakorlatbanObjektum-orinetált mérések a gyakorlatban
Objektum-orinetált mérések a gyakorlatban
 
Webkonf 2013
Webkonf 2013Webkonf 2013
Webkonf 2013
 
Szoftver tesztelés
Szoftver tesztelésSzoftver tesztelés
Szoftver tesztelés
 
Webalkalmazások teljesítményoptimalizálása
Webalkalmazások teljesítményoptimalizálásaWebalkalmazások teljesítményoptimalizálása
Webalkalmazások teljesítményoptimalizálása
 
AGILIS / SCRUM fejlesztés
AGILIS / SCRUM fejlesztésAGILIS / SCRUM fejlesztés
AGILIS / SCRUM fejlesztés
 
Budapest.rb 2011/01 - Rails Deployment
Budapest.rb 2011/01 - Rails DeploymentBudapest.rb 2011/01 - Rails Deployment
Budapest.rb 2011/01 - Rails Deployment
 
Alumni Release Process
Alumni Release ProcessAlumni Release Process
Alumni Release Process
 
A tesztelés szerepe folyamatos kihelyezést használó projektekben (Microsoft, ...
A tesztelés szerepe folyamatos kihelyezést használó projektekben (Microsoft, ...A tesztelés szerepe folyamatos kihelyezést használó projektekben (Microsoft, ...
A tesztelés szerepe folyamatos kihelyezést használó projektekben (Microsoft, ...
 
[Hungarian] Scrum Course - Sapientia University
[Hungarian] Scrum Course - Sapientia University[Hungarian] Scrum Course - Sapientia University
[Hungarian] Scrum Course - Sapientia University
 
Béla, mi élesedett tulajdonképpen? A request to release koncepció mire is ad ...
Béla, mi élesedett tulajdonképpen? A request to release koncepció mire is ad ...Béla, mi élesedett tulajdonképpen? A request to release koncepció mire is ad ...
Béla, mi élesedett tulajdonképpen? A request to release koncepció mire is ad ...
 
A produktivitás téveszméje - az agilis a császár új ruhája
A produktivitás téveszméje  - az agilis a császár új ruhájaA produktivitás téveszméje  - az agilis a császár új ruhája
A produktivitás téveszméje - az agilis a császár új ruhája
 
Termék-életciklus és a verziókezelés
Termék-életciklus és a verziókezelésTermék-életciklus és a verziókezelés
Termék-életciklus és a verziókezelés
 
Agile, Ésszerűen
Agile, ÉsszerűenAgile, Ésszerűen
Agile, Ésszerűen
 
Google Cloud a gyakorlatban BigData/Hadoop fejlesztésekhez - Google I/O Exten...
Google Cloud a gyakorlatban BigData/Hadoop fejlesztésekhez - Google I/O Exten...Google Cloud a gyakorlatban BigData/Hadoop fejlesztésekhez - Google I/O Exten...
Google Cloud a gyakorlatban BigData/Hadoop fejlesztésekhez - Google I/O Exten...
 
A Firefox-on túl is Mozilla
A Firefox-on túl is MozillaA Firefox-on túl is Mozilla
A Firefox-on túl is Mozilla
 
III. Elmélet - Az ERP rendszerek implementációja 1..pptx
III. Elmélet - Az ERP rendszerek implementációja 1..pptxIII. Elmélet - Az ERP rendszerek implementációja 1..pptx
III. Elmélet - Az ERP rendszerek implementációja 1..pptx
 

Mehr von Digital Natives

How to support innovation in organisations @ Startup Safary
How to support innovation in organisations @ Startup SafaryHow to support innovation in organisations @ Startup Safary
How to support innovation in organisations @ Startup SafaryDigital Natives
 
Agile és lean workshop @ Startup Safary
Agile és lean workshop @ Startup SafaryAgile és lean workshop @ Startup Safary
Agile és lean workshop @ Startup SafaryDigital Natives
 
Introduction to GraphQL with Ruby
Introduction to GraphQL with RubyIntroduction to GraphQL with Ruby
Introduction to GraphQL with RubyDigital Natives
 
A visual introduction to concurrency and parallellism patterns
A visual introduction to concurrency and parallellism patternsA visual introduction to concurrency and parallellism patterns
A visual introduction to concurrency and parallellism patternsDigital Natives
 
How flat organisations support the innovation
How flat organisations support the innovationHow flat organisations support the innovation
How flat organisations support the innovationDigital Natives
 
Basics of Metaprogramming in Ruby
Basics of Metaprogramming in RubyBasics of Metaprogramming in Ruby
Basics of Metaprogramming in RubyDigital Natives
 
Ruby meetup 7_years_in_testing
Ruby meetup 7_years_in_testingRuby meetup 7_years_in_testing
Ruby meetup 7_years_in_testingDigital Natives
 
Digital natives incubation process_2011-11-23_v09
Digital natives incubation process_2011-11-23_v09Digital natives incubation process_2011-11-23_v09
Digital natives incubation process_2011-11-23_v09Digital Natives
 
Evolution of the Software Development Process ad Digital Natives
Evolution of the Software Development Process ad Digital NativesEvolution of the Software Development Process ad Digital Natives
Evolution of the Software Development Process ad Digital NativesDigital Natives
 
Mixgar in Volt festival 2011
Mixgar in Volt festival 2011Mixgar in Volt festival 2011
Mixgar in Volt festival 2011Digital Natives
 

Mehr von Digital Natives (13)

How to support innovation in organisations @ Startup Safary
How to support innovation in organisations @ Startup SafaryHow to support innovation in organisations @ Startup Safary
How to support innovation in organisations @ Startup Safary
 
Agile és lean workshop @ Startup Safary
Agile és lean workshop @ Startup SafaryAgile és lean workshop @ Startup Safary
Agile és lean workshop @ Startup Safary
 
Introduction to GraphQL with Ruby
Introduction to GraphQL with RubyIntroduction to GraphQL with Ruby
Introduction to GraphQL with Ruby
 
A visual introduction to concurrency and parallellism patterns
A visual introduction to concurrency and parallellism patternsA visual introduction to concurrency and parallellism patterns
A visual introduction to concurrency and parallellism patterns
 
How flat organisations support the innovation
How flat organisations support the innovationHow flat organisations support the innovation
How flat organisations support the innovation
 
CULTURE OF INNOVATION
CULTURE OF INNOVATIONCULTURE OF INNOVATION
CULTURE OF INNOVATION
 
Testing in JavaScript
Testing in JavaScriptTesting in JavaScript
Testing in JavaScript
 
Basics of Metaprogramming in Ruby
Basics of Metaprogramming in RubyBasics of Metaprogramming in Ruby
Basics of Metaprogramming in Ruby
 
Ruby meetup 7_years_in_testing
Ruby meetup 7_years_in_testingRuby meetup 7_years_in_testing
Ruby meetup 7_years_in_testing
 
Digital natives incubation process_2011-11-23_v09
Digital natives incubation process_2011-11-23_v09Digital natives incubation process_2011-11-23_v09
Digital natives incubation process_2011-11-23_v09
 
Evolution of the Software Development Process ad Digital Natives
Evolution of the Software Development Process ad Digital NativesEvolution of the Software Development Process ad Digital Natives
Evolution of the Software Development Process ad Digital Natives
 
Mixgar in Volt festival 2011
Mixgar in Volt festival 2011Mixgar in Volt festival 2011
Mixgar in Volt festival 2011
 
Mixgar prezi v1.2
Mixgar prezi v1.2Mixgar prezi v1.2
Mixgar prezi v1.2
 

Budapest.rb 201010

  • 1. agilis és extrém ruby Tompa Tamás 2010.10.21
  • 2. a cím • scrum + xp = ruby • agilis és extrém projektek => ruby • agilis fejlesztés, extrém programozás, ruby
  • 3. miből főzünk? • Agile Manifesto • Startup Manifesto • Scrum • Extreme Programming • Principle of least surprise • Readable code • Don't repeat yourself • Convention over Configuration
  • 4. hogy függ össze? • kihívás: gyorsan és olcsón kell szállítani • megoldás: produktivitás és karbantarthatóság • kihívás: folyamatosan változó igények, folyamatos fejlődés, új technológiák • megoldás: ruby – gyorsan változik – előnyére
  • 5. • write less and get the same => productivity • less bugs to fix and less code to maintain => productivity • readable code => self documenting => productivity • TDD – BDD => improving code quality => productivity
  • 7. scrum • kell egy Product Owner, akit a csapat személyesen ismer • a PO-nak kell legyen egy Product Backlog-ja, amit a csapat előzetesen megbecsült • a csapatnak kell egy Burndown Chart, és egy velocity érték • a csapatot senki sem zavarhatja a Sprint közben
  • 8. scrum • user story – mérete és megfogalmazása kulcs fontosságú • estimation meeting – a tervezés előtt előkészítés, nem kellenek a meglepetések • daily standup – nem számonkérés, nincs vezetője, önszerveződő • a módszertan minden elemét be kell tartani, nem lehet belőle „válogatni” DE lehet adaptálni, fejleszteni - tudatosan
  • 9. xp • pair programming – akár minden nap, 1-2 óránként váltva – akár csak a projekt kritikus részére – a párokat sprintenként rotálhatjuk – code review-t majdnem teljesen megoldja • automatizált build / testing – ezzel kezdődik a projekt – addig nincs kódolás, amíg nincs „környezet” • TDD / BDD
  • 10. xp • Jó minőségű kódhoz kell, hogy több szempontból / több ember által vizsgált legyen • Karbantartható kód: kifizetődőbb, mintha évente újraírnánk a rendszert (full redesign) • Fejlesztő motivációja: érdekesebb a feladat, folyamatosan tanul, nincs magára hagyva
  • 11. ruby • Bontsd egyszerű részekre – a komplexitás bonyolult hibákhoz vezet • Minél alacsonyabb szintű komponensek • A komponensek Ruby GEM-ek, nem Rails pluginok > általánosak • Önálló, független > önmagában tesztelhető, felhasználható egységek
  • 12. environment • Fejlesztői környezet folyamatos karbantartása • Fejlesztői teendők akár párhuzamos sprint- ben > scrum team / maintenance team • Deployment előkészítése – system check • Deployment validálása – build check • capistrano kiegészítések
  • 13. kártyák • Egyszerű és átlátható (1 oldal!) • Mindig szem előtt van (falon) • Hordozható (megbeszélésre) • Nem engedi elfelejteni a fontos dolgokat • Nem engedi „torzítani” a szabályokat
  • 15. kártyák • Hamarosan magyarul! • Addig is: http://agileinaflash.blogspot.com/
  • 16. a nagy változás • Változtatási „akciótervek”: a) sok apró változtatás, lépcsőzetesen idővel eléri a célját b) egyszerre meglépjük a teljes egészet • b) a helyes • 2-3 próbálkozásra sikerülni is fog
  • 17. folyt köv • Blogot indítottunk - olvassátok: http://digitalnatives.blog.hu/ • Ruby fejlesztőket keresünk - jelentkezzetek: info@digitalnatives.hu