SlideShare a Scribd company logo
1 of 77
http://agilemanifesto.org/
© Aaron Bjork
http://visualstudiomagazine.com/Articles/2012/04/01/An-Agile-Primer.aspx
http://scrum.org/
Product
Backlog
Sprint
Backlog
Sprint
Working increment
of the software
Source: VersionOne – State of Agile Development Survey Results 2011 (http://www.versionone.com/state_of_agile_development_survey/11/)
Two-thirds of respondents work
at companies that have
adopted agile across 3 or more
teams.
Scrum or Scrum variants continue to
make up more than two-thirds of the
methodologies being used, while
Kanban has entered the scene this year
as a meager player. The only category
that saw growth this year was Custom
Hybrids (9% up from 5%).
CMDBTFS
PMO
ALM Ops
data,
metrics,
work products,
models,
policies,
compliance
Project
Server
Datacenter Models, Automated Diagnostics
Management Packs, Policy Templates, Capacity Models
Tested Configured VMs
http://tfs.visualstudio.com/
Team Foundation Server Team Foundation Service
.1
Feb 11
Source: InCycle Software
http://git-scm.com/
https://github.com/
X
.x
https://github.com/
local repo
git pull
git push
git commit
tf get
tf checkin
git commit
git tf pull
git tf checkin
B
RI
B FI
RI
FI FIB
RI
Emergency
Hotfix
Release Branching - Basic (two branch)
Read The Free Manual
Source: Jez Humble © 2010
Source: unknown
Red
GreenRefactor
Operations
Customer
Dev
Read The Free Manual
Source: Applied Software Measurement, Capers Jones © 1996
UI
Service
Unit
Source: Mike Cohn © 2010
also
Business Layer
Business Logic
…
more,
solid,
fast
brittle
expensive
time consuming
GUI Test
End to end
Test
Workflow Test
Integration Test
Business Logic Test
Unit Test
MSTest
NUnit
xUnit
.NET
MSTest
gtest
xUnit++
C++
QUnit
Jasmine
JavaScript
MSpec
SpecFlow
BDD
[TestClass]
class TestStockAnalyzer
{
[TestMethod]
public void TestContosoStockPrice()
{
// Arrange:
// Create the fake stockFeed:
IStockFeed stockFeed = new StockAnalysis.Fakes.StubIStockFeed() // Generated by Fakes.
{
// Define each method:
// Name is original name + parameter types:
GetSharePriceString = (company) => { return 1234; }
};
// In the completed application, stockFeed would be a real one:
var componentUnderTest = new StockAnalyzer(stockFeed);
// Act:
int actualValue = componentUnderTest.GetContosoPrice();
// Assert:
Assert.AreEqual(1234, actualValue);
}
// ...
}
Step 1: Create your
scenario
Step 2: Write that
scenario in English
Step 3: Translate
english to Code
Step 4: Create Code
so it works
Step 5: Run your test
for feedback while
you code
Step 6: Approve
result so it continues
to work
Step 7: Change the
requirement
Step 8: See the new solution Step 9: Re-approve
so it continues to
work
Test RunnerCoded UI
Code/XML RecorderPlayback & API
Technology Abstraction Layer (TAL)
Low Level Hooks
MSAA/UIA Web Third Party
http://www.specflow.org/specflownew/ProjectSetupGuide.html
❶ ❷
❸ ❹ ❺
Mark each step as
passed / failed
File an information-rich bug
http://visualstudiogallery.msdn.microsoft.com/9975b601-beca-4553-b4cc-f6d34ab6394e
(1) Get source (2) Compile projects
(3) Copy build to running
environment
(4) Run deployment scripts for
each machine
(5) Create environment snapshot
(6) Execute
automated tests
(7) Send test
results
(8) Publish results to
Team Foundation Server
VMM Agent Test Agent Test Agent
VM Host WebServer
(VM)
Database Server
(VM)
VirtualEnvironment
http://blogs.msdn.com/b/visualstudioalm/archive/2012/05/18/optimizing-intellitrace-collection-
on-production-server.aspx
Closing the
Feedback loop
http://www.gartner.com/technology/reprints.do?id=1-1ASCXON&ct=120606&st=sb
IDC:
IT PPM Market Landscape
December 2010 Evaluating VS2010
http://tinyurl.com/ALM2012 http://tinyurl.com/TFS2012Book http://tinyurl.com/Agile2012Book
Modern developer workflow

More Related Content

What's hot

QTP&UFT Automation Framework
QTP&UFT Automation FrameworkQTP&UFT Automation Framework
QTP&UFT Automation Framework
Yu Tao Zhang
 
Qtp With Descriptive Programming
Qtp With Descriptive ProgrammingQtp With Descriptive Programming
Qtp With Descriptive Programming
Kuldeep Sharma
 
Successful Teams are TDD Teams
Successful Teams are TDD TeamsSuccessful Teams are TDD Teams
Successful Teams are TDD Teams
Rob Myers
 
Less02 2 e_testermodule_1
Less02 2 e_testermodule_1Less02 2 e_testermodule_1
Less02 2 e_testermodule_1
Suresh Mishra
 

What's hot (20)

Api testing
Api testingApi testing
Api testing
 
How to choose an ALM tool
How to choose an ALM toolHow to choose an ALM tool
How to choose an ALM tool
 
Automation testing introduction for FujiNet
Automation testing introduction for FujiNetAutomation testing introduction for FujiNet
Automation testing introduction for FujiNet
 
How to fix a bug in production - Rollout.io
How to fix a bug in production - Rollout.ioHow to fix a bug in production - Rollout.io
How to fix a bug in production - Rollout.io
 
Automation tech
Automation techAutomation tech
Automation tech
 
QTP&UFT Automation Framework
QTP&UFT Automation FrameworkQTP&UFT Automation Framework
QTP&UFT Automation Framework
 
Tool Evaluation
Tool EvaluationTool Evaluation
Tool Evaluation
 
Qtp With Descriptive Programming
Qtp With Descriptive ProgrammingQtp With Descriptive Programming
Qtp With Descriptive Programming
 
Successful Teams are TDD Teams
Successful Teams are TDD TeamsSuccessful Teams are TDD Teams
Successful Teams are TDD Teams
 
Continuous Delivery and Rapid Experimentation
Continuous Delivery and Rapid ExperimentationContinuous Delivery and Rapid Experimentation
Continuous Delivery and Rapid Experimentation
 
Xray for Jira 3.0 - What's New?
Xray for Jira 3.0 - What's New?Xray for Jira 3.0 - What's New?
Xray for Jira 3.0 - What's New?
 
SharePoint Best Practices Conference Spring 09 Avoiding Failed Deployments an...
SharePoint Best Practices Conference Spring 09 Avoiding Failed Deployments an...SharePoint Best Practices Conference Spring 09 Avoiding Failed Deployments an...
SharePoint Best Practices Conference Spring 09 Avoiding Failed Deployments an...
 
Api testing and steps to do it
Api testing and steps to do itApi testing and steps to do it
Api testing and steps to do it
 
Less02 2 e_testermodule_1
Less02 2 e_testermodule_1Less02 2 e_testermodule_1
Less02 2 e_testermodule_1
 
Explain functional testing and its types
Explain functional testing and its typesExplain functional testing and its types
Explain functional testing and its types
 
Testing tools in visual studio
Testing tools in visual studioTesting tools in visual studio
Testing tools in visual studio
 
E2E testing with UIVeri5
E2E testing with UIVeri5E2E testing with UIVeri5
E2E testing with UIVeri5
 
Action! Development and Operations for Sticker Shop
Action! Development and  Operations for Sticker ShopAction! Development and  Operations for Sticker Shop
Action! Development and Operations for Sticker Shop
 
Mohammed Kharma-A flexible framework for quality assurance and testing of sof...
Mohammed Kharma-A flexible framework for quality assurance and testing of sof...Mohammed Kharma-A flexible framework for quality assurance and testing of sof...
Mohammed Kharma-A flexible framework for quality assurance and testing of sof...
 
DIG1108C Lesson 7 Fall 2014
DIG1108C Lesson 7 Fall 2014DIG1108C Lesson 7 Fall 2014
DIG1108C Lesson 7 Fall 2014
 

Viewers also liked

Reference MY Jems
Reference MY JemsReference MY Jems
Reference MY Jems
Kate Tanner
 

Viewers also liked (14)

Pengenalan pre klinik opak 2014
Pengenalan pre klinik   opak 2014Pengenalan pre klinik   opak 2014
Pengenalan pre klinik opak 2014
 
FCB Partners Webinar: Weaving Social into Customer-Facing Processes
FCB Partners Webinar: Weaving Social into Customer-Facing ProcessesFCB Partners Webinar: Weaving Social into Customer-Facing Processes
FCB Partners Webinar: Weaving Social into Customer-Facing Processes
 
06j003
06j00306j003
06j003
 
Slide training nls 2014 how to be community leader
Slide training nls 2014 how to be community leaderSlide training nls 2014 how to be community leader
Slide training nls 2014 how to be community leader
 
Par
ParPar
Par
 
Certificate_NE_NinaDuca
Certificate_NE_NinaDucaCertificate_NE_NinaDuca
Certificate_NE_NinaDuca
 
FCB Partners Webinar: Mastering Data
FCB Partners Webinar:  Mastering DataFCB Partners Webinar:  Mastering Data
FCB Partners Webinar: Mastering Data
 
Poema hind
Poema hind Poema hind
Poema hind
 
Contrato administrativo 1
Contrato administrativo 1Contrato administrativo 1
Contrato administrativo 1
 
Tour de bandung part 2
Tour de bandung part 2Tour de bandung part 2
Tour de bandung part 2
 
Reference MY Jems
Reference MY JemsReference MY Jems
Reference MY Jems
 
Git workflow step by step
Git workflow step by stepGit workflow step by step
Git workflow step by step
 
Ultimate Git Workflow - Seoul 2015
Ultimate Git Workflow - Seoul 2015Ultimate Git Workflow - Seoul 2015
Ultimate Git Workflow - Seoul 2015
 
Dixons Carphone - Acton Office
Dixons Carphone - Acton OfficeDixons Carphone - Acton Office
Dixons Carphone - Acton Office
 

Similar to Modern developer workflow

OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptxOS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
ShivareddyGangam
 
Qtp Training
Qtp TrainingQtp Training
Qtp Training
mehramit
 
Software Testing: Application And Script Independent Automation Framework: Th...
Software Testing: Application And Script Independent Automation Framework: Th...Software Testing: Application And Script Independent Automation Framework: Th...
Software Testing: Application And Script Independent Automation Framework: Th...
guest0efb5e
 
Priyanka Singh_testing_resume
Priyanka Singh_testing_resumePriyanka Singh_testing_resume
Priyanka Singh_testing_resume
Priyanka Singh
 

Similar to Modern developer workflow (20)

OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptxOS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
 
Testing in Agile Development
Testing in Agile DevelopmentTesting in Agile Development
Testing in Agile Development
 
Hybrid framework
Hybrid frameworkHybrid framework
Hybrid framework
 
Qtp Training
Qtp TrainingQtp Training
Qtp Training
 
Software Testing: Application And Script Independent Automation Framework: Th...
Software Testing: Application And Script Independent Automation Framework: Th...Software Testing: Application And Script Independent Automation Framework: Th...
Software Testing: Application And Script Independent Automation Framework: Th...
 
CV
CVCV
CV
 
Automation test lead
Automation test leadAutomation test lead
Automation test lead
 
Presentation: "Agile methodologies for Project Management - SCRUM" by Varty K...
Presentation: "Agile methodologies for Project Management - SCRUM" by Varty K...Presentation: "Agile methodologies for Project Management - SCRUM" by Varty K...
Presentation: "Agile methodologies for Project Management - SCRUM" by Varty K...
 
Dive into Angular, part 5: Experience
Dive into Angular, part 5: ExperienceDive into Angular, part 5: Experience
Dive into Angular, part 5: Experience
 
Automation Testing of Web based Application with Selenium and HP UFT (QTP)
Automation Testing of Web based Application with Selenium and HP UFT (QTP)Automation Testing of Web based Application with Selenium and HP UFT (QTP)
Automation Testing of Web based Application with Selenium and HP UFT (QTP)
 
Load Testing: See a Bigger Picture
Load Testing: See a Bigger PictureLoad Testing: See a Bigger Picture
Load Testing: See a Bigger Picture
 
Automation test lead
Automation test leadAutomation test lead
Automation test lead
 
Priyanka Singh_testing_resume
Priyanka Singh_testing_resumePriyanka Singh_testing_resume
Priyanka Singh_testing_resume
 
03 test specification and execution
03   test specification and execution03   test specification and execution
03 test specification and execution
 
Automated Acceptance Tests & Tool choice
Automated Acceptance Tests & Tool choiceAutomated Acceptance Tests & Tool choice
Automated Acceptance Tests & Tool choice
 
Comparative Study on Different Mobile Application Frameworks
Comparative Study on Different Mobile Application FrameworksComparative Study on Different Mobile Application Frameworks
Comparative Study on Different Mobile Application Frameworks
 
Using Page Objects
Using Page ObjectsUsing Page Objects
Using Page Objects
 
Automation Best Practices.pptx
Automation Best Practices.pptxAutomation Best Practices.pptx
Automation Best Practices.pptx
 
Shuvam dutta
Shuvam duttaShuvam dutta
Shuvam dutta
 
Qa case study
Qa case studyQa case study
Qa case study
 

More from Giulio Vian

More from Giulio Vian (20)

Come implementare la governance nella vostra piattaforma e lavorare felici se...
Come implementare la governance nella vostra piattaforma e lavorare felici se...Come implementare la governance nella vostra piattaforma e lavorare felici se...
Come implementare la governance nella vostra piattaforma e lavorare felici se...
 
Is Technical Debt the right metaphor for Continuous Update?
Is Technical Debt the right metaphor for Continuous Update?Is Technical Debt the right metaphor for Continuous Update?
Is Technical Debt the right metaphor for Continuous Update?
 
Is Technical Debt the right metaphor for Continuous Update - AllDayDevOps 2022
Is Technical Debt the right metaphor for Continuous Update - AllDayDevOps 2022Is Technical Debt the right metaphor for Continuous Update - AllDayDevOps 2022
Is Technical Debt the right metaphor for Continuous Update - AllDayDevOps 2022
 
Software rotting - DevOpsCon Berlin
Software rotting - DevOpsCon BerlinSoftware rotting - DevOpsCon Berlin
Software rotting - DevOpsCon Berlin
 
Software rotting
Software rottingSoftware rotting
Software rotting
 
Software rotting - 28 Apr - DeveloperWeek Europe 2022
Software rotting - 28 Apr - DeveloperWeek Europe 2022Software rotting - 28 Apr - DeveloperWeek Europe 2022
Software rotting - 28 Apr - DeveloperWeek Europe 2022
 
L'impatto della sicurezza su DevOps
L'impatto della sicurezza su DevOpsL'impatto della sicurezza su DevOps
L'impatto della sicurezza su DevOps
 
L'impatto della sicurezza su DevOps
L'impatto della sicurezza su DevOpsL'impatto della sicurezza su DevOps
L'impatto della sicurezza su DevOps
 
A map for DevOps on Microsoft Stack - MS DevSummit
A map for DevOps on Microsoft Stack - MS DevSummitA map for DevOps on Microsoft Stack - MS DevSummit
A map for DevOps on Microsoft Stack - MS DevSummit
 
Perché è così difficile il deploy dei database - DevCast DevOps Serie
Perché è così difficile il deploy dei database  - DevCast DevOps SeriePerché è così difficile il deploy dei database  - DevCast DevOps Serie
Perché è così difficile il deploy dei database - DevCast DevOps Serie
 
Database deployments - dotnetsheff
Database deployments - dotnetsheffDatabase deployments - dotnetsheff
Database deployments - dotnetsheff
 
Database deployment: still hard after all these years - Data Saturday #1
Database deployment: still hard after all these years - Data Saturday #1Database deployment: still hard after all these years - Data Saturday #1
Database deployment: still hard after all these years - Data Saturday #1
 
Pipeline your Pipelines - 2020 All Day DevOps
Pipeline your Pipelines - 2020 All Day DevOpsPipeline your Pipelines - 2020 All Day DevOps
Pipeline your Pipelines - 2020 All Day DevOps
 
How to write cloud-agnostic Terraform code - Incontro DevOps Italia 2020
How to write cloud-agnostic Terraform code - Incontro DevOps Italia 2020How to write cloud-agnostic Terraform code - Incontro DevOps Italia 2020
How to write cloud-agnostic Terraform code - Incontro DevOps Italia 2020
 
Top 10 pipeline mistakes - dotnetsheff
Top 10 pipeline mistakes - dotnetsheffTop 10 pipeline mistakes - dotnetsheff
Top 10 pipeline mistakes - dotnetsheff
 
Introduction to Terraform with Azure flavor
Introduction to Terraform with Azure flavorIntroduction to Terraform with Azure flavor
Introduction to Terraform with Azure flavor
 
How collaboration works between Dev and Ops - DevOps Agile Testing and Test S...
How collaboration works between Dev and Ops - DevOps Agile Testing and Test S...How collaboration works between Dev and Ops - DevOps Agile Testing and Test S...
How collaboration works between Dev and Ops - DevOps Agile Testing and Test S...
 
Usare SQL Server for Linux e Docker per semplificare i processi di testing - ...
Usare SQL Server for Linux e Docker per semplificare i processi di testing - ...Usare SQL Server for Linux e Docker per semplificare i processi di testing - ...
Usare SQL Server for Linux e Docker per semplificare i processi di testing - ...
 
Pipeline your pipelines!
Pipeline your pipelines!Pipeline your pipelines!
Pipeline your pipelines!
 
Why is DevOps vital for my company’s business
Why is DevOps vital for my company’s businessWhy is DevOps vital for my company’s business
Why is DevOps vital for my company’s business
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 

Modern developer workflow

Editor's Notes

  1. Our vision of a Dynamic IT organization is that the lifecycles of PMO, the App Dev and the Ops teams are tightly connected. The use of shared processes and models will enable an agile dynamic organization with continuous improvement.  The PMO can evaluate current and future investments using up-to-date data on projects, resources and services, combined from across IT. Unified schemas have been extended from just resources, tasks and issues to allow tracking of all kinds of assets across IT. A unified data and reporting structure means that data can be combined and analyzed across disciplines. For example, questions can be answered such as, “How many maintenance hours does this service cost us across dev and ops? Which development projects caused most disruption at deployment? What do they have in common? How are they different from successfully deployed projects?” This near-real-time data can feed portfolio planning and tracking success against business intent. Management at all levels will be able to use the insights from real data to drive decisions about app consolidation, maintenance and renewal. Business drivers and IT can together define and refine and track against goals for projects in the form of requirements, KPIs and SLAs. These are reflected in the tools, so that goals can be verified, tested and instrumented during development and monitored during operations. The business customers can track portfolio decisions can be tracked downstream and operational KPIs and quality indicators back to the investment decisions.Program managers, development and operations teams can drive estimation models from a library of historical data across projects. The combined BI warehouses will track actual quality, capacity use and performance across prior projects, aggregatable at any level. This will allow estimation models to draw on historical data and variation quite precisely to drive future project estimation. A common model will allow architects and developers to design (and IT Pros to extend) applications and services for management, deployment, testing, security, and performance. Distributed applications can be packaged and transferred with the metadata necessary for deployment.Levels of the model will transform from the logical design to the specific details of the data center. SLAs and reporting metrics will be captured in the model. The base services of authoring, modeling, storing, implementing and validating are pluggable, so that new sets of tools to design new qualities into applications and services can be created.A common authoring platform and toolset will allow domain specific models to be defined referring to the base application models – for example health model, process model, config model, best practices models, etc. (This is shown in the diagram below.) The basic authoring platform allows a plug in model for third-party tools and new DSLs. For Operations, System Center provides engines that sit on top of the CMDB (which contains these models) and deliver scenarios like deployment, config, monitoring and performance and capacity management. For development, the software factory runtime allows adding new software factories that utilize these extensions for supporting architecture, dev and test activities.An example of using the common authoring and data across the multiple engines is health modeling. An architect can create a health model using Visual Studio designers and a modeling language that has domain specific extensions to SML. The architect can store the health model in the CMDB, validating it against policies reflected there. A developer can implement the health model in VS using a software factory that guides him though the process and helps him validate that the implementation is correct and complete. The developer can easily package the necessary data to hand this aspect of the application over to operations. The systems administrator can then easily consume and extend the health model, hooking it up to his monitoring tools.The model can capture current and alternative future states of the application portfolio and data center to enable impact analysis and architectural what-if scenarios. Application planning can factor both the development and operational aspects of projects with full knowledge the future state of the infrastructure and the ability to specify future state changes against the plans of record. An architect can analyze the effect of desired changes (increased load, changed capabilities, changed policy etc.) against models of the datacenter as it is and as it is expected to be based on planned changes. This is made possible by modeling tools in VS opening and running validation against data from the CMDB. The PMO can simulate the complex effects of changes as they impact and are impacted by schedule and resource dependencies. Tighter integration of workflow and agents will allow automated diagnostics. It will be possible to have lean agents always running on production servers and, based on heuristics, wake up when needed to capture deeper diagnostics without operator intervention. Rules can be used for automatic trace routing to development. Similar automation can make patches available to operations with notification. Virtual machines will enable automated test, staging and deployment. Production configurations can be captured in virtual machines, whether they are managed through virtualization or rolled up from physical servers (P2V). The production configurations can form a test library available to the app dev team. Build automation and test case management will handle the provisioning of the VMs from application models, deployment of the software under test to the VMs, and execution of the tests. The tested VMs can be delivered to operations with application models for a push into Operations.
  2. Visual Studio 2012 supports you to create solutions taking advantage of the platforms your users use while integrating with your core platform technologies. With Team Foundation Server/Service you get the best-in-class application lifecycle management tools to empower your team to compelling applications to delight your end-users.
  3. http://pytools.codeplex.com/
  4. http://msdn.microsoft.com/en-us/library/ee308011.aspx
  5. Traceability is much wider in scope: it starts from Requirements to finish on deployed Features of production systems.From Wikipedia: «Traceability is the ability to chronologically interrelate uniquely identifiable entities in a way that is verifiable» and for software «refers to the ability to link product documentation requirements back to stakeholders' rationales and forward to corresponding design artifacts, code, and test cases».The slide illustrates a portion of this in the way we homogenously identify process and artifacts.The same unique version identifieris applied to: Builds, Assemblies (DLLs), Installer packages (MSIs), deployed Products (Control Panel\...\Programs and Features).From the build TFS backtrack to source code changes and to Work Items; a Sprint Backlog Item is just one type, think of a Bug: we may trace in which version a bug fix is present.
  6. Low level hook