2. Solidifys processer för
mjukvaruutveckling låter dig som
utvecklingschef, IT-chef eller
affärsutvecklare fokusera på rätt saker.
Resultatet är mer programvara, av
bättre kvalitet, snabbare och till lägre
kostnad.
3. Visual Studio 2013 ALM
SharePoint 2013
Code Lense
Paste images into work item
SQL Server 2012 R2
Web Test Manager
Work Item Charts
Learn
Plan Unit test store apps
SCOM 2012 R2
Kanban
SCVMM 2012 R2
UI test enhancements
Code Map
Scheduled backup and
Remote test store apps
Customizable work item
restore Define
Server build code using Git colors
Deploy
Project portfolio management New build template
Work item tags
Construct control over build Operate
Monitor
EnterpriseDevelop
Agile
Better
Team Foundation Service
Source code comments
output
Hosted build
Test
Manage
Team rooms
Drop build to TFS
…
Git
InRelease
Enhanced Team Explorer
Elastic load service
Code maps
Delete team project from web
Visual debugger
Bulk edit test cases
5. Visual Studio 2012/2013 Wave
Frequent updates for on-premises/boxed products
DevOps
Visual Studio 2012 Visual Studio 2012 capabilities with
System Center
Launch
Update 1
2012 SP1
September 2012
October 2012
November 2012
January 2013
Visual Studio 2012 Visual Studio 2012 Visual Studio 2013
Update 2
Update 3
Launch
March 2013
3-week service delivery sprints
Team Foundation Service
June 2013
November 2013
6. Visual Studio Online
• ALM in the Cloud
• Continuously updated
• Several user plans
– Basic
– Professional
– Advanced
9. Plan: Agile Portfolio Management
• Agile for large workloads
Manage several teams in an
organization
Get insight from Features and
track progress down to Stories
and/or Tasks
• Consolidate portfolio
Easy navigation and visualization
of complex hierarchy of scenarios
Gain understanding of overall
project completion across multiple
teams
10. Collaborate: Project Teams
• Team room
Durable & real-time communication to improve team
collaboration
Centralized and searchable project activity feed including
changes to code, work items, build status and more
12. Test Case Management
•
Support for non-Windows operating systems
with enhanced web-based test case
management
• Create or manage Test Suites and Plans
using web interface
16. CodeLens
Heads-up Display for your code
Code indicators layered over the code editor for classes &
methods
All the information you need
Code References for classes & methods
Team information including changesets & authors from
Team Foundation Server 2013
Unit Test status & in-line test execution
19. “Continuous Delivery is a software
development discipline where you build
software in such a way that the software can
be released to production at any time”
Martin Fowler, ThoughtWorks
20. Different stages of Release Management
Deployment Pipeline
Directed Deployment
Build & Deploy
F5
21. A word on Environments
Visual Studio Online
Windows Azure
On-Premises
22. Visual Studio Lab Management + Azure = True
Azure
Subscription
Standard Environment
Point to Site VPN
Brian Keller TFS VM
TFS Server
Test Controller
Build Controller/Agent
Visual Studio
MTM
28. Testing with Visual Studio 2013 ALM
• Manual Testing
– Web Test Manager
– Test Manager
• Automated Testing
– Unit Testing
– Coded UI Test
– Web performance testing
• Load testing
– Unit Test/Web performance Test
– On premise
– Azure
• Test Explorer
– Playlist
32. Load Testing in the Cloud
Use Visual Studio Ultimate combined with
Team Foundation Service to conduct load
testing using Windows Azure hosted load
agents
Scale load tests easily from tens to
thousands of users without the need to setup
your own infrastructure
As part of this continuous process of delivering value, one component that often gets overlooked is the release phase. As a distinct piece, it’s not always that hard to deploy a single instance of an application to a single environment. However, the promise of continuous value relies on the ability to continuously publish updated versions of an application across a variety of environments for various purposes, which can be very difficult to perform and manage. As a result, Microsoft continually invests a lot of effort in simplifying and scaling this process so that it can become more repeatable, predictable, and transparent.
Commitment to more frequent product updates shows that Build, Measure, Learn and agile development practices are being applied within Microsoft. Updates to Team Foundation Service are now occurring every few weeks.Given the higher-frequency of updates, organizations may need to make some changes to the way they evaluate new versions of development tools. There may be no “right time” to make the necessary upgrades and modify internal processes, so organizations will need to quickly match their needs with the current offering in order to make a decision. Some organizations may update as quickly as updates arrive, while others will be more selective. To help support these decisions, quite a bit of work goes into maintaining backwards compatibility with the previous major update, and different versions of Visual Studio can be installed side-by-side when needed.
A major goal is the ability to take a single build package and push it out to each environment in the same way.[Build]This drastically reduces the amount of manual effort required to update the environments and can make the entire process much smoother.
Another important aspect to each release environment is what we’ll refer to as the “stage stack”. This is a simple layout of the steps typically required to get a packaged app from a build location out to a prepared environment, through the necessary install and configuration, through the required tests, and finally approved for migration to the next stage. Microsoft has provided many of the tools to support this stack, although sometimes a little extra work is required to help it all work together.[Build]Lab Manager is available to help provision environments.[Build]PowerShell is ideal for configuring environments.[Build]There are some useful built-in tools for deploying and installing the application itself.[Build]And lots of companies invest in their own custom tools to configure applications.[Build]Running automated tests during the release process is becoming the standard for applications of every type.[Build]Microsoft Test Manager handles the testing aspects.[Build]And now with Release Management for Team Foundation Server 2013, this entire process is only going to get better.
Let’s take a look at how the new release management infrastructure fits into your development environment.[Build]First, you’ll deploy Release Management Server.[Build]Next, you’ll install deployment nodes on the target systems in your deployment environments.[Build]You can then configure Release Management Server to pull builds from TFS and push them out to the specified environment.[Build]There is also a client app and Web UI that allow users to interact with the release management, workflow, and reporting features.A release typically gets triggered by an automated event, whether it’s a check-in or on a schedule. However, you can manually create a release as well. Once a release is begun, it works its way down the “release path”, which might be “Dev to QA to Production” with automated and/or manual gates at each.The paths are composed on the various servers grouped into environments on which the testing for the stage is performed. Once an application needs to be deployed to a new environment, the server will queue deployment requests to all the required target servers for each component of the application. This allows an atomic deployment of all the components.The Release Management Deployment Agent running on each target server monitors the Release Management Server continually, at a configurable interval, and will pick the installation requests for the one or many components it needs to install locally.The Deployment Agent will then find and download the release package, provided by the Release Management Server. RMS calculates the location using the TFS API, if built by TFS, or using a predefined UNC path if not. Finally, the Deployment Agent downloads any additional executables, such as batch files, PowerShell scripts, EXEs, etc, to be run as part of the installation. These are additional deployment activities beyond the installation itself. Creating test data or triggering automated tests are common scenarios here.