Userdriven technological innovation with web 2.0 and Open Source software
- Floyd, Ingbert m.fl. (2007)
Abstract.
Web mash-ups og open source software driver udviklingen af nye praksisser i software og systemudvikling.
…
1. Introduktion.
Folk opfinder nye teknologier for at løse probler i deres daglige liv.
…
2. Web mash-ups
En web mash-up kombinerer data og tjenester fra mere end en kilde. Gennem almindeligt tilgængelige API’er (Application Programming Interface) er det muligt at hente elementer: data, interface elementer, tjenester og indkorporere dem i sin egen software. Især tre aspekter muliggør innovationen:
- Adgang til robuste, højtudviklede teknologier som kun hold af programmeringseksperter kan frembringe
- Adgang til massive mængder data, som ingen enkeltperson kunne indsamle og have råd til at vedligeholde.
- Gør vejen til at udvikle nye applikationer med kraftfulde teknologier mere tilgængelig.
Udviklingen af mash-ups er stadig begrænset til folk som har nogen programmeringserfaring, men det kunne gøres endnu mere tilgængelig med udvikling af “værktøjskasser” og wizards.
…
3. Patchwork prototyping
Patchwork prototyper benytter sig af mash-ups, web tjenester, open source software og og lokalt udviklet kode. Det egner til situationer, hvor brugerkravene ikke er klart definerede, men endnu er en vag idealiseret ide om hvad teknologien kunne gøre for brugerne. Nøgern til metoden er, at den er brugerdrevet og baseret på intyegrationen af softwaren i deres daglige aktiviteter. Patcwork prototyping karakteriseres ved:
- hurtig iterering, dvs. afprøvning og redesign, af viorkelighedsnære prototyper (ikke papir og diagrammer, men faktisk software)
- Indkorporering af prototyperne i brugernes daglige arbejde
- omfattende opsamling af feedback foretaget af en insider i brugergruppen.
Udvikling, mens brugerbehovene opstår (coevolve)
De virkelighedtro prototyper er nødvendige fordi brugerne ikke kan forestille sig teoretisk software ud fra beskrivelser.
Hurtig afprøvning er vitalt, da brugerne ellers indkorporerer prototypen som om den var det endelige (om end ikke fyldestgørende) svar på deres behov. De kan også miste engagementet, hvis deres feedback ikke giver udslag i en konkret ændring inden for rimelig tid (en uge).
Den hurtige afprøvning giver også bedre design, da udviklerne ikke når at knytte sig for tæt til deres løsningsmodeller (ingen darlings, altså), og da prototyperne udviklet på baggrund af eksisterende elementer ikke har krævet en stor arbejdsindsats, gør det heller ikke så ondt at skrotte dem. Det bedste er at have en del features inkluderet i prototypen, så der kan tændes og slukkes efter behov, og efter hvad afprøvningen viser.
Når man skal reflektere over den opnåede feedback er det vigtigt at gøre sig klart, at man ikke bare skal fokusere på tekniske krav, men man skal tage hele det kollaborative sociotekniske system i betragtning, altså: Hvordan vil forskellige apekter af softwaren påvirke udviklingen af sociale praksisser. Man skal også være opmærksom på ikke at tage indflydelsen fra dem der ikke lige medvirker i afprøvningen, da de så efterfølgende ikke vil være samarbejdsvillige. Man skal anlægge en holistisk synsvinkel på systemets udvikling. (minder noget om informationsøkologi).
…
4. Case studies
Wasabe prototypen bygget på 10 minutter!!
…
5. Discussion
Fælles for begge metoder er at afspejler den model brugere har for at benytte teknologi i deres hverdag: de bygger på en problem-drevet model. Bruger vil bruge teknologi der kan løse et problem for dem. Very Rapid Iteration modellens vigtigste træt er ikke bare, at den er cyklisk, men at det skal gå hurtigt med at komme rundt.
…
6. Conclusion
På grund af web 2.0 og open source software er det nu muligt for indvider og små grupper at skabe deres egne teknologiske løsninger på lokale problemer uden at skulle være programmører. Det muliggør brugerdreven innovation. Patchwork prototyping er en metode der lader sådan en innovation foregå i samarbejde med udviklere og på en større skala. Slutresultatet er bedre software, som er specielt gearet til at imødegå de problemer, som de involverede brugere møder.