budapest.rb 201010

Post on 29-Nov-2014

555 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

Agilis és extrém Ruby

TRANSCRIPT

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

top related