Mi smo probali pair programming. Trajalo je 4-5 meseca i rezultati nisu bili (toliko) losi. Dalje se nije moglo zbog nedostatka podrske menadzmenta (koji je i inace nerado prihvatio neke od XP metoda). Srecom, projekat je zaziveo i nalazi se u dosta dobrom stanju (hvala na pitanju). Najveca nevolja je bila zbog velike razlike u znanju i interesovanjima developera. Polovini tima je to bio prvi susret sa ozbiljnijim Java/J2EE projektom. Oni koji vole XP kazu da to nije problem, jer se vremenom razlike medju developerima izgube ili znatno smanje. Problem je samo sto vremena nije bilo...Tako je dosta otislo na obuku i objasnjavanje tehnologije i posebno best practices (kako je najbolje resavati odredjene klase problema), pa se onda vreme gubilo na pronalazenje bagova tipa == umesto .equals itd.
Sa druge strane, bilo je i jako dobrih stvari. Niko nije radio samo jedan deo projekta, nego su se ljudi menjali na razlicitim poslovima. Posle izvesnog vremena, nije postojao kod koji je znala/posedovala samo jedna osoba. Developeri su mnogo "ravnomernije" poznavali sistem, sto ima dosta prednosti, posebno kod odrzavanja. Druga dobra stvar je sto su oni koji su tek pocinjali sa Javom, dosta naucili. I to mnogo brze nego da su isli na kurseve (tamo su trebali da idu pre projekta). To je bila vise investicija za buducnost, nego sto su se videli direktni rezultati. Na kraju, komunikacija i razumevanje izmedju developera su bili mnogo bolji, tako da znas sta od koga mozes da ocekujes.
Odnos izmedju planiranja i implementacije...mislis kakva su iskustva ili kakva je teorija? U pocetku smo dosta vremena trosili da osmislimo framework vezan za business domain koji smo pokrivali (dakle ne tipa Struts i sl. nego ono sto dodje iznad toga, a koristi se kroz aplikaciju), pa smo uglavnom vise sastancili i svadjali se a (ni)malo radili...Posle izvesnog vremena, dosli smo u normalu, tj. malo se planira, malo se radi (to sto je isplanirano) u iteracijama od po nedelju dana. Na taj nacin nismo imali vecih oscilacija i promasaja. Krajnji korisnici su nam bili veliki problem, jer po XP-u, korisnik (tj. njihov predstavnik) treba da bude deo tima koji pravi projekat. Njihovi menadzeri se nisu bas mirisali sa nekima od nasih, pa smo se nekako sredili tek posle izvesnog vremena. Pogadjas, niko to nije uzeo kao opravadanje za izgubljeno vreme. Naprotiv.
Evo, raspisah se ja. Ako te mrzi da citas, glavna pouka je da su ljudi najcesca i najveca prepreka uspehu svakog projekta/metodologije pa i XP-a. Metodologija kojom se uspe da se resi i ljudski faktor u projektu, ima velike sanse za uspeh. XP je prilicno specifican po tom pitanju i ja sam sam dosta naucio o ljudima za to vreme. Na kraju nismo zavrsili kako smo poceli, ali smo ipak zavrsili :)
Btw, pogledaj sta kaze Alistair Cockburn (
http://alistair.cockburn.us). Meni se svidja bas zato sto mnogo vise paznje posvecuje ljudima, dok tehnika, malo malo pa se promeni. A teoriju ionako mozes da nadjes po knjigama.
Javi kako ide.
A computer once beat me at chess, but it was no match for me at kick boxing.