Microsoft Visual Identity PowerPoint Guidelines

advertisement
Moderne SoftwareEntwicklung mit TFS 2013
und Visual Studio 2013
Christian Binder (Microsoft)
Thomas Schissler (artiso)
http://www.flickr.com/photos/5auge/9134637318/
http://www.flickr.com/photos/ian_crowther/8538917315/
http://www.flickr.com/photos/54027476@N07/4999919941/
IDEAS
DATA
CODE
Anforderungs
Management
Qualitätssicherung
Stakeholder
einbeziehen
AppTelemetrie
Continous
Delivery
Erweiterbare
Architektur
EntwicklerProduktivität
Developer
Operations
Planning Tools
Was ist daran falsch?
Technologien, Architektur, Tools etc. sind cool
Aber welchen Kundennutzen erzeugen sie?
Bauen wir wirklich Funktionen die unsere Anwender benötigen?
Oder bauen wir Funktionen von denen wir glauben, dass sie benötigt werden?
Stakeholder sind wichtig für ein Projekt, ohne sie kein Projekt
Also müssen wir sie auch wichtig nehmen und uns um sie kümmern
Alle die ein Interesse an dem Ergebnis haben, ohne
direkt an der Umsetzung beteiligt zu sein
Management
Marketing /
Sales
Kunden /
Key-User
Außendienst
Operations
Trainings
Support
…
You can‘t just
ask customers
what they want
and then try to
give that to
them.
By the time you
get it built,
they‘ll want
something new.
Steve Jobs
Priorität bei
Stakeholdern
DeploymentAufwand
Feedback
verwalten
Unklare
Anforderungen
Best Guess
Sprach- und
DomainBarrieren
?
||
Storyboards
• Ideen schnell und einfach
Skizzieren und Abstimmen
• Konzepte reviewen
Feedback Client
• Qualifiziertes Feedback
einholen
• Inkrementelle Entwicklung
optimieren
Storyboarding &
Feedback Client
1. MAKE BUSINESS HYPOTHESIS
A TESTABLE EXPERIMENT
2. DEFINE EXPERIMENT AS
MINIMUM VIABLE PRODUCT
(MVP)
3. BUILD
MEASUREMENT
INTO MVP
6. PERSEVERE OR PIVOT
5. GAIN
VALIDATED LEARNING
4. MEASURE
THE RESULTS
Release
Category
Feature
TFS 2012.1
Kanban
Kanban Board
TFS 2012.2
Web-based Test Case
Management
Execution of Manual Test Cases & basic Test Case Authoring
TFS 2012.2
Kanban
Customizable Columns
TFS 2012.2
Backlog Management
Tagging work items
TFS 2013
Web-based Test Case
Management
Test Plan & Suite authoring in the web and many other
improvements
TFS 2013
Team Collaboration
Team Room and Code Comments in changesets/commits
TFS 2013
Project Management Across
Agile Teams
Agile Portfolio Management – “Features”
TFS 2013
Git
Git support for on-premises, Branch Visualization, etc.
TFS 2013
WI Charts
Basic Reporting based on WI Queries
http://tfs.visualstudio.com/news/release-archive
Team Foundation Server / Service
Team Projekt A
3rd Party
Lokale
Repos
Team Projekt B
3rd Party
Continuous Integration
http://visualstudiogallery.msdn.microsoft.com/f3f23845-5b1e-4811-882f-60b7181fa6d6
TFS
DEV
Automates Workflow
QA
PROD
Full Traceability
Release Management
Release Management
selbst gebaut
Visual Studio
PROD
TFS
RM
2013
QA
DEV
Azure
Cloud
Service
+
SQL Azure
Visual Studio
PROD
QA
VSO
Continuous Delivery using
Visual Studio Online
Traditional Model
DevOps Model
Mean Time to Detect (MTTD)
Mean Time to Repair (MTTR)
Monitoring - System Center and TFS
SCOM – Intellitrace on Demand
Application Insights
Application Insights
Learn - Feedback and Telemetry
WORKING
Software
http://visualstudio.uservoice.com
Application Insights
Available
Health Dashboards
Is my application available and
performing for users?
One Dashboard
Performing
Notifications & Deep Insights
What’s wrong?
Show me suspicious code and test cases
Improving
Usage Dashboards
Where do we invest next?
Show me top features and customer
Usage patterns
Code change
Non-invasive
Team
Organisation
Agiles
Testen
Mindset
Test
Automati
-sierung
Ein agiles Dream-Team
AkzeptanzTest Driven
Development (ATDD)
Verändern das
Qualitätsbewusstsein der
Entwickler
Gehören zur
Machen
Implementierung Entwickler
effizienter
Unit-Tests
Herausforderungen
Architektur Mindset
Practices
Objective
Stub
Shim
Looking for max. performance?
Abstract and Virtual methods
Interfaces
Internal types
Static methods
Sealed types
Private methods
http://vsartesttoolingguide.codeplex.com
Exploratives Testen
Regression Tests:
Funktioniert noch,
was gestern
funktionierte?
Default = Ja!
Unit-Tests
Integrationstests
Automat.
UI Tests
Setup Tests
100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
14
12
10
8
6
4
2
0
Memory Consuption of Process [MB]
5/31/2013
5/29/2013
5/27/2013
5/25/2013
5/23/2013
Testlaufzeit
5/21/2013
5/19/2013
5/17/2013
5/15/2013
5/13/2013
5/11/2013
5/9/2013
5/7/2013
5/5/2013
5/3/2013
5/1/2013
PerformanceAnalysen und
TrendAuswertung
CPU Usage [%]
CPU
Memory
Load Tests in der
Cloud
Retrospektive
Kontinuierliche
Verbesserung
Probleme früh
erkennen
Wissen und
Erfahrung im
Team nutzen
Voneinander
lernen
Motivation durch
gemeinsame
Ziele
Wartbar
Testbar
Erweiterbar
• Redundanzen
• UI-Componenten (z.B. Message-Boxen) im Code
verwenden
• Zugriffe auf Ressourcen (z.B. Files) nicht isolierbar
• Zu viel Funktionalität in einer Methode
• Starke Bindung zwischen Klassen
Single
Responsibility
MVVM / MVC
POCOs
Sackgassenmethoden
Trennung
-Daten
-Orchestrierung
-Logik
Komponentenorientierung
IoC
Interfaces
IntegrationsTest
Recognize
SplitLine
ReadData
SplitDigit
Recognize
Digit
DB
IntegrationsTest
Recognize
IntegrationsTest
SplitLine
IntegrationsTest
ReadData
DB
SplitDigit
Recognize
Digit
IntegrationsTest
Unit-Test
Integrations-Test
Recognize
DB
ReadData
SplitLine
SplitDigit
Recognize
Digit
IntegrationsTest
Unit-Test
Unit-Test
Unit-Test
Code Maps
Layer Diagramme
UML Diagramme
Code Clone Detection
Code Visualisierung
und Architektur-Tools
GIT Integration
Code Lense
Team Rooms
IDE Improvements
IDE Improvements
Moderne
SoftwareEntwicklung ist
mehr als Code
und Technologien
In kürzen Zyklen
denken und
agieren
Automatisierung
ist ein wesentlicher
Aspekt
cbinder@microsoft.com
Microsoft Deutschland GmbH
Konrad-Zuse-Str. 1
Christian
Binder
D-85716 Unterschleißheim
http://blogs.msdn.com/cbinder
TSchissler@artiso.com
artiso Solutioins GmbH
Oberer Wiesenweg 25
D-89134 Blaustein
http://www.artiso.com/problog
Thomas
Schissler
Herunterladen