Mød Microsoft – for udviklere & arkitekter Mød Microsoft – for udviklere & arkitekter Project Management with Visual Studio Team System Jørgen Thyme Microsoft Danmark
Velkommen! Dagen i dag:.NET 2.0 Arkitektursproget Arkitektur og design Beta- (og præ-beta)-software Eksperter fra industrien (og fra MS) Feedback Vi er her for jeres skyld
Agenda Udfordringer ved softwareudvikling Introduktion til VSTS Team Foundation Server
Udfordringer ved softwareudvikling Kommunikation ikke altid optimal mellem Arkitekter og udviklere Udviklere og infrastruktur “Bundlede” værktøjer I modsætning til integrerede værktøjer Fejlopsamling Udvikling Styring af test Opgavedelegering
Udviklingsgrupper Infrastruktur- arkitekt Løsnings- arkitekt Projektleder Udvikler Tester Bruger
Spørgsmål om processen Hvad er processen? Hvilke dokumenter skal udfyldes nu? Hvad er kravene? Hvilke udviklingsopgaver relaterer sig til hvilke krav? Hvilke tests relaterer sig til hvilke krav? Hvilken kode relaterer til sig til hvilken test og til hvilket krav? Følger vi tidsplanen?
Projektstyring Lister (Bugs, krav, etc) Kildekode Gruppe- kommunikation Proces- vejledninger Releases
Agenda Udfordringer ved softwareudvikling Introduktion til VSTS Team Foundation Server
Visual Studio Team System Change ManagementWork Item Tracking Reporting Project Site Visual Studio Team Foundation Integration ServicesProject Management Process and Architecture Guidance Dynamic Code Analyzer Visual Studio Team Architect Static Code Analyzer Code ProfilerUnit Testing Code Coverage Visio and UML ModelingTeam Foundation Client (includes CAL)Visual Studio Professional Edition Load TestingManual Testing Test Case ManagementApplication Designer Logical Infra. Designer Deployment Designer Visual Studio Team Developer Visual Studio Team Test Visual Studio Industry Partners Build Automation Class Designer
Projektstyring Drift af projektet Office integration Advanceret rapportering Processen MSF 4.0 Integration out-of-the-box Kan skæddersyes
MSF 4.0 i Team System Det rigtige indhold til den rigtige person på det rigtige tidspunkt – ”Agile” Produktivitet Projektledelse Procesvejledninger Automatisk build Integration Integreret hjælp og MSF indhold Excel og Project out of the box Team Foundation Services Extensibility Vores proces, jeres proces eller ingen proces Tilpas, udvid eller opret Procesworkflow Enterprise Templates
Agenda Udfordringer ved softwareudvikling Introduktion til VSTS Team Foundation Server
Visual Studio Team Foundation Integreret platform til samarbejde i softwareudviklingsprojekter Source Code Control Work Item Tracking Build Automation Team Communication Reporting
Team System Integration Leveres af Team Foundation Server Metodeskabeloner Work Item Types, workflow Check In Policy Skabeloner til specifikationer Rapporter Groups & Permissions Integreret hjælp Exit kriterier for faserne Integreret i hjælpen Kan opdateres via MSDN Bogserie fra Addison Wesley & MS Learning
Team Project En “samling” på en Team Foundation Server Work items Kildekode Build data Testresultater Reference til dokumenter på projektportal
Demo Setting up a Team Project
Reports Build Summary of Tests Test Failures without Active Bugs Tests Passing with Active Bugs Bug Rates Exit Criteria Status My bugs Builds Build Details report Work Progress Load Test Selection report Load Test Summary report Load Test Comparison Work Item List Bug List Code Complete Dev/QA Bug Counts Dev/QA Work Issues Scenario Stability Team Productivity Regressions Test Effectiveness Code Coverage Details Test Result Details Generic Charting Cumulative Flow Velocity Quality Blocked Inventory Buffer Usage Backlog Unit Test Effectiveness Number of Bugs by Priority Build Report
Mød Microsoft – for udviklere & arkitekter Mød Microsoft – for udviklere & arkitekter Modellering og Design med Visual Studio Team System Jørgen Thyme Microsoft Danmark
Agenda Team Architect System Definition Model Modelleringsværktøjer Software factories
Team Architect Udfordringer Distribuerede systemer og SOA øger kompleksiteten ved udviklings- og deployment Kommunikation ikke altid optimal mellem Arkitekter og udviklere Udviklere og infrastruktur
Source: David M. Anderson, Design for Manufacturability: Optimizing Cost, Quality, and Time-to-Market, Second Edition (2001), CIM Press Læren fra bilfremstilling 8% af budgettet brugt når design er klart 80% af omkostninger fremover
Visual Studio Team System Change ManagementWork Item Tracking Reporting Project Site Visual Studio Team Foundation Integration ServicesProject Management Process and Architecture Guidance Dynamic Code Analyzer Visual Studio Team Architect Static Code Analyzer Code ProfilerUnit Testing Code Coverage Visio and UML ModelingTeam Foundation Client (includes CAL)Visual Studio Professional Edition Load TestingManual Testing Test Case ManagementApplication Designer Logical Infra. Designer Deployment Designer Visual Studio Team Developer Visual Studio Team Test Visual Studio Industry Partners Build Automation Class Designer
Agenda Team Architect System Definition Model Modelleringsværktøjer Software factories
Modellering Modellering giver et fælles sprog Fokus på centrale abstraktioner Design og kommunikation Analyse og problemstilling Udfordringer Hold modeller synkroniseret med virkeligheden Design/valg af modelleringssprog og værktøjer
System Definition Model Lag Applications Application Hosting Logical Machines & Network Topology Hardware System Definition Model
Definition af applikationsmodellering En Applikation er en individuel deployerbar enhed af funktionalitet Som kan tilbyde eller anvende services via endpoints (bredere definition end SOA) Et System er et konfigurerbar sæt af en eller flere applikationer Kan sammensættes og skaber dermed mere komplekse systemer Kan deployes og administreres som en helhed
Agenda Team Architect System Definition Model Modelleringsværktøjer Software factories
Applikationdesigner Bruges til definition og visualisering af applikationer i en VS solution
Systemdesigner Bruges til at definere en specifik konfiguration af applikationer og system
Fysiske netværksdiagrammer er ikke kompatible med udviklere! Modellering af logisk datacenter
Definitioner anvendt på logisk datacenter En logisk server beskriver værten (i form af en server) for en applikation Et logisk datacenter er et konfigurerbart sæt af logiske servere En zone er en afgrænsning af et logisk datacenter (fysik, sikkerhed, kommunikation etc.) eller et sikkerhedsdomæne En deployment definition beskriver deployment af et system til et logisk datacenter
Logisk datacenter designer Bruges til definition af en logisk model af et datacenter Set fra en udviklers perspektiv
Deployment designer Definerer hvordan applikationer i et system skal deployes i et datacenter
Demo Application Designer
Demo Logical Datacenter Designer
Demo Deployment Designer
Demo System Designer
Agenda Team Architect System Definition Model Model designers Software factories
Kunder ønsker at vide…. Hvilke slags systemer kan jeg bygge? Hvordan ser arkitekturen ud i hvert af dem? Hvordan kommer jeg fra krav til til deployment? Hvilke artifakter og hvodan hænger de sammen? Hvorfor er metoder så ineffektive? Hvorfor er de ikke integreret i mine værktøjer? Hvorfor kan jeg ikke få detaljeret og specifikke vejledning til mit projekt? Hvorfor er modelleringsværktøjer så ineffektive? Hvorfor kan de ikke generere produktionsklar kvalitetskode? Hvorfor forbliver modeller synkroniseret med koden?
Softwareudvikling som håndværk Arbejdsintensivt Generelle værktøjer Generelle processer Engangsapplikationer Håndsyet fra start Minimal genbrug Overskridelser, fejl, sikkerhedsbrister, projektfiaskoer Agile metoder? Formelle metoder?
Hvad er en software factory? En software factory er som en restaurant Et udviklingsmiljø for en specifik type af produkter
Hvad er et software factory skema? Et software factory skema er som en recept Indeholder ingredienserne og viser hvordan de skal kombineres for at lave en nyt produkt af en bestemt type
Hvad er en software factory skabelon? En software factory skabelon er som en pose varer fra supermarkedet “Brugbart” indhold som projekter, patterns, skabeloner, frameworks, aktiviteter, værktøjer
Vi er der ikke helt endnu Specialisering af produktlinie udvikling og produkudvikling “Gør det selv” modelling – udvikling af domænespecikke modeller og sprog
Yderligere information m w/softwarefactories/ 23. marts - en hel dag om VSTS – produktgruppen besøger Danmark