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
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