SlideShare ist ein Scribd-Unternehmen logo
1 von 59
Application Lifecycle Management 
With Microsoft Visual Studio 
Presented By 
Mahmoud Samara 
ALM Consultant
ALM 
What is it? Why VS? 
Code 
Source Control, 
Architect 
Modeling. class, layered, use cases diagrams .. 
Test 
Test Case and Bug Management, Test Automation 
Build & Deploy 
CI, Gated Check-in, Scheduled build 
BA 
Requirements Management, Storyboarding … 
Release 
Automated Release Management 
Project Management 
Task Management, Resource Management .. 
Diagnostic & Monitor 
Intellitrace 
Work 
Agile and Scrum, Product Backlog, Collaboration. 
Dashboards & Reporting 
Excel Services, Reporting Services, Charts 
Integration 
Integration with other systems 
Agenda
ALM What is it? Why VS?
Gartner Report for ALM, Sept 2013 
Microsoft is leading the 
Application Life Cycle 
Management with it’s broad 
coverage of development cycle 
stages and simplicity of 
deployment.
Work be agile, use scrum !!
Work What is SCRUM? 
Is an iterative and incremental agile software development framework for managing 
software application development 
• Enables teams to self-organize by encouraging collaboration of all team members and daily 
face to face communication among all team members and disciplines in the project. 
• Requirements are captured as 
items in a list of “product backlog” 
• No specific engineering practices 
prescribed 
• One of the “agile processes”
Manifesto for Agile Software Development 
We are uncovering better ways of developing software by doing it and helping others do it. 
Through this work we have come to value: (http://www.agilemanifesto.org/) 
Individuals and interactions over processes and tools 
Working software over comprehensive documentation 
Customer collaboration over contract negotiation 
Responding to change over following a plan 
That is, while there is value in the items on the right, we value the items on the left more
Principles behind the Agile Manifesto 
• Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 
• Welcome changing requirements, even late in development. Agile processes harness change for the customer's 
competitive advantage. 
• Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the 
shorter timescale. 
• Business people and developers must work together daily throughout the project. 
• Build projects around motivated individuals. Give them the environment and support they need, and trust them 
to get the job done. 
• The most efficient and effective method of conveying information to and within a development team is face-to-face 
conversation. 
• Working software is the primary measure of progress. 
• Agile processes promote sustainable development. The sponsors, developers, and users should be able to 
maintain a constant pace indefinitely. 
• Continuous attention to technical excellence and good design enhances agility. 
• Simplicity--the art of maximizing the amount of work not done--is essential. 
• The best architectures, requirements, and designs emerge from self-organizing teams. 
• At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior 
accordingly.
Product Backlog, Working in Iterations 
By defining and managing product 
backlog items, your team can capture the 
requirements of the product. Your 
product owner defines, prioritizes, and 
maintains your backlog items. Your team 
estimates the effort, the business value 
and the priority for each backlog item and 
delivers the highest priority items in each 
sprint
Work on the Kanban board 
You can use the Kanban 
board to view work in 
progress, who's doing the 
work, what needs to be done 
next, and what's been 
accomplished
Work on the Kanban board 
You can use the Kanban board to view work in progress, who's doing the work, what needs to be done next, 
and what's been accomplished
Burndown 
By reviewing a sprint or release burndown report, you can track how much work remains in a the backlog, 
understand how quickly your team has completed tasks, and predict when your team will achieve the goal 
or goals of the sprint
PM - View Team Progress
Collaborate in a team room 
Increase team productivity by 
discussing work in progress, 
asking questions, sharing 
status, and clarifying issues 
that arise. 
Your team room provides an 
area for fostering and 
capturing communication 
among team members, both 
near and far.
Alerts 
As changes occur to work items, code reviews, 
source control files, and builds, you can receive 
email notifications for alerts that you define. 
For example, you can set an alert to be 
notified whenever a bug that you opened is 
resolved or a work item is assigned to you. You 
can set personal alerts or team alerts.
BA - Storyboarding 
With storyboarding, you 
turn your ideas and goals 
into something visual. Your 
ideas are easier for other 
people to understand, so 
they can give you 
constructive feedback, 
sooner. You can bring your 
ideas to life with storyboard 
shapes, text, animation, 
and all the other features 
that PowerPoint 
Storyboarding provides
BA - Request Feedback 
Once you have working software, you're ready to get feedback from your stakeholders. 
You can ask reviewers to provide videos, screenshots, type-written comments, and 
ratings. Their feedback is captured into work items that you can review and use to create 
a bug or suggest a new backlog item
Version Control 
• Local and server workspaces 
• Suspend your work 
• Check in your work 
• Check out and edit 
• Add and Download 
• Use branches 
• Delete or restore 
• View and manage past versions 
• Compare folders and files 
• Work with version control locks
Suspend Your Work – Manage Your Shelvesets 
For a variety of reasons, sometimes you need to set aside some or all of your 
work in progress. Shelvesets are useful when you want to stop work for: 
• Interruption: You have pending changes that are not ready for check in, but you need to work 
on a different task. 
• Collaboration: You have pending changes that are not ready for check in but you need to share 
them with another team member. 
• Code Review: You want another team member to perform a code review of your pending 
changes. 
• Private Build: Before you check in your changes, you can use your automated build system to 
build and test your code. 
• Backup: You have work in progress that you cannot finish now so you want a backup copy that 
is stored on your server and available to other team members who might need to access it. 
• Handoff: You have work in progress that you want to hand off to another team member.
Branch strategically 
• How does your team manage sources that 
implement different user stories? 
• How does the team manage releases from 
the version control perspective?
SQL Database Projects 
• Importing SQL Database to Database Project 
• Navigating a Database Project Using Object View and Schema View 
• Modifying Database Schema 
• Deploying and debugging locally 
• Using database schema compare 
• Deploying Database to Non-Local Environments 
• Using Static Code Analysis on Database Projects 
• Using dacpac packages to deploy database 
• Creating and Modifying a Data Generation Plan 
• Full and Incremental deployment
Testing 
Visual Studio Ultimate, Visual Studio Premium, and Test Professional include 
Microsoft Test Manager to help you define and manage your test plans for manual 
and automated system tests. These test plans are stored on Team Foundation 
Server, and are closely integrated with its build and application lifecycle 
management tools
Testing 
• Testing using Microsoft Team Web Access and Test Manager 
• Plan and CreateManual Tests (Test Case Management) 
• Running Manual Tests 
• Tracking Bugs - Bugs Management 
• Track your test results 
• Repeat a test with different data 
• Exploratory testing 
• Collect more diagnostic data in manual tests 
• Record and play back manual tests 
• Test on a lab environment 
• Tracking software quality 
• Automate system tests 
• Recommend Test 
• System testing your application using Visual Studio
Testing - Test Manager 
Test Manager lets you create test cases and organize them into test plans and suites. 
When you perform a test, Team Web Access displays the test steps and lets you mark 
which steps passed or failed. Also Test Manager can record your actions, screenshots, 
Intellitrace logs and other diagnostic data. It also lets you manage lab environments
Testing – Team Web Access 
Team Web Access lets you create test cases 
and organize them into test plans and 
suites. When you perform a test, Team 
Web Access displays the test steps and lets 
you mark which steps passed or failed.
Testing – Raising Bugs 
While you are running Manual Testing, you can create a bug with just one click, the bug 
description automatically includes: 
• Screenshots taken as you work. 
• A record of the actual actions you 
performed 
• System information such as the operating 
system version and machine id.
Testing – Tracking and Verifying Bugs 
Use the Verify Bugs page to 
run the queries that finds 
bug created by you or 
assigned to you. If you 
created a bug, it will be 
assigned back to you when 
the developer has checked 
in the fixed code and has set 
the bug’s state to Done
Testing – Exploratory testing 
While you work with your application, Test Manager can record your actions, 
comments, screenshots and other data. Test Manager can write the test case for 
you based on the recorded actions
Testing – Analyze Test Runs 
You can track your progress for your test suites immediately after you run your tests 
from Microsoft Test Manager. You can view your progress in the Run Tests activity. You 
can view the tests that have passed and failed. You can mark tests as blocked or reset 
tests to active when you are ready to run them again
Testing - Analyze Test Runs
Testing - Record and play back manual tests 
• Let Microsoft Test Manager record your keystrokes and gestures while you are testing 
an application. The next time you run the test, you can play back your actions quickly 
and accurately. 
• Playback is very useful for reproducing bugs. You can retrace the exact actions that the 
tester performed to the point where the fault was discovered 
• Playback can also help when you want 
to run a test with different data, on 
multiple configurations, or where there 
are shared steps that are the same in 
many test cases. It also speeds up 
regression testing—that is, tests that 
you run from one sprint to the next to 
make sure that everything is still 
working correctly
Testing - Collect more diagnostic data 
While you are testing your application, 
Microsoft Test Manager can collect 
data that will help diagnose any fault 
that you might find. If you create a 
bug report while you’re testing, the 
data is automatically attached to the 
bug work item
Testing – Recommended Tests 
You can use Microsoft Test 
Manager to help you determine 
which tests might have to be 
run, based on coding changes 
that were made to the 
application you are testing. To 
be able to use this functionality, 
you have to use Team 
Foundation Build to build your 
application and use Visual 
Studio for version control for 
your source code
Testing – Test Automation 
• In each sprint, you’ll want to focus your manual test effort on the new requirements 
that are implemented in each sprint. At the same time, you’ll want to repeat some of 
the tests from previous sprints, to make sure that recent development work hasn’t 
introduced bugs into features that were working before. The workload of this 
regression testing gradually increases through the life of your project. It’s a necessary 
aspect of agile development, which starts with a simple end-to-end implementation and 
then revisits each component to add new functionality. 
• To reduce the load of regression testing, you can automate the system tests that you 
performed manually. Typically you create test cases for each requirement and perform 
them manually for one or two sprints; and then you automate some of them for future 
sprints
Testing – Automated build-deploy-test workflows 
Build your application, then deploy it and run automated tests on it in a lab environment. 
This workflow enables you to run a series of tests from a test plan, on a deployed 
application, as part of your build process. This scenario is common when running build 
verification tests.
Testing – Run automated tests on multiple computers at the same time 
This way the test run can take less time to complete 
The test controller communicates with test agents to start tests, stop tests, track test 
agent status, and collect test results
Testing – Test on a lab environment 
A lab environment is a 
group of computers that 
you manage as a single 
entity. If you’re testing a 
distributed application 
such as a web app, you 
can perform realistic 
tests by deploying each 
component on a 
separate machine
Testing – Load and Performance Test 
You can use web 
performance and load 
tests on your Web 
applications to verify 
performance and stress 
abilities. Load tests can 
be configured to emulate 
conditions such as user 
loads, browser types, 
and network types
Build Management 
With Team Foundation Build, you can create and manage 
build processes that automatically compile and test your 
applications, and perform other important functions. You 
can use your build system to support a strategy of 
continuous integration or put even more rigorous quality 
checks in place that prevent bad quality code from 
“breaking the build.” 
TFS Supports Manual Build, And Continuous Integration 
trigger to queue a build when a change is checked in, And 
Gated Check-in trigger to queue a build when a team 
member tries to check in a change and to block the 
change if the build fails
Release Management 
By using Release Management, your development and operations teams can enable additional 
capabilities in TFS 2013 so that they can more easily and confidently configure and automate 
complex deployments to a variety of target environments. You can also model release 
processes, track approvals and sign-offs, and display release status graphically.
Release Management 
• Set up release paths that 
represent your stages from 
development to production. 
• Run actions to deploy your 
app to an environment for 
that stage. 
• Add approvers to sign off 
that the app has successfully 
passed each stage
Reports (SQL Server Reporting Services) 
You can analyze the progress and quality of your project by 
using the reports in SQL Server Reporting Services. These 
reports aggregate metrics from work items, version control, 
test results, and builds. These reports answer questions about 
the actual state of your project. 
Most of these reports provide 
filters that you can use to 
specify contents to include in 
the report. Filters include time 
period, iteration and area 
paths, work item types, and 
work item states.
Visualize Progress - Charts 
You can quickly view 
the status of work in 
progress by charting 
the results of a flat-list 
query. You can create 
several types of 
charts—such as pie, 
bar, column, or 
stacked column—for 
the same query
Excel reports 
You can use the Microsoft Excel reports to display 
information from the data warehouse for your 
team project
Excel reports – Sharepoint Dashboard 
You can use the Microsoft Excel reports to display 
information from the data warehouse for your 
team project.
Visualize Code - Map specific dependencies on code maps
Visualize Code -Map dependencies across your code on dependency graphs 
When you want to understand 
dependencies across your code, map 
them with Visual Studio Ultimate. This 
helps you see how the code fits 
together without reading through 
files and lines of code
Modeling User Requirements with Sequence Diagram 
In Visual Studio Ultimate, you 
can draw a use case diagram to 
summarize who uses your 
application or system, and what 
they can do with it
Layer Diagrams 
In Visual Studio Ultimate, you can 
use a layer diagram to visualize the 
high-level, logical architecture of 
your system. A layer diagram 
organizes the physical artifacts in 
your system into logical, abstract 
groups called layers. These layers 
describe major tasks that the 
artifacts perform or the major 
components of your system. Each 
layer can also contain nested layers 
that describe more detailed tasks
UML Activity Diagrams 
In Visual Studio Ultimate, you can 
draw an activity diagram to 
describe a business process or a 
software algorithm as a flow of 
work through a series of actions. 
People, software components, or 
devices can perform these actions
UML Component Diagrams 
In Visual Studio Ultimate, you can 
draw a component diagram to 
show the structure a software 
system
UML Class Diagrams 
A UML class diagram describes the object and information structures used by your 
application, both internally and in communication with its users. It describes the information 
without reference to any particular implementation. Its classes and relationships can be 
implemented in many ways, such as database tables, XML nodes, or compositions of 
software objects
Visualize Code - Visualize code on sequence diagrams
Roles of Architecture and Modeling Diagrams in Software Development
Application Insight 
Application Insights for Visual Studio Online lets you monitor 
your deployed live application: 
• Find out what users are doing with your app, so that you can 
focus your development work where it’s most useful. 
• Make sure your web service is available and responsive. 
Whether your app is a web site or a device app that uses a 
web service, we’ll test your URL every few minutes from 
locations around the world, and let you know if there’s a 
problem. 
• Quickly diagnose any performance issues or exceptions in 
your web service. Find out if CPU or other resources are being 
stretched, get stack traces from exceptions, and easily search 
through log traces. And if the app’s performance drops below 
acceptable limits, we can send you an email. You can monitor 
both .NET and Java web services.
Application Insight
Synchronize Team Foundation Server with Project Server 
By installing Team Foundation Server Extensions for Project Server, project managers can 
use Microsoft Project Server to access up-to-date project status and resource availability 
across agile and formal software teams who work in Team Foundation. This integration 
enables data to flow from work items in Team Foundation Server to tasks in enterprise 
project plans in Project Server
ALM and Azure 
Using Azure virtual machines with release management 
deploy applications on azure websites and database 
Deploy applications on azure virtual machines

Weitere ähnliche Inhalte

Was ist angesagt?

Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013
Moataz Nabil
 
Agile methodology in cloud computing
Agile methodology in cloud computingAgile methodology in cloud computing
Agile methodology in cloud computing
Ahmed M. Abed
 
Application Lifecycle Management with TFS
Application Lifecycle Management with TFSApplication Lifecycle Management with TFS
Application Lifecycle Management with TFS
Mehdi Khalili
 
ITIL, Release Management and Automation
ITIL, Release Management and AutomationITIL, Release Management and Automation
ITIL, Release Management and Automation
IBM UrbanCode Products
 
Digite - Release Management Training
Digite - Release Management TrainingDigite - Release Management Training
Digite - Release Management Training
Digite, Inc.
 

Was ist angesagt? (20)

Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013
 
What's new in Visual Studio 2013 & TFS 2013
What's new in Visual Studio 2013 & TFS 2013What's new in Visual Studio 2013 & TFS 2013
What's new in Visual Studio 2013 & TFS 2013
 
Scrum Project Management with Jira as showcase
Scrum Project Management with Jira as showcaseScrum Project Management with Jira as showcase
Scrum Project Management with Jira as showcase
 
Release Management in TFS 2015
Release Management in TFS 2015Release Management in TFS 2015
Release Management in TFS 2015
 
Webcast: TFS 2015 & Why Upgrade
Webcast: TFS 2015 & Why UpgradeWebcast: TFS 2015 & Why Upgrade
Webcast: TFS 2015 & Why Upgrade
 
Agile methodology in cloud computing
Agile methodology in cloud computingAgile methodology in cloud computing
Agile methodology in cloud computing
 
Application Lifecycle Management with TFS
Application Lifecycle Management with TFSApplication Lifecycle Management with TFS
Application Lifecycle Management with TFS
 
Jira
JiraJira
Jira
 
ITIL, Release Management and Automation
ITIL, Release Management and AutomationITIL, Release Management and Automation
ITIL, Release Management and Automation
 
[Curitiba DEV DAY] - Novidades do TFS 2015
[Curitiba DEV DAY] -  Novidades do TFS 2015[Curitiba DEV DAY] -  Novidades do TFS 2015
[Curitiba DEV DAY] - Novidades do TFS 2015
 
Team Foundation Server Demo
Team Foundation Server DemoTeam Foundation Server Demo
Team Foundation Server Demo
 
Use of Jira Confluence as Project Management Tool
Use of Jira Confluence as Project Management ToolUse of Jira Confluence as Project Management Tool
Use of Jira Confluence as Project Management Tool
 
Digite - Release Management Training
Digite - Release Management TrainingDigite - Release Management Training
Digite - Release Management Training
 
JIRA System Admin Traning
JIRA System Admin Traning JIRA System Admin Traning
JIRA System Admin Traning
 
Agile presentation
Agile presentationAgile presentation
Agile presentation
 
Jira overview
Jira overviewJira overview
Jira overview
 
Structure plug-in introduction for JIRA
Structure plug-in introduction for JIRAStructure plug-in introduction for JIRA
Structure plug-in introduction for JIRA
 
Wikidsmart PM: Requirements Management within Confluence, Integrated with JIRA
Wikidsmart PM: Requirements Management within Confluence, Integrated with JIRAWikidsmart PM: Requirements Management within Confluence, Integrated with JIRA
Wikidsmart PM: Requirements Management within Confluence, Integrated with JIRA
 
Rapise Overview Presentation (2019)
Rapise Overview Presentation (2019)Rapise Overview Presentation (2019)
Rapise Overview Presentation (2019)
 
Agile & ALM tools
Agile & ALM toolsAgile & ALM tools
Agile & ALM tools
 

Ähnlich wie Application Lifecycle Management with Visual Studio 2013

Achal_Resume_7.11
Achal_Resume_7.11Achal_Resume_7.11
Achal_Resume_7.11
Achal Dalvi
 
Software Test Engineer with 3.6 years of experience
Software Test Engineer with 3.6 years of experienceSoftware Test Engineer with 3.6 years of experience
Software Test Engineer with 3.6 years of experience
vijaya lakshmi
 
Testing with Microsoft Technologies - Kick Off Session
Testing with Microsoft Technologies - Kick Off SessionTesting with Microsoft Technologies - Kick Off Session
Testing with Microsoft Technologies - Kick Off Session
Moataz Nabil
 

Ähnlich wie Application Lifecycle Management with Visual Studio 2013 (20)

Achal_Resume_7.11
Achal_Resume_7.11Achal_Resume_7.11
Achal_Resume_7.11
 
Agile at scale
Agile at scaleAgile at scale
Agile at scale
 
DevOps Presentation.pptx
DevOps Presentation.pptxDevOps Presentation.pptx
DevOps Presentation.pptx
 
Session on evaluation of DevSecOps
Session on evaluation of DevSecOpsSession on evaluation of DevSecOps
Session on evaluation of DevSecOps
 
Code in the Cloud - December 8th 2014
Code in the Cloud - December 8th 2014Code in the Cloud - December 8th 2014
Code in the Cloud - December 8th 2014
 
Azure dev ops
Azure dev opsAzure dev ops
Azure dev ops
 
ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the Cloud
 
Software Test Engineer with 3.6 years of experience
Software Test Engineer with 3.6 years of experienceSoftware Test Engineer with 3.6 years of experience
Software Test Engineer with 3.6 years of experience
 
Ashish Baraiya
Ashish BaraiyaAshish Baraiya
Ashish Baraiya
 
Navin Latest
Navin LatestNavin Latest
Navin Latest
 
Animesh Chatterjee
Animesh Chatterjee Animesh Chatterjee
Animesh Chatterjee
 
Deepti Debnath_2015
Deepti Debnath_2015Deepti Debnath_2015
Deepti Debnath_2015
 
Visual Studio ALM and DevOps Tools Walkthrough
Visual Studio ALM and DevOps Tools WalkthroughVisual Studio ALM and DevOps Tools Walkthrough
Visual Studio ALM and DevOps Tools Walkthrough
 
Margaret Menzies Intro & Scrum Overview
Margaret Menzies Intro & Scrum OverviewMargaret Menzies Intro & Scrum Overview
Margaret Menzies Intro & Scrum Overview
 
Testing with Microsoft Technologies - Kick Off Session
Testing with Microsoft Technologies - Kick Off SessionTesting with Microsoft Technologies - Kick Off Session
Testing with Microsoft Technologies - Kick Off Session
 
Ramachandra (1)
Ramachandra (1)Ramachandra (1)
Ramachandra (1)
 
SoftALM Product Tour
SoftALM Product TourSoftALM Product Tour
SoftALM Product Tour
 
How Does IBM Do Agile
How Does IBM Do AgileHow Does IBM Do Agile
How Does IBM Do Agile
 
Sdlc plan
Sdlc planSdlc plan
Sdlc plan
 
A Day in the Life: Developer Enhancements with Visual Studio 2012
A Day in the Life: Developer Enhancements with Visual Studio 2012A Day in the Life: Developer Enhancements with Visual Studio 2012
A Day in the Life: Developer Enhancements with Visual Studio 2012
 

Kürzlich hochgeladen

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Kürzlich hochgeladen (20)

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 

Application Lifecycle Management with Visual Studio 2013

  • 1. Application Lifecycle Management With Microsoft Visual Studio Presented By Mahmoud Samara ALM Consultant
  • 2. ALM What is it? Why VS? Code Source Control, Architect Modeling. class, layered, use cases diagrams .. Test Test Case and Bug Management, Test Automation Build & Deploy CI, Gated Check-in, Scheduled build BA Requirements Management, Storyboarding … Release Automated Release Management Project Management Task Management, Resource Management .. Diagnostic & Monitor Intellitrace Work Agile and Scrum, Product Backlog, Collaboration. Dashboards & Reporting Excel Services, Reporting Services, Charts Integration Integration with other systems Agenda
  • 3. ALM What is it? Why VS?
  • 4. Gartner Report for ALM, Sept 2013 Microsoft is leading the Application Life Cycle Management with it’s broad coverage of development cycle stages and simplicity of deployment.
  • 5. Work be agile, use scrum !!
  • 6. Work What is SCRUM? Is an iterative and incremental agile software development framework for managing software application development • Enables teams to self-organize by encouraging collaboration of all team members and daily face to face communication among all team members and disciplines in the project. • Requirements are captured as items in a list of “product backlog” • No specific engineering practices prescribed • One of the “agile processes”
  • 7.
  • 8. Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: (http://www.agilemanifesto.org/) Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more
  • 9. Principles behind the Agile Manifesto • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. • Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. • Business people and developers must work together daily throughout the project. • Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. • Working software is the primary measure of progress. • Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. • Continuous attention to technical excellence and good design enhances agility. • Simplicity--the art of maximizing the amount of work not done--is essential. • The best architectures, requirements, and designs emerge from self-organizing teams. • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
  • 10. Product Backlog, Working in Iterations By defining and managing product backlog items, your team can capture the requirements of the product. Your product owner defines, prioritizes, and maintains your backlog items. Your team estimates the effort, the business value and the priority for each backlog item and delivers the highest priority items in each sprint
  • 11. Work on the Kanban board You can use the Kanban board to view work in progress, who's doing the work, what needs to be done next, and what's been accomplished
  • 12. Work on the Kanban board You can use the Kanban board to view work in progress, who's doing the work, what needs to be done next, and what's been accomplished
  • 13. Burndown By reviewing a sprint or release burndown report, you can track how much work remains in a the backlog, understand how quickly your team has completed tasks, and predict when your team will achieve the goal or goals of the sprint
  • 14. PM - View Team Progress
  • 15. Collaborate in a team room Increase team productivity by discussing work in progress, asking questions, sharing status, and clarifying issues that arise. Your team room provides an area for fostering and capturing communication among team members, both near and far.
  • 16. Alerts As changes occur to work items, code reviews, source control files, and builds, you can receive email notifications for alerts that you define. For example, you can set an alert to be notified whenever a bug that you opened is resolved or a work item is assigned to you. You can set personal alerts or team alerts.
  • 17. BA - Storyboarding With storyboarding, you turn your ideas and goals into something visual. Your ideas are easier for other people to understand, so they can give you constructive feedback, sooner. You can bring your ideas to life with storyboard shapes, text, animation, and all the other features that PowerPoint Storyboarding provides
  • 18. BA - Request Feedback Once you have working software, you're ready to get feedback from your stakeholders. You can ask reviewers to provide videos, screenshots, type-written comments, and ratings. Their feedback is captured into work items that you can review and use to create a bug or suggest a new backlog item
  • 19. Version Control • Local and server workspaces • Suspend your work • Check in your work • Check out and edit • Add and Download • Use branches • Delete or restore • View and manage past versions • Compare folders and files • Work with version control locks
  • 20. Suspend Your Work – Manage Your Shelvesets For a variety of reasons, sometimes you need to set aside some or all of your work in progress. Shelvesets are useful when you want to stop work for: • Interruption: You have pending changes that are not ready for check in, but you need to work on a different task. • Collaboration: You have pending changes that are not ready for check in but you need to share them with another team member. • Code Review: You want another team member to perform a code review of your pending changes. • Private Build: Before you check in your changes, you can use your automated build system to build and test your code. • Backup: You have work in progress that you cannot finish now so you want a backup copy that is stored on your server and available to other team members who might need to access it. • Handoff: You have work in progress that you want to hand off to another team member.
  • 21. Branch strategically • How does your team manage sources that implement different user stories? • How does the team manage releases from the version control perspective?
  • 22. SQL Database Projects • Importing SQL Database to Database Project • Navigating a Database Project Using Object View and Schema View • Modifying Database Schema • Deploying and debugging locally • Using database schema compare • Deploying Database to Non-Local Environments • Using Static Code Analysis on Database Projects • Using dacpac packages to deploy database • Creating and Modifying a Data Generation Plan • Full and Incremental deployment
  • 23. Testing Visual Studio Ultimate, Visual Studio Premium, and Test Professional include Microsoft Test Manager to help you define and manage your test plans for manual and automated system tests. These test plans are stored on Team Foundation Server, and are closely integrated with its build and application lifecycle management tools
  • 24. Testing • Testing using Microsoft Team Web Access and Test Manager • Plan and CreateManual Tests (Test Case Management) • Running Manual Tests • Tracking Bugs - Bugs Management • Track your test results • Repeat a test with different data • Exploratory testing • Collect more diagnostic data in manual tests • Record and play back manual tests • Test on a lab environment • Tracking software quality • Automate system tests • Recommend Test • System testing your application using Visual Studio
  • 25. Testing - Test Manager Test Manager lets you create test cases and organize them into test plans and suites. When you perform a test, Team Web Access displays the test steps and lets you mark which steps passed or failed. Also Test Manager can record your actions, screenshots, Intellitrace logs and other diagnostic data. It also lets you manage lab environments
  • 26. Testing – Team Web Access Team Web Access lets you create test cases and organize them into test plans and suites. When you perform a test, Team Web Access displays the test steps and lets you mark which steps passed or failed.
  • 27. Testing – Raising Bugs While you are running Manual Testing, you can create a bug with just one click, the bug description automatically includes: • Screenshots taken as you work. • A record of the actual actions you performed • System information such as the operating system version and machine id.
  • 28. Testing – Tracking and Verifying Bugs Use the Verify Bugs page to run the queries that finds bug created by you or assigned to you. If you created a bug, it will be assigned back to you when the developer has checked in the fixed code and has set the bug’s state to Done
  • 29. Testing – Exploratory testing While you work with your application, Test Manager can record your actions, comments, screenshots and other data. Test Manager can write the test case for you based on the recorded actions
  • 30. Testing – Analyze Test Runs You can track your progress for your test suites immediately after you run your tests from Microsoft Test Manager. You can view your progress in the Run Tests activity. You can view the tests that have passed and failed. You can mark tests as blocked or reset tests to active when you are ready to run them again
  • 31. Testing - Analyze Test Runs
  • 32. Testing - Record and play back manual tests • Let Microsoft Test Manager record your keystrokes and gestures while you are testing an application. The next time you run the test, you can play back your actions quickly and accurately. • Playback is very useful for reproducing bugs. You can retrace the exact actions that the tester performed to the point where the fault was discovered • Playback can also help when you want to run a test with different data, on multiple configurations, or where there are shared steps that are the same in many test cases. It also speeds up regression testing—that is, tests that you run from one sprint to the next to make sure that everything is still working correctly
  • 33. Testing - Collect more diagnostic data While you are testing your application, Microsoft Test Manager can collect data that will help diagnose any fault that you might find. If you create a bug report while you’re testing, the data is automatically attached to the bug work item
  • 34. Testing – Recommended Tests You can use Microsoft Test Manager to help you determine which tests might have to be run, based on coding changes that were made to the application you are testing. To be able to use this functionality, you have to use Team Foundation Build to build your application and use Visual Studio for version control for your source code
  • 35. Testing – Test Automation • In each sprint, you’ll want to focus your manual test effort on the new requirements that are implemented in each sprint. At the same time, you’ll want to repeat some of the tests from previous sprints, to make sure that recent development work hasn’t introduced bugs into features that were working before. The workload of this regression testing gradually increases through the life of your project. It’s a necessary aspect of agile development, which starts with a simple end-to-end implementation and then revisits each component to add new functionality. • To reduce the load of regression testing, you can automate the system tests that you performed manually. Typically you create test cases for each requirement and perform them manually for one or two sprints; and then you automate some of them for future sprints
  • 36. Testing – Automated build-deploy-test workflows Build your application, then deploy it and run automated tests on it in a lab environment. This workflow enables you to run a series of tests from a test plan, on a deployed application, as part of your build process. This scenario is common when running build verification tests.
  • 37. Testing – Run automated tests on multiple computers at the same time This way the test run can take less time to complete The test controller communicates with test agents to start tests, stop tests, track test agent status, and collect test results
  • 38. Testing – Test on a lab environment A lab environment is a group of computers that you manage as a single entity. If you’re testing a distributed application such as a web app, you can perform realistic tests by deploying each component on a separate machine
  • 39. Testing – Load and Performance Test You can use web performance and load tests on your Web applications to verify performance and stress abilities. Load tests can be configured to emulate conditions such as user loads, browser types, and network types
  • 40. Build Management With Team Foundation Build, you can create and manage build processes that automatically compile and test your applications, and perform other important functions. You can use your build system to support a strategy of continuous integration or put even more rigorous quality checks in place that prevent bad quality code from “breaking the build.” TFS Supports Manual Build, And Continuous Integration trigger to queue a build when a change is checked in, And Gated Check-in trigger to queue a build when a team member tries to check in a change and to block the change if the build fails
  • 41. Release Management By using Release Management, your development and operations teams can enable additional capabilities in TFS 2013 so that they can more easily and confidently configure and automate complex deployments to a variety of target environments. You can also model release processes, track approvals and sign-offs, and display release status graphically.
  • 42. Release Management • Set up release paths that represent your stages from development to production. • Run actions to deploy your app to an environment for that stage. • Add approvers to sign off that the app has successfully passed each stage
  • 43. Reports (SQL Server Reporting Services) You can analyze the progress and quality of your project by using the reports in SQL Server Reporting Services. These reports aggregate metrics from work items, version control, test results, and builds. These reports answer questions about the actual state of your project. Most of these reports provide filters that you can use to specify contents to include in the report. Filters include time period, iteration and area paths, work item types, and work item states.
  • 44. Visualize Progress - Charts You can quickly view the status of work in progress by charting the results of a flat-list query. You can create several types of charts—such as pie, bar, column, or stacked column—for the same query
  • 45. Excel reports You can use the Microsoft Excel reports to display information from the data warehouse for your team project
  • 46. Excel reports – Sharepoint Dashboard You can use the Microsoft Excel reports to display information from the data warehouse for your team project.
  • 47. Visualize Code - Map specific dependencies on code maps
  • 48. Visualize Code -Map dependencies across your code on dependency graphs When you want to understand dependencies across your code, map them with Visual Studio Ultimate. This helps you see how the code fits together without reading through files and lines of code
  • 49. Modeling User Requirements with Sequence Diagram In Visual Studio Ultimate, you can draw a use case diagram to summarize who uses your application or system, and what they can do with it
  • 50. Layer Diagrams In Visual Studio Ultimate, you can use a layer diagram to visualize the high-level, logical architecture of your system. A layer diagram organizes the physical artifacts in your system into logical, abstract groups called layers. These layers describe major tasks that the artifacts perform or the major components of your system. Each layer can also contain nested layers that describe more detailed tasks
  • 51. UML Activity Diagrams In Visual Studio Ultimate, you can draw an activity diagram to describe a business process or a software algorithm as a flow of work through a series of actions. People, software components, or devices can perform these actions
  • 52. UML Component Diagrams In Visual Studio Ultimate, you can draw a component diagram to show the structure a software system
  • 53. UML Class Diagrams A UML class diagram describes the object and information structures used by your application, both internally and in communication with its users. It describes the information without reference to any particular implementation. Its classes and relationships can be implemented in many ways, such as database tables, XML nodes, or compositions of software objects
  • 54. Visualize Code - Visualize code on sequence diagrams
  • 55. Roles of Architecture and Modeling Diagrams in Software Development
  • 56. Application Insight Application Insights for Visual Studio Online lets you monitor your deployed live application: • Find out what users are doing with your app, so that you can focus your development work where it’s most useful. • Make sure your web service is available and responsive. Whether your app is a web site or a device app that uses a web service, we’ll test your URL every few minutes from locations around the world, and let you know if there’s a problem. • Quickly diagnose any performance issues or exceptions in your web service. Find out if CPU or other resources are being stretched, get stack traces from exceptions, and easily search through log traces. And if the app’s performance drops below acceptable limits, we can send you an email. You can monitor both .NET and Java web services.
  • 58. Synchronize Team Foundation Server with Project Server By installing Team Foundation Server Extensions for Project Server, project managers can use Microsoft Project Server to access up-to-date project status and resource availability across agile and formal software teams who work in Team Foundation. This integration enables data to flow from work items in Team Foundation Server to tasks in enterprise project plans in Project Server
  • 59. ALM and Azure Using Azure virtual machines with release management deploy applications on azure websites and database Deploy applications on azure virtual machines