[ silverglider @ 23.06.2003. 13:56 ] @
Hm, gledao sam gde je najbolje da se stavi ova tema, ali posto nema nijednog 'opsteg' foruma o programiranju i raznim tehnikama/tehnologijama/metodologiji programiranja, nekako mi je ovaj forum bio najlogicniji izbor. Ukoliko se moderatori ne slazu, prebacivanje...

Elem, interesuje me da li je neko probao da primeni (u firmi, dakle, komercijalni pristup) metodologiju eXtreme Programminga odnosno Paired Programminga i ako jeste, kakvi su bili rezultati?

Napominjem da je primena u firmi poput moje, koja ne radi sw 'siroke potrosnje' pa ga ponudi na trzistu, nego o slucaju gde je svaki projekat sasvim drugaciji, radi se prema zahtevu narucioca i (ponekad i skoro od nule). Oblast (u mom slucaju) je automatizacija i kontrola procesa (upravljanje, proizvodnja, itd) sa komplexnijom infrastrukturom - serveri, embedded sistemi, kontrolne konzole, wireless, itd.

Dakle, na stranu mozda pocetni investicioni (negativni) efekat, jedan deo softvera moze da se unapredjuje i poboljsava vremenom, ali drugi deo jednostavno mora da bude pravo resenje iz prvog pokusaja (cesto se radi o novom terenu). Interesuje me takodje odnos planiranje/implementacija koriscenjem XP-a.
[ Last Man Standing @ 25.06.2003. 08:05 ] @
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.