Yleisimmät vaihtoehdot sähköisen palvelun hankkimiseksi ovat valmiin ratkaisun ostaminen tai palvelun kehittäminen itse tai kumppanin avulla. Edellinen vaihtoehto on fiksu valinta, jos tarpeeseen sopiva ratkaisu markkinoilta löytyy.
Joskus silmiin voi osua valmis palvelu, joka toteuttaa osan halutusta toiminnallisuudesta. Tällöin ymmärrettävästi syntyy suuri houkutus selvittää toimittajan mahdollisuuksia räätälöidä palvelu asiakkaan tarpeiden mukaiseksi. Useimmille toimittajille toki raha kelpaa, ja he tekevät ehdotuksen tarvittavista muutoksista. Palvelun ensimmäinen versio saadaan näin toimien usein valmiiksi nopeammin kuin toteuttamalla täysin uusi palvelu.
Tähän houkuttelevalta näyttävään malliin liittyy kuitenkin suuria sudenkuoppia, joita kokematon toimittaja ei aina osaa varoa. Valaisen ongelmaa esimerkin avulla.
Ajatellaan tapausta, jossa ohjelmistokehityksen sijaan ollaankin tekemisissä tietokirjojen kanssa. Kustantamolla on tiimi, joka kirjoittaa eläinten hoito-opasta. Kirjoittajat ovat sopineet, että kirjoittavat omalla koneellaan aina valmiiksi yhden kappaleen, jonka siirtävät yhteiseen dokumenttiin, josta kirja muodostuu. Kuvassa aika kulkee vasemmalta oikealle ja punaiset pallukat kuvaavat kirjaan lisättyjä kappaleita.
Kesken kirjan kirjoittamista kustantamon toimitusjohtaja saa aamuruuhkassa ajatuksen: voisimme lähestyä koirien omistajia omalla kirjalla! Suuri osa alkuperäisen hoito-oppaan tekstistä olisi hyödynnettävissä myös koirien osalta, ja mukaan lisätään koiriin liittyvää tietoa.
Kirjoittajat tekevät työtä käskettyä. Samalla kun he jatkavat yleisen oppaan kirjoittamista, ottavat he siitä kopion, jonka pohjalta alkavat laatia omaa versiota koirien omistajille. Seuraavassa kuvassa on merkitty vihreällä pallolla koirista kertovat kappaleet. Joskus koirakirjaan kirjoitettu kappale tarvitsee kopioida myös yleiseen oppaaseen, ja päinvastoin.
Kirjoittamisen ollessa hyvässä vauhdissa kustantamon talousjohtaja kuulee hankkeesta. Kissaihmisenä hän kyseenalaistaa, miksei kissoillekin tehdä omaa kirjaa? Niinpä oppaan yleisversiosta otetaan uusi kopio, johon aletaan kirjoittaa kissoja koskevaa ohjeistusta (siniset pallot). Jälleen osa kissaohjeistuksesta pitää kopioida yleiseen oppaaseen, osa koiria koskevaan oppaaseen jne.
Kun nälkä kasvaa syödessä, päätetään pian laatia omat teokset gerbiileille, tähtikuonokontiaisille ja aksolotleille. Jokaisen uuden version myötä kirjoitustyö hidastuu ja suuri osa ajasta menee sen varmistamiseen, että kaikki versiot pysyvät ajan tasalla. Ajan kuluessa kirjat ajautuvat entistä kauemmas toisistaan, ja muutosten tekemisestä tulee todella työlästä sekä virhealtista.
Vastaavaan ongelmaan törmätään usein, kun valmisohjelmistoa aletaan räätälöidä erilaisiin tarpeisiin. Esimerkiksi toiminnanohjausjärjestelmästä voidaan tehdä eri versioita useille toimialoille. Ajan myötä versiohelvetti lamaannuttaa tuotekehityksen ja johtaa kasvavaan bugimäärään.
Jotkut toimittajat ovat päätyneet malliin, jossa tarjoavat vain yhtä tuotetta, joka on konfiguroitavissa erilaisiin tarpeisiin. Jos kirjat toteutettaisiin samalla menetelmällä, poimittaisiin seuraavassa kuvassa keskilinjalta kaikkiin kirjoihin sopivat tekstit, ja haarautuvissa kohdissa koiria tai kissoja koskevat kappaleet.
Näin toimien kirjan versiot eivät jatkuvasti loittone toisistaan. Toisaalta kokonaisuuden muokattavuudessa on pakko tehdä suuria kompromisseja. Esimerkiksi kirjan kappaleita ei voi laittaa eri järjestykseen eri teoksissa.
Myös tässä mallissa päädytään melkoiseen sotkuun, kun kirjasta tehdään useita versioita, jotka merkittävästi poikkeavat toisistaan. Vastaavasti ohjelmistojen kanssa voidaan joutua tilanteeseen, jossa kukaan ei hallitse valtavien konfigurointimahdollisuuksien kokonaisuutta. Lisäksi lopputulos ei välttämättä vastaa kaikkiin asiakkaan toiveisiin, koska palvelua ei voida täysin vapaasti muokata.
Jos toimittaja ehdottaa valmisohjelman muokkausta, varmista miten he aikovat selättää edellä kuvatut ongelmat. Kysy myös, miten saatte haltuunne kaikki immateriaalioikeudet (kuten ohjelmakoodin), jotta palvelun käytöstä ei tarvitse luopua jos toimittaja lopettaa tuotteen kehittämisen tai menee konkurssiin.
Artikkelin kuvassa on Cray-supertietokoneen johtoja. Kuvaaja: Theodore Logan, lisenssi: Creative Commons Attribution-ShareAlike 2.5 License