keskiviikko 10. maaliskuuta 2010

ClearCase - vuosisadan huijaus

Jokainen, joka tekee softaa ammattimaisesti, käyttää päivittäin versionhallintatyökaluja. Versionhallinnan idea on sinänsä yksinkertainen. Varmaan jokainen koodaaja tietää, mihin sitä tarvitaan ja miksi. Jos et käytä projekteissasi versionhallintaa, olet IT-totuuden toimituksen silmissä vähän samanlainen surkuhupaisa hahmo kuin maanviljelijä joka ei osaa ajaa traktoria.

Maailma on täynnä loistavia versionhallintasoftia. Esimerkiksi ilmaiseksi (kyllä, täysin ilmaiseksi ja vieläpä avoimen lähdekoodin kera) on saatavilla sellaisia upeita versionhallintajärjestelmiä kuten Git ja Mercurial. Jos uudet hajautetut versionhallintasoftat (joihin Git ja Mercurial kumpikin kuuluvat) tuntuvat liian pelottavilta, on vanha kunnon työjuhta Subversion vielä täysin käyttökelpoinen, joskin siirtymässä vähitellen historiaan. Ja sekin on ilmaista open sourcea.

Koska ilmaistarjonta on alalla niin hyvää, voisi kuvitella, ettei kenenkään kannata käyttää kaupallisia versionhallintatuotteita. Niitä kuitenkin käytetään, koska yritykset haluavat maksaa turvallisuuden tunteesta: pitää olla joku, jota voi uhata sopimussakolla, jos asiat eivät toimi niin kuin haluttaisiin. Kaupallisista versionhallintasoftista suurin osa on täyttä paskaa. Kaikkein huonoin niistä on Rationalin (nykyään osa IBM:ää) ClearCase.

ClearCase on teknisesti Gitiin ja muihin parempiin versionhallintajärjestelmiin verrattuna niin naurettavan huono, ettei tiedä pitäisikö itkeä vai raivota. Miksi? Alla muutamia syitä.

ClearCasen käyttöliittymä on hidas, kankea ja aivan jumalattoman vaikea käyttää verrattuna mihin tahansa kilpailijaan. Joku neropatti (tai Rationalin myyntimies) sanoo tietysti tähän, että et vaan osaa, vähän kato koulutusta Tieturilta ja homma menee kuin vettä vaan. Mutta tämä on täysin nurinkurinen ajattelutapa. Versionhallinta on osa projektin perusinfraa, ei projektin keskipiste. Versionhallinnan pitää olla niin helppo käyttää, että tuntuu kuin sitä ei olisikaan. Jokainen euro joka käytetään versionhallintajärjestelmän tuottamiin sivukustannuksiin (koulutus, ylläpito jne.) voitaisiin käyttää johonkin hyödyllisempään.

ClearCase tuottaa näitä sivukustannuksia paitsi lisenssin hinnan ja henkilöstön koulutuskustannusten muodossa, myös ylläpidon muodossa. Ja kyse ei ole mistään pienestä summasta. Noin sadan hengen projektissa/yrityksessä, jossa käytetään jotakin muuta versionhallintaa kuin ClearCasea, tarvitaan keskimäärin yksi ihminen ylläpitämään versionhallintajärjestelmää. Olen ollut projektissa, jossa versionhallintana oli ClearCase, projektissa oli noin sata koodaajaa ja pelkästään ClearCasen ylläpitotiimissä oli viisi täyspäiväistä työntekijää! Jos ei tämä ole tuhlausta niin mikä sitten on?

Tuhlauksesta puheenollen: ei se ClearCasen lisenssikään mikään halpa ole. Tietääkseni se on markkinoilla olevista versionhallintaratkaisuista kaikkein kallein (voi olla, että on olemassa joku vielä kalliimpi, mutta ei sellaisia ainakaan montaa ole). Parhaat kilpailijat ovat ilmaisia ja niille on saatavilla nykyään myös täysin ammattimaisen tasoista tukea ja neuvontaa miltä tahansa itseään kunnioittavalta alan konsulttiyritykseltä.

Rahallisten kustannusten lisäksi ClearCase hidastaa kehitystyön etanan mateluksi. ClearCasea käyttävän koodaajan työpäivästä voi täysin realistisesti arvioiden mennä puolet ClearCasen kanssa tappelemiseen. Miettikääpä miten paljon se maksaa. Ja kun aika menee turhuuksien kanssa taistelemiseen, työmotivaatio heikkenee ja heikkenee. Ja sitä mukaa, kun motivaatio ja työntekijöiden moraali heikkenee, projektin riskit pullistuvat.

ClearCase on vuosisadan huijaus. Huonompaa hinta/laatu-suhdetta en ole nähnyt missään ohjelmistossa koskaan, voi olla etten ylipäätään missään minkään alan tuotteessa. Jos jotain pitää ihailla, niin Rationalin/IBM:n myyjiä - miten ihmeessä ne saavat tuollaista järjettömyyttä kaupaksi?

Jos olet koodaaja, ja työskentelet ClearCasea käyttävässä projektissa, niin tee itsellesi palvelus. Kokeile jotain muuta versionhallintaa. Totea miten paljon parempi ja halvempi se on. Kerro esimiehellesi. Vaadi parempaa. ClearCasen käyttö on ihmisarvon vastaista.

Jos et usko meitä, niin katso mitä muut kollegat ovat kommentoineet aiheesta Twitterissä.

"Once tried to use ClearCase. That was an unmitigated disaster. You need either a PhD or a lobotomy to use that monstrosity." - Phil Pemberton

"Clearcase fails in so many ways that I find it amazing that anyone actually pays money to use it." - Fredrik Mörk

"Is using Rational Clearcase enough to make me quit my job? No. Having coworkers that think it is "not so bad" certainly could be." - Joseph Hirn

5 kommenttia:

  1. Tapasin viime viikolla Ibarin Rational Software Architect-tuotteen kehitystiimin seniorijäsenen. Hän lipsautti että clearcasesta siirryttiin pois aikapäiviä sitten CVS:n (!!!), ja nyttemmin Rational Team Concerttiin (lienee helppoa arvata mitä tuoteperhettä kyseinen jannu oli paikalla myymässä...)

    VastaaPoista
  2. There are ways to reduce the cost of ClearCase maintenance. Check our ClearCase plug-ins: http://gomidjets.com

    VastaaPoista
  3. Why the hell you would want to pay _more_ to "reduce costs" instead of switching to system that actually works?

    VastaaPoista
  4. Asiasta on olemassa vähemmänkin tunnepitoisia esityksiä, kuten http://martinfowler.com/bliki/VersionControlTools.html tms., mutta perusvire on tässä minusta oikein: ClearCase on ohjelmoijan pahimpia vihamiehiä, vaikka versionhallinnan pitäisi olla tuki ja helpotus.

    VastaaPoista
  5. Aika vast'ikään pääsin tutustumaan projektiin, jonka versionhallintaan vielä tähän maailman aikaan oli valittu juurikin samainen ClearCase. Arkkitehtuurikuvassa oli 8 kpl näitä instansseja joille oli allokoitu 4 täysipäiväistä adminia puhtaasti ClearCasen ylläpitoon. Lienee turha mainita ettei projektin lopputulos ollut muiltakaan osin mairitteleva.

    VastaaPoista