Användbarhet vs. utveckling. Ett utvecklarperspektiv. Tidsrelaterade problem. Konflikter. Formella hinder. Upphandling

Relevanta dokument
Användbarhet vs. utveckling. Ett utvecklarperspektiv. Tidsrelaterade problem. Konflikter. Formella hinder. Upphandling

Ett utvecklarperspektiv. Användbarhet vs. utveckling. Konflikter. Varför har så många system låg användbarhet?

Användbarhet vs. utveckling. Utvecklarperspektivet. Konflikter. Tidsrelaterade problem. Formella hinder. Upphandling.

Konflikter. I huvudet på en utvecklare. Verkliga problem. Offertvarianter. Upphandling. Låtsasvärld. Utvecklarperspektivet. Risk. Fast pris.

Labb 1: Vad, hur, och varför?

Automation Region. Affärsdriven systemutveckling genom agila metoder. Stefan Paulsson Thomas Öberg

Linköpings universitet 1 TDP029. Systemutveckling. Systemutveckling. Vanliga faser. Fler faser. Systemutvecklingsmetod

Objektorienterad Programkonstruktion. Föreläsning 3 9 nov 2015

Användarcentrerad Systemutveckling

Objektorienterad Programkonstruktion. Föreläsning 3 7 nov 2016

Chaos om datorprojekt..

Kvalitetsarbete I Landstinget i Kalmar län. 24 oktober 2007 Eva Arvidsson

Efterhand fick vi ett system som vi tyckte var väl anpassat. Vi renskrev kladden (nedan) och började programmera menyerna.

Kommunikation för dataloger

Välkommen in på min hemsida. Som företagsnamnet antyder så sysslar jag med teknisk design och konstruktion i 3D cad.

Föreläsning 3: Händelsestyrda program och användargränssnitt

Chaos om IT-projekt..

Föreläsning 10. ADT:er och datastrukturer

Prototyper och användartest

Design av användargränssnitt

Design och konstruktion av grafiska gränssnitt

DD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/ Kursöversikt Javarepetition/Javaintroduktion

Make a speech. How to make the perfect speech. söndag 6 oktober 13

Preliminär specifikation av projekt

Read Texterna består av enkla dialoger mellan två personer A och B. Pedagogen bör presentera texten så att uttalet finns med under bearbetningen.

Om oss DET PERFEKTA KOMPLEMENTET THE PERFECT COMPLETION 04 EN BINZ ÄR PRECIS SÅ BRA SOM DU FÖRVÄNTAR DIG A BINZ IS JUST AS GOOD AS YOU THINK 05

Swing. MER Java Foundation Classes (JFC) Hur lära sig? Vad är farorna. LayoutManagers. Exempel på några av komponenterna

Upplägg. Introduktion. Examination. Mål. Konsekvenser. Java. Kursen heter konstruktion, ej design eller formgivning.

GYMKEEPER ANDREAS SÖDERSTRÖM

Tentamen , Introduktion till Java, dtaa98, dtea53

ITK:P1 Föreläsning 4. Grafiska gränssnitt i Java. AWT-komponenter

Hur fattar samhället beslut när forskarna är oeniga?

Design av användargränssnitt

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl

Denna vecka. Idag. Grafiskt användarsnitt. Vi kommer att se

Chapter 4: Writing Classes/ Att skriva egna klasser.

Att stödja starka elever genom kreativ matte.

Användningscentrering i agila utvecklingsprojekt. johanna.sarna@valtech.com Valtech

ITK:P1 Lektion 4. Lektion 4. Lektion 4. Att implementera en spelidé i Java. DSV Peter Mozelius

Swing. MER Java Foundation Classes (JFC) Vad är farorna. Hur lära sig? LayoutManagers. Exempel på några av komponenterna

Testramverk och Model based testing med java i praktiken

Business Design. Creosa är ett företag specialiserat på kreativ intelligens ihopkopplat med entreprenörskap och affärsutveckling.

Engelska åk 5 höstterminen 2013

Psykosocial enkät. 191 svar av 354 möjliga: 54% 2014: 172 av 333 = 52% 2011: 68%

Lösningar till tentamen i EDAF25

Design och konstruktion av grafiska gränssnitt

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 5 Jonas Lindgren, Institutionen för Datavetenskap, LiU

The Last Adventure. Innehåll. Objektorientering. Språket Java. Java - Paket. Java - synlighet. Den sista lektionen. Repetition.

Installation av F13 Bråvalla

USB styrt DMX gränssnitt

FÖRELÄSNING 8 DSV2PVT

Föreläsnings 11 - GUI, Händelsestyrda program, MVC

BOENDEFORMENS BETYDELSE FÖR ASYLSÖKANDES INTEGRATION Lina Sandström

Tentamen Programmering fortsättningskurs DIT950

Så säkerställer du affärsnyttan för dina produkter

Projektuppgift.

PRESENTATION. Anders Wasserman, 34 år. Fästmö och en son. Arbetat i Hammarby IF FF i sju säsonger i U11 - U19. UEFA Youth Elite Diploma

Användbarhet i sitt sammanhang

Välkommen till Creosa.

Do you Think there is a problem with the car traffic to or from the inner city weekdays ?

Java-concept och Swing. Swing low, sweet chariot

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Föreläsnings 9 - Exceptions, I/O

Examination i. PROGRAMMERINGSTEKNIK F1/TM1 TIN212 (Dugga) Dag: Onsdag Datum: Tid: (OBS 3 tim) Rum: V


On the Establishment of UCSD i n in Organisations Åsa Cajander Uppsala Universitet Universitet

Visuell GUI Testning

Arbetsmiljö för doktorander

Reguljära uttryck. Reguljära uttryck. Nu kommer en siffra78 och en till SIFFRA(78) men utan 7kstuga SIFFRA(89)

a. Vilka av följande påståenden är riktiga? Observera att felaktigt valda påståenden ger poängavdrag. (4p)

Tentamen i Programmeringsteknik I

Design av användargränssnitt

Interaktion 2 STYRDON, PEKDON OCH ANNAN INTERAKTION ATT RÄKNA MED

Att använda data och digitala kanaler för att fatta smarta beslut och nå nya kunder.

System.out.println("Jaså du har "+ antalhusdjur+ " husdjur"); if ( antalhusdjur > 5 ) System.out.println("Oj det var många);

Agil utveckling ställer nya krav på upphandling. Roland Bäcklin, Jaybis Konsult AB

Tentamen Nätverksprogrammering Lösningsförslag

Kommandobaserad interaktion

Laboration 1 Introduktion till Visual Basic 6.0

Tentamen i Grundläggande programmering STS, åk 1 lördag

Hälsan tiger still och medborgaren samtycker

Module 1: Functions, Limits, Continuity

Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på:

Självkörande bilar. Alvin Karlsson TE14A 9/3-2015

Mentalträning GUSK PA, säsongen 2012

Mer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada

OMTENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13: 15

Tentamen Objekt-orienterad programmering i Java, 5p distanskurs

Andy Griffiths Age: 57 Family: Wife Jill, 1 kid Pets: Cats With 1 million SEK he would: Donate to charity and buy ice cream

Laboration 10 - Eclipse

Laboration 3 GUI-programmering

Att skriva till och läsa från terminalfönstret

Objektorienterad Programkonstruktion, DD1346 FACIT. Tentamen , kl

Tentamen i Algoritmer & Datastrukturer i Java

Programmeringsteknik II - HT18. Föreläsning 6: Grafik och händelsestyrda program med användargränssnitt (och Java-interface) Johan Öfverstedt

Inspel till dagens diskussioner

Innehåll. Styrdon (ej i boken) Fitts lag (sidan ) Natural user interfaces. Kap 6.2.9, , Kap

Utvärdering. Användbarhet. + beställarperspektivet! Innehåll. Varför?

Changes in value systems in Sweden and USA between 1996 and 2006

Transkript:

Ett utvecklarperspektiv Användbarhet vs. utveckling Varför har så många system låg användbarhet? Konflikter bråk om vad som ska utvecklas Tidsbrist användbarhet hinns ej med Upphandling kan ge formella hinder Okunskap inte veta vad göra Oförmåga inte klara av att möta mål Uppsala universitet @ 2006 Design och konstruktion av användargränssnitt distanskurs Informationsteknologi 2007-05-11 #2 Konflikter Har vi egentligen konflikter mellan beställare och utvecklare? Nja, men olika faktorer styr när man blir nöjd det är svårt att skilja systemutveckling från verksamhetsutveckling (= turbulens) svag förståelse för varann: mycket är en språk- och intressebarriär, ej nödvändigtvis en konflikt i sig dålig medverkan i de andras aktiviteter leder ofta till osämja Tidsrelaterade problem Produktivitet Avtar med antalet personer. Kompensera med gruppuppdelning; ger ännu fler parter att hantera Att öka takten är snudd på omöjligt Människor är inte plug&play-kompatibla Informationsteknologi 2007-05-11 #3 Informationsteknologi 2007-05-11 #4 Formella hinder Dåliga odds från första början på grund av upphandling Fast pris + låsta krav = betong Upphandling är ofta lek i en låtsasvärld Beställaren låtsas veta alla framtida krav Leverantören låtsas tro på det, och låtsas vidare att det går räkna ut fix kostnad för att konstruera systemet Utvecklarna låtsas att utveckling är statiskt och använder metoder som tar fyrkanter som indata och som producerar nya fyrkanter Alla blir förvånade/upprörda när systemet sedan inte håller måttet Upphandling KUNDEN LEVERANTÖREN Krav Analys: behov Analys: tid & pengar Offert Informationsteknologi 2007-05-11 #5 Informationsteknologi 2007-05-11 #6 1

Risk Offertvarianter Blandformer Fast pris med böter Fast pris Okunskap Design för användbarhet Inget som skiljer sig från andra krav Dock, det finns sällan konkreta användbarhetsmål om man frågar beställare/användare/experter! Alltså ligger svaret troligen i hur man utvecklar, inte vad Löpande räkning Chans att få kontrakt Informationsteknologi 2007-05-11 #7 Informationsteknologi 2007-05-11 #8 Oförmåga Projektmedlemmar Något av ett tabu: vi är olika bra (och dåliga) Vi är dessutom individuellt olika bra/dåliga på olika saker Ofta saknas kompetens för nya moment och situationer Mycket hade kunnat förbättras med Framförhållning Utbildning Träning Lösningen? Problemen är många, enkla lösningar finns ej tyvärr! Dock, det går lösa flera problem genom en lämplig utvecklingsmetodik Om utvecklarna varit med i framtagandet av krav och prototyp så ökar chanserna att nå bra resultat Informationsteknologi 2007-05-11 #9 Informationsteknologi 2007-05-11 #10 Svaghet Stor brist ligger i my baby -syndromet; att man aldrig vill ändra på en egen (=vacker) lösning Leder till ett enda utvecklingsspår mot målet; det är ej tillräckligt Denna naturlag fungerar åt båda håll, men oftast är det utvecklarna som får skäll Finns en mängd olika strategier för att undvika just den fällan Här är 7 stycken: 1. Perfektionism Hela tiden leta efter den ultimata lösningen; nuvarande lösning endast temporär Bygger på att det existerar en killer app som löser alla våra problem Inte riktigt sant Eller Informationsteknologi 2007-05-11 #11 Informationsteknologi 2007-05-11 #12 2

Verkligheten Worse is Better gäller tyvärr Richard P. Gabriel vs. Nickieben Bourbaki Good News, Bad News, How to Win Big http://www.dreamsongs.com/worseisbetter.html I korthet: Enkelhet i kod > enkelhet i design Enkel > korrekt Enkel att bygga > enkel att använda 2. Projektledning Arbetssätt är en fråga om inställning Jämför hur coachning sker av målvakter i hockey och handboll Kompetens och självförtroende Duktiga utvecklargrupper tvekar inte att slänga bort saker som inte passar eller är bra nog. Det gäller nå denna nivå/attityd! Coachning Ledargestalt Utbildning, anställa den bästa i världen Prestigelös miljö Informationsteknologi 2007-05-11 #13 Informationsteknologi 2007-05-11 #14 3. Metodik Arbeta på ett sätt som omöjliggör revirbevakande och rigida strukturer Prototypdriven verksamhet är sådan, med stora vinster: I en datorvärld kommer prototyper sanningen mycket nära Prototyper kan dock bara ge svar på frågor; ingen generell räddningsplanka Metodik, hur bäst förstöra Skapa moment som går emot allt mänskligt Förutsätt konsekvent beteende av de som ska använda metoden Om vi bara folk kunde vara konsekventa (och vara snälla, motionera mera, röka mindre ) så skulle det inte vara ett problem Förutsätt att folk ska ändra beteende ifall någon vill det Ingen byter personlighet pga metod Informationsteknologi 2007-05-11 #15 Informationsteknologi 2007-05-11 #16 4. extreme Programming (XP) Förändringarna har förändrats Verksamhet förändras hela tiden, alltså bör även systemen göra det Ett nytt sätt att utveckla system Kontinuerliga förändringar! Testdriven process 2 x personer = 1 dator Inga dokument sparas Gemensamma ståmöten Långsiktig planering är osäker, alltså låter man bli sånt XP, del 2 Gör upp med gamla sanningar Att tänka efter ger bättre kvalité än att göra nu Fel: kvalité har med riktig användning att göra, inte planerad användning. T.ex. snabbast ta första tunnelbaneuppgången än den rätta Att göra rätt sak från början är billigare än att rätta i efterhand Fel: troligtvis behövs saken inte alls, om den sedan behövs gör man det då. Dokumentation är viktig att spara Fel: den är så dålig att den inte är värd något Välj bästa lösningen Fel: välj enklaste lösningen, för den är ändå bra nog (och enklare att ändra) Koda, testa sedan att det blev rätt Fel: gör test först, koda sedan Informationsteknologi 2007-05-11 #17 Informationsteknologi 2007-05-11 #18 3

5. Designkriteria Jobba mot förbestämda mål Överenskomna Gemensamma Styrande Målen riskerar bli förtäckta krav 6. Rationale Att arbeta enligt Design Rationale kan hjälpa utvecklingsgruppen att ompröva alla lösningar Motiverar lösningar även för andra, externa personer Ger bättre kvalité på varje del-lösning, men hjälper det i det stora hela? Informationsteknologi 2007-05-11 #19 Informationsteknologi 2007-05-11 #20 7. Verktyg Genom att noggrant välja verktyg kan man uppnå många positiva effekter Inga låsningar Visionära Nästan samma vinst som via prototyper Papperslappar, skisser, Verktyg, hur bäst förstöra Verktyg för kommunikation Börja med 2 personer vid svarta tavlan Ta bort närhet mellan personer (video) Ta bort alla förklarande gester (telefon) Se till att intonation inte kan användas till att förmedla vad som är viktigt (epost) Se till att man inte kan ställa frågor (dokument) Detta är vad de flesta metoder rekommenderar Informationsteknologi 2007-05-11 #21 Informationsteknologi 2007-05-11 #22 Verktyg, välj rätt Kommunikation Svarta tavlan Verktyg, välj rätt byggnad "Make sure there are whiteboards and coffee corners all over the building. (IBM) Telefon Epost Formell notation Dokument Strukturerat dokument Verktyg Informationsteknologi 2007-05-11 #23 Informationsteknologi 2007-05-11 #24 4

4 vanligaste verktygen För hand (ovanligt) Färdigt bibliotek (toolkit) Färdigt gränssnittsverktyg (builder) Modell-baserade gränssnitt (kommer starkt) Handgjort Ligger direkt ovanpå hårdvara Högsta möjliga kontroll Högsta möjliga prestanda Svår och arbetskrävande utveckling, oflexibelt, hög kunskapströskel Ger ganska ofta låg kvalité Tänk videobandspelare Informationsteknologi 2007-05-11 #25 Informationsteknologi 2007-05-11 #26 Bibliotek Hög tröskel; man måste kunna alla delar i biblioteket Kräver mycket kod/arbete Utmärkta prestanda Bra kontroll Hello, exempel i Java import javax.swing.*; class HelloWorldSwing { public static void main(string args[]) { JFrame mainwin = new JFrame("MainWindow"); JButton button = new JButton("Hello World"); mainwin.getcontentpane().add(button); mainwin.pack(); mainwin.show(); } } Informationsteknologi 2007-05-11 #27 Informationsteknologi 2007-05-11 #28 Bibliotek, byggklossar Builder/RAD Vanligaste lösningen idag Visual Basic, Visual C++, Forte, etc Kräver fortfarande att man kan hela biblioteket Flexibel utveckling, stor frihet Billigt Hjälpsystem, underhåll, distribution, felhantering, Ger initialt en snabb utveckling (falsk känsla dock) Informationsteknologi 2007-05-11 #29 Informationsteknologi 2007-05-11 #30 5

Informationsteknologi 2007-05-11 #31 Informationsteknologi 2007-05-11 #32 Builder/RAD funkar ej! WYSIWYG saknar uttryckskraft All förändring av utseende kräver en manuell förändring/operation Jämför med kommandon i operativsystem: Rename.htm.html abc/* Byter filändelse på alla filer i mappen abc från.htm till.html Hur gör man motsvarande operation med mus och tangentbord? Informationsteknologi 2007-05-11 #33 Informationsteknologi 2007-05-11 #34 http://www.javaworld.com/javaworld/jw-07-1999/jw-07-toolbox-p5.html To paraphrase Fred Brook's wonderful essay "No Silver Bullet," well over half of the time you spend working on a project (on the order of 70 percent) is spent thinking, and no tool, no matter how advanced, can think for you. Consequently, even if a tool did everything except the thinking for you -- if it wrote 100 percent of the code, wrote 100 percent of the documentation, did 100 percent of the testing, burned the CD-ROMs, put them in boxes, and mailed them to your customers the best you could hope for would be a 30 percent improvement in productivity. In order to do better than that, you have to change the way you think. Modellbaserat gränssnitt rubrik: textfält(ej inmatning), bakgrund=vit. varningsrubrik: rubrik, bakgrund=röd. Informationsteknologi 2007-05-11 #35 Informationsteknologi 2007-05-11 #36 6

Modellbaserat gränssnitt Bokabiljett: rubrik( Boka biljett ), dag, namn( Ditt namn ), knapp( Skicka beställning ). dag: rubrik( När vill du resa), datum. Utvärdering http://evaluering.ibg.uu.se/it/ Informationsteknologi 2007-05-11 #37 Informationsteknologi 2007-05-11 #38 7