Diagnos och design av Verksamhet och IT, 7, 5 HP Föreläsning 2 Sofie Pilemalm
Dagens Agenda Systemutveckling i backspegeln och för framtiden Problem och utmaningar Användarcentrerad utveckling Som del av ovanstående Trender Som del av ovanstående
Relation till kursmål Kunna förstå och värdera förutsättningar för och effekter av olika ansatser för analys, utveckling och design av verksamhet och informationssystem Kunna identifiera, förstå och värdera olika aktörers/intressenters perspektiv på analys, utveckling och design i såväl teori som praktik Känna till övergripande begrepp och koncept inom verksamhets- och informationssystemutveckling Kunna föra en fördjupad, problematiserande, diskussion kring analys, utveckling och design av verksamhet och IT dess olika delar, relationer och som helhet.
Återkoppling föreläsning 1 Grundläggande begrepp och defintitioner En generell systemutvecklingsprocess beskriven i teori/ideal form Idag: förflyttning mot verkligheten Hur har det sett ut, hur ser det ut och varför är det så svårt?
Relaterar till kursmål Kunna förstå och värdera förutsättningar för och effekter av olika ansatser för analys, utveckling och design av verksamhet och informationssystem Kunna identifiera, förstå och värdera olika aktörers/intressenters perspektiv på analys, utveckling och design i såväl teori som praktik Känna till övergripande begrepp och koncept inom verksamhets- och informationssystemutveckling Kunna föra en fördjupad, problematiserande, diskussion kring analys, utveckling och design av verksamhet och IT dess olika delar, relationer och som helhet.
Systemutveckling i backspegel Problem: Många fel i koden Lösning: Implementation ~ kodning Strukturell programmering Lösning: Testning av kod Testfall, Inspektion, The Cleanroom approach Mål: En korrekt kod korrekta system Kravhantering Design Implementation Utvärdering
Backspegel Problem: System motsvarar ej kravspecifikation Lösning: systemutveckling som en process Vattenfallsmetoden, spiralmodellen Mål: System som svarar mot specifikationen Kravhantering Design Implementation Utvärdering
Backspegel Problem: De flesta felen gjordes i specifikationen behov/krav taken for granted Lösning: behovsanalys och användarmedverkan Mål: Ett användbart program användbara system Kravhantering Design Implementation Utvärdering
Backspegel Problem: Användare agerar i en kontext, verksamhet. System bör stödja den kontext System och verksamhetsutveckling bör harmoniera Lösning: fokusera användningssituation Bort från lablika miljöer Business process reengineering (BPR) Mål: Ett nyttigt system Kontextuell modellering Behovs- & kravanalys Design Implementation Utvärdering
Ramverk systemutvecklingsprocess Kontextuell modellering Behovs- & kravanalys Design Implementation Utvärdering
Användarcentrerade ansatser första generationen Politisk/ideologisk bakgrund det goda arbetet Arbetare i produktion designa sin egen teknik Fackföreningsrörelsen ofta bakom Användare aktiveras i samtliga aspekter av utvecklingsarbete Demokratiska regler för hur arbetet ska bedrivas Akademiinitiativ Små system Homogen användargrupp i avgränsad del av organisation Ansatser ETHICS (socio-teknisk ansats, UK) The Collective Resources Approach (Skandinavien)
Användarcentrerade ansatser andra generationen Kommersialisering Användarmedverkan ger bättre system Joint Application Development (JAD), Participatory Design (PD) Business Process Engineering Samarbete Applikationer för teamwork; kontorsapplikationer Computer Supported Collaborative Work Flera användare från samma organisation men olika enheter Ideologisk gren lever kvar Aktiv användarmedverkan i hela systemutvecklingsprocessen Arbete i designgrupper bestående av användarrepresentanter och systemutvecklare
Användarcentrerade ansatser tredje generationen Trade-off mellan ideologi och kommersialisering Kombinera användarmedverkan med effektivitet Överge full user participation Koncentrera användarmedverkan till rent utvecklingsarbete Större, mer komplexa system Användarmedverkan för utveckling av interorganisatoriska system Heterogena användargrupper Nya former för att nå ut till samtliga användargrupper gå utanför designgrupper
Användarcentrerad systemutveckling varför? Domänkunskap experter på användningsdomänen och behövs för systemet Acceptans ökar användarnas acceptans av IS Integration system harmoniserar med arbetsuppgifterna Innovation bättre och mer innovativa lösningar Lärande dubbelriktat lärande
Principer för användarcentrerad systemutveckling Användare involveras hela systemutvecklingsprocessen Aktiv användarmedverkan ej konsult eller gisslan Representativa användare Alla som på något sätt kommer att påverkas av systemet bör involveras Demokratiska regler Tekniker som stödjer användarmedverkan lätta att lära och hantera
Kritik mot användarmedverkan Tar för mycket tid Ej kostnads- eller tidseffektivt Användare vet inte vad de vill ha Användare vill inte ha Användare har inte tid Användare tycker inte det är kul Förlegade ideologiska principer och demokratiska regler fungerar inte Saknar formalisering Saknar industrikoppling
Varför är användarmedverkan svårt? Fel form av användarmedverkan Utvärderare, Konsultativ, Gisslan Utvecklarna förstår inte användarnas behov Användarna förstår inte utvecklarna Det är för så många aktörer/användare Svårt att nå de verkliga användarna gräsrotsnivå Ser inte kopplingen mellan behov och tekniska lösningar Svårt att välja vad som skall implementeras Svårt att få kontinuitet i användarmedverkan (problemet tid) Traditionella användarcentrerade ansatser saknar formalisering och process!
Systemutvecklingstrender 2000-tal Verksamhetsutveckling och sytemutveckling går samman Utveckla IT och verksamhet tillsammans ur effektvitetsperspektiv. Från Business Process Engineering to Enterprise Architectures Modell- och arkitekturbaserad systemutveckling System-av-system Överskådlighet, Återanvändning, Flexibilitet Enhetlig notation Modeller, processer, aktörer, notationer, datorstöd Enterprise Architecture (EA) Har formalisering och process MEN: Fokuserar inte på slutanvändaren
Systemutvecklingstrender 2000-tal Interorganisatoriskt samarbete och stora, komplexa, distribuerade system och system av system Olika aktörer, olika kulturer, olika terminologier Tjänstebaserade system och tjänstekoncept Komponenter realiseras som mer eller mindre komplexa tjänster, över organisations- regions-, nationsgränser Kräver men försvårar användarmedverkan! Service consumer Order a service Service Provided effect Service request Service producer
Systemutvecklingstrender 2000-tal Helt nya dynamiska och komplexa organisatoriska informationsmiljöer: Virtuella organisationer (t ex sociala medier) Nätverksorganisationer (t ex sociala medier) Informations-baserade organisationer Process-baserade organisationer Kunskaps-baserade organisationer et c. Vilka är användarna?
Systemutvecklingstrender 2000-tal Vi måste ta hand om äldre systemgenerationer! Legacy systems (LIS) kräver anpassning snarare en utveckling System som är centrala och kritiska för verksamhet System som är gamla och långsamma (ligger på gammal hårdvara et c) System som är svåra att modifiera (t ex pga brist på dokumentation och kunskap om systemdetaljer System som är svåra att integrera med andra (t ex otidsenliga gränssnitt) System som är svåra att utöka (vidareutveckla).
Systemutvecklingstrender 2000-tal Utveckling Legacy systems kräver; Ny-utveckling från scratch med nya hårdvaruplattform, modern arkitektur, verktyg, databaser Wrapping Bygga nya applikationer, program och gränssnitt runt existerande system Migration Flytta system till en öppen miljö
Systemutvecklingstrender 2000-tal Möta trender med nya ansatser hämtade från mjukvaruområdet: Rational Unified Process (RUP) Väldefinierad process för utveckling över hela systemets livscykel Arkitektur, modellbaserad, användningsfall UML (notationspråk) Har formalisering och process MEN: Fokuserar inte på slutanvändaren Användningsfall för verksamheten Organisations-enhet Verksamhetsaktör
Systemutvecklingstrender 2000-tal Datorstöd för systemutveckling av stora, komplexa system kräver: Modelleringsverktyg Kravhanteringsverktyg (databaser) Dokument genereringsverktyg Etc.etc..
Systemutvecklingstrender 2000-tal Agil systemutveckling lättrörlig systemutveckling Fokus på flexibilitet jfr vattenfallsmetoden Nära samarbete kund/användare Inkrementellt och iterativ utveckling - löpande mindre leveranser utvärderas och kan ändras för att möta nya krav och önskemål. människor och kommunikation löser problem under utvecklingsarbetet snarare än verktyg och formella dokument T ex Extreme programming, SCRUM Säger sig fokusera användare kund men vem är användaren?
Systemutvecklingstrender 2000-tal Responsive Web Design (RWD) Utveckla och designa webbplats som tillåter layout att förändras beroende på vilken daterenhet, skärmlayout besökaren har Innehållet på webbplatsen som besökare surfar till anpassas efter dennas plattform. (t ex android, läsplattor)
Allmänna problem - sammanfattning Processen: IS tar tid att utveckla, är svåra att förändra, kostar att underhålla och får svåröverblickbara konsekvenser vid driftstörning Användbara system är svåra att utveckla vilka är intressenterna hur når vi dem och hur löser vi intressentkonflikter? IS är svåra att förändra Få saker kan adderas eller tas bort utan att det försämrar system Svårt att backa tillbaka IS förändrar organisationer och kan få oönskade konsekvenser Tvingar anpassning (verksamhet, användare) till systemets utformning och beteende Användare tar saken i egna händer och Fattar beslut inkonsistenta med verksamhetensformella system Olika verksamheter kräver olika ansatser det finns inte en silver bullet som löser alla problem Ny teknik och nya trender påverkar systemutvecklingprocesser! Det har inte blivit enklare, trots nya ansatser, verktyg et c!
Förnyade ansatser till användarmedverkan Behålla fokus på domän, användare och användarens behov Inarbeta användarperspektiv i alla faser av utvecklingsprocess T ex agila metoder? Formaliserar och integrerar processer av användarmedverkan (var, när, hur) Trade-off effektivitet, genomförbarhet/full användarmedverkan Reflektion runt nya verktyg och hur de kan hanteras av användare Nya sätt att hantera komplexa, stora och heterogena användaroch intressent grupper (iväg från utvecklingsgruppen?) Hantera rotation i utvecklingsgrupp Verktyg som möjliggör deltagande på distans Olika verksamheter kräver olika ansatser det finns inte en användar centrerad ansats som löser alla problem!!
Nästa gång Gästföreläsning bland grynnor och blindskär, ICT i sjöräddningsverksamhet
Näst-nästa gång Metoder och tekniker för systemutveckling och dess tillämparhet i olika kontexter Forskningsmetoder (Användarcenterade) systemutvecklingmetoder och tekniker Praktiska exempel från verkligheten (responssystem) för att illustrera hur verksamhetsanalys/diagnos kan göras
Frågor?