2009-02-02. Verktyg för agil systemutveckling. Vad är ett verktyg? Olika typer av verktyg för mjukvaruutveckling. Vad kan ett bra verktyg tillföra?



Relevanta dokument
Kvalitetssäkra ditt projekt med kontinuerlig integration

Therese Hansson & Magnus Jonsson. Motivationsfaktorer - Test inom Agila utvecklingsprojekt

ALM Live: Testfokus bättre mjukvarukvalitét med Visual Studio 2008 Team System

Presentation. Fredrik Runnsjö 1996 Utvecklare 2004 Testare ~2006 Scrum/Canban

SCRUM och agil utveckling

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

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

Testdriven utveckling. Magnus Jonsson Siemens Medical Solutions

Du fulländar mig! Om synergierna mellan agila metoder och UX. Joakim Holm Adaptiv AB. Erik Hammarström Antrop AB

Systemet. Varför? Persiska viken 3 juli Resultat. Mitt under striden: USA befinner sig i konflikt med Irak och Iran. Mitt under striden, forts:

ALM Live. April 2008 Effektivare projektarbete med Visual Studio 2008

Agile Enterprise Architecture

Fokus på seniora konsulter med mycket erfarenhet

Agil testning i SCRUM

Kursmål. Kursens delar. Obligatorisk närvaro

ALM Live: Scrum + VSTS

DevOps i Verkligheten

Linköpings universitet 1

360 Infrastruktur v.4.1 & SharePoint Magnus Larsson, Software Innovation

Systemutvecklare.NET, C#/VB, C/C++, ASP.NET, T-SQL, JAVA Systemdesign

Presentation av projektstatus samt design av automatiska tester

Kanban. Marcus Hammarberg. torsdag den 15 september 2011 (v.)

Continuous Integration med Jenkins. Linus Tolke Enea Experts

Informationshantering vid systemutveckling styrd av CM

This work by. Fredrik Wendt. is licensed under a. Creative Commons

Testautomatisering. Intro

Certifieringswebb. Version 1.0 Mats Persson

Agile i ett större sammanhang

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

Agila Metoder. Nils Ehrenberg

Pragmatisk programmering. Cyberrymden Marcus Rejås Pragmatisk programmering,16 december (29)

Projekt intranät Office 365 av Per Ekstedt

Tomas Borg, konsult, SAS Institute Elin Rydell, konsult, SAS Institute Copyright 2003, SAS Institute Inc. All rights reserved.

OOA Objektorienterad Analys. Exempel på informell kravspecifikation. DD2385 Programutvecklingsteknik Några bilder till föreläsning 11 13/5 2013

Agile i ett större sammanhang. Thomas Nilsson CTO, Agile Developer, Coach & Mentor

Agil programutveckling

Installation/uppdatering av Hogia Personal fr.o.m. version 13.1

Enhetstester på.netplattformen

konsultprofil Björn Wismén

F7 Agila metoder. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Ulf Asklund Datavetenskap, LTH

En snabbare väg till framgång Ett agilt angreppssätt för BI Johan Petersson

12 principer of agile practice (rörlig)

En guide för dig i EmpowerDags

Azure Designer. Version 1.0 Mats Persson

En guide för dig som utvecklar programvaradags

Steget efter CAD Data Management. Per Ekholm

KONSULTPROFIL Michael

LABBINTRODUKTION. Laboranter: Kurs: - Sonny Johansson, Sigurd Israelsson. Utskriftsdatum:

Examensarbeten hösten 2015

360 Avtalshantering. Överblick, enkelhet och effektivitet i avtalshanteringen

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.3.1

Teststrategier och Testcertifiering. Per Strandberg, Maj 2013

#integrationsdagarna16. Välkomna INTEGRATIONSDAGARNA 2016

Pragmatisk programmering. Cyberrymden Marcus Rejås Pragmatisk programmering,19 september (26)

Användarcentrerad systemdesign

Hur hanterar vi risk? Vad är TKO? Skillnad på agil och trad? Agil/Lean: Defer Commitment, Build knowledge, Fail fast

Hur ställer jag kraven

BTH Studentkontohantering API Management

Agilt arbetssätt i komplexa organisationer. Välkomna! Anna Picetti, IT-HUSET

Tove Carlsund Systemutvecklare

KANBAN på fem minuter

Javautvecklare. Utbildningsfakta. 400 YH-poäng, 2 år

Fem steg för bästa utvecklingssamtalet

Våra älskade och hatade applikationer! Våra älskade och hatade applikationer! Atea Application Center Applikationshantering dyrt och tidsödande, eller

Examensarbeten hösten 2014

Innehållsförteckning Sida 3 Om IT-Högskolan Sida 4-5.NET-utvecklare Sida 6-7 Applikationsutvecklare till iphone och Android Sida 8-9 Mjukvarutestare

Manuell installation av SQL Server 2008 R2 Express för SSF Timing

iscala Credit Management Scalabruk höstmöte 2011 Presenteras av: Fred Boström

F2 XP Extrem Programmering översikt. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson, Görel Hedin Datavetenskap, LTH

Kursöversikt Certifierad Mjukvarutestare

Versionshantering. Jan Erik Moström

Säkerställ er tillgänglighet Kommunikationsrapporteringsverktyg

1 Vad är Versionshantering? 2 Git. 2.1 GitHub

Fungerar Agila principer i alla typer av projekt?

Instruktion för användande av Citrix MetaFrame

MONIKA PLEVNIK TESTLEDARE/ KRAVANALYTIKER/ TESTARE/ SCRUM MASTER/ BUSINESS ANALYST

Dag König Developer Tools Specialist Microsoft Corporation

SCRUM och mycket mer

Mer om kodkvalitet. Mer om kodkvalitet. Hur kan man jobba med kodkvalité? Hur kan man jobba med kodkvalité? Hur kan man jobba med kodkvalité?

DI Studio nyheter

Agila arbetsformer. Gemensamma värderingar

Programmering. Hur, var, när och varför. 22 November. Lars Ohlén Tieto

Har funnits nästan lika länge som datorerna. Manuell process, svarta tavlan Verktygsstöd kom tidigt redan i början på

TDDD26 Individuell projektrapport

Installationsanvisning. Dokumenttyp Installationsanvisning Område Boss med delad databas

Lean programvaruutveckling

AVCAD 4.0 för Windows

KONSULTPROFIL Stefan A

KONSULTPROFIL Rodrigo

Uppgift v1: Teststrategi i sammanhang Terese Berger. Teststrategi. Projekt CiviCRM. Version 0.9. Sida 1(7)

Streamflow. IT-stöd för kontaktcenter. Streamsource AB en del av Jayway-gruppen Jan Nilsson

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.6.0

Copyright 2003, SAS Institute Inc. All rights reserved.

Tekniskt system för Lean Startup

konsultprofil Björn Wismén

Credit Management. Presenteras av: Carina Johansson Ingemar Ohlsson

Scalabruk Presented by: Fred Boström VD BitLog AB & Part Trap Logistics AB

GIT L0002B INTRODUKTION TILL PROGRAMMERING OCH C# Information inför kursstart

CV: Jan Järnesjö. Uppdragshistorik. Trafikverket Roll(er): Systemutvecklare / Systemarkitekt. Volkswagen Roll(er):

Djupstudie - Datorbaserade system för tracking

Transkript:

Vad är ett verktyg? Verktyg för agil systemutveckling Individuals and interactions over processes and tools - The Agile Manifesto Papper, penna, linjal CAD-program Skruvmejsel Skruvdragare Etc 1 2 Vad kan ett bra verktyg tillföra? Olika typer av verktyg för mjukvaruutveckling Effektivitet Produktivitet Kvalitet Skilda åsikter bland agila utövare om hur, var och när verktyg ska användas Relativt litet fokus jämfört med annat inom den agila världen Projektstöd Informationsdelning/Dokumentation Kravhantering/Ärendehantering Testning Modellering Stöd för agila practices Refactoring Automatiserade tester Kontinuerlig integration Etc 4 5 The Agile Manifesto Excel Individuals and interactions over processes and tools Working software over comprehensive documentation Används i allt för stor utsträckning till allt för mycket Kan möjligen användas för att hålla reda på statistik Fungerar som exportformat från många verktyg Customer collaboration over contract negotiation Responding to change over following a plan 6 8 1

Versionshantering Refactoring och deployment Team Foundation Server för Dotnet och Visual Studio Visst stöd i Visual Studio och Eclipse Subversion Git CVS Etc.. IDEA IntelliJ är en IDE som har mycket bättre stöd än Eclipse ReSharper eller DevExpress i Visual Studio Flex Builder för Flash/AIR SQL Toolbelt, SQL Delta, m fl för databaser Ant Maven 9 10 Automatiska tester Kontinuerlig integration Stöd i Visual Studio från version 2005 MS Build (TFS) för Dotnet Junit och Nunit Rspec Fitnesse Cruise Control Continuum Bamboo Selenium M fl 11 12 Virtuella maskiner Ärendehantering mm Vi utvecklar ofta på virtuella maskiner Snabbt byta projekt Snabbt få in nya utvecklare i ett projekt Lätt med flera maskiner för utveckling, test osv Minskar risken vid införande av nya verktyg etc. Blir något fel kan man alltid slänga maskinen och börja om. Vissa miljöer och plattformar som t ex MOSS kräver att man utvecklar på ett serveroperativ Används i olika grad för att hålla reda på Krav Buggar Tester JIRA BugZilla 13 14 2

Informationsdelning och dokumentation Projektstöd low-tech Information radiators White boards WIKI Sharepoint Automatiska rapporter White board, task board Post-it, story cards Kortlek för planning poker Timglas 15 16 Story card Task Board Story (PBI) PBI #1 PBI#2 To do Impeded In Process To verify Done Task#2 Task#3 Task#4 Task #5 Task#1 17 Kortlek för planing poker Projektstöd high-tech XPlanner ScrumWorks Mingle Hansoft Rally software VersionOne Target Process Scrum Pad Planningpoker.com M fl 19 20 3

Lean mjukvaruutveckling 1. Eliminate waste (Extra features, churn, buffers mellan organisationer) 2. Focus on learning (Arbeta vetenskapligt, utmana standarder, snabb och ständig feedback) 3. Build quality in (Arbeta med test) 4. Defer commitment (Ta stora beslut så sent som möjligt för att hålla möjligheter öppna) 5. Deliver fast (Ger möjlighet till snabb feedback, snabb ROI, undvik multi-tasking) 6. Respect people (Bygg team, effektivt ledarskap, respektera partners och utvecklas tillsammans) 7. Optimize the whole (Fokus på hela värdeströmmen, leverera komplett produkt, mät resultat) Eliminate waste Ta bort det som inte adderar värde till processen 7 typer av slöseri: 1. Ej färdigt arbete 2. Extra processer 3. Extra funktioner 4. Byte mellan arbetsuppgifter 5. Väntan 6. Förflyttning 7. Defekter 21 22 Är det möjligt att få allt i ett verktyg? Team Foundation Server Microsoft försöker uppnå detta med Visual Studio Team System (VSTS) som består av Visual Studio och Team Foundation Server (TFS) Vi ska titta närmare på de olika delarna i TFS för att få konkreta exempel Om jag skulle rekommendera ett verktyg så är det TFS, eller delar av den 26 27 Vad är TFS? Scrum for Team System En del i Microsofts Visual Studio Team System (VSTS) Application Lifecycle Management (ALM) En helhetssyn på verktygsstöd Processmallar för olika typer av processer (CMMI, Agile, etc) En processmall för TFS som ska stödja Scrum Skapat av ett företag som heter Cochango i samarbete med Ken Schwaber Ingående processvägledning Många värdefulla rapporter (och många onödiga) Version Control Team Foundation Server Work Item Tracking Reporting and BI Team Portal Team Build 28 29 4

Systemutveckling med TFS Hantera koden 7 konkreta steg till en effektivare miljö Höj blicken Samla teamet Gör det synligt Hantera koden Testa kontinuerligt Effektiv utveckling Spåra allt Bygg kontinuerligt Editor DRY (Don t Repeat Yourself) Refactoring Collective Code Ownership Versionshantering Använd det Lita på det Samla allt Lär dig använda shelve, branch & merge 30 31 Testa kontinuerligt Många olika typer av tester Om inte du testar under utvecklingen kommer någon annan göra det - i värsta fall blir det slutanvändaren. - fritt efter Andy Hunt Skriv kod Kör tester Enhetstest Funktionella tester Integrationstest Stabilitetstest Prestanda- & lasttestning Användbarhetstester Acceptanstester Kör tester Skriv test Team System har dåligt stöd för manuella tester, men det kommer nya funktioner för detta i version 2010 32 33 Bygg och integrera kontinuerligt Spåra allt Ärendehantering Sharepoint / Wiki Warehouse VCS 34 36 5

Spåra allt Passiv spårning och dokumentation Krav Buggar Önskemål Att göra Ska inte kräva någon arbetsinsats Har man satt upp t ex CI så kan man lätt generera grafer mm Lätt att ta ut statistik vid vilken tidpunkt som helst Fungerar som dokumentation över projektet Händelser Instruktioner Dokumentation Idéer 37 38 Synliggör Visuell återkoppling Lyft fram viktig information Sharepoint som samlingsplats Visa rapporter direkt Push på kritisk info Förädla informationen RSS Episerver dashboard Information radiators Utskrifter Whiteboard Skärmar Lampor 39 40 Samla teamet (och andra) Information radiators Färdiga rapporter Dokumenthantering Ladda ner och installera Microsoft Virtual PC: http://www.microsoft.com/downloads/details.aspx?familyid=04d2 6402-3199-48a3-afa2-2dc0b40a73b6&displaylang=en TFS färdigpreparerad image för Virtual PC: http://www.microsoft.com/downloads/details.aspx?familyid=c7a8 09d8-8c9f-439f-8147-948bc6957812&displaylang=en Scrum For Team System: http://www.scrumforteamsystem.com/en/default.aspx Visual Studio Team System (90 dagar trial): http://msdn.microsoft.com/sv-se/vsts2008/products/cc268310(enus).aspx Det finns även en Express-version av VS2008: http://www.microsoft.com/express/download/ För att ansluta till TFS krävs en Team Explorer 41 42 6

Vad kostar det? Ha inte för höga förväntningar Licenser Utbildning Rekrytering Ibland en lägre produktivitet initialt, lär dig visa på hur verktyg påverkar ditt arbete Mät kostnader, skillnader och resultat för att ha bättre beslutsunderlag nästa gång ni ska välja verktyg Alla kan inte lika bra som du Det är svårare än vad du trodde Andra saker prioriteras Lättare så länge bara ditt team berörs Men ditt team är sällan en isolerad del i projektet eller organisationen Det är inte verktyget som avgör om ni lyckas, det är er process och den formas av era kunskaper och erfarenheter. 43 44 Kom ihåg! Lär dig arbeta agilt med analoga verktyg för projektstöd innan du börjar använda de digitala! 45 7