SlideShare a Scribd company logo
Modern developer workflow
Modern developer workflow
Modern developer workflow
http://agilemanifesto.org/
Modern developer workflow
© Aaron Bjork
http://visualstudiomagazine.com/Articles/2012/04/01/An-Agile-Primer.aspx
Modern developer workflow
Modern developer workflow
http://scrum.org/
Product
Backlog
Sprint
Backlog
Sprint
Working increment
of the software
Modern developer workflow
Modern developer workflow
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%).
Modern developer workflow
Modern developer workflow
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
Modern developer workflow
http://tfs.visualstudio.com/
Team Foundation Server Team Foundation Service
.1
Feb 11
Modern developer workflow
Modern developer workflow
Modern developer workflow
Modern developer workflow
Source: InCycle Software
Modern developer workflow
Modern developer workflow
Modern developer workflow
Modern developer workflow
Modern developer workflow
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
Modern developer workflow
B
RI
B FI
RI
FI FIB
RI
Emergency
Hotfix
Release Branching - Basic (two branch)
Read The Free Manual
Modern developer workflow
Source: Jez Humble © 2010
Source: unknown
Modern developer workflow
Red
GreenRefactor
Modern developer workflow
Operations
Customer
Dev
Read The Free Manual
Modern developer workflow
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
Modern developer workflow
[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
Modern developer workflow
http://www.specflow.org/specflownew/ProjectSetupGuide.html
❶ ❷
❸ ❹ ❺
Modern developer workflow
Modern developer workflow
Modern developer workflow
Modern developer workflow
Mark each step as
passed / failed
File an information-rich bug
http://visualstudiogallery.msdn.microsoft.com/9975b601-beca-4553-b4cc-f6d34ab6394e
Modern developer workflow
(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
Modern developer workflow
Modern developer workflow
Modern developer workflow
Modern developer workflow
Modern developer workflow
Modern developer workflow
http://blogs.msdn.com/b/visualstudioalm/archive/2012/05/18/optimizing-intellitrace-collection-
on-production-server.aspx
Modern developer workflow
Modern developer workflow
Modern developer workflow
Closing the
Feedback loop
Modern developer workflow
Modern developer workflow
http://www.gartner.com/technology/reprints.do?id=1-1ASCXON&ct=120606&st=sb
IDC:
IT PPM Market Landscape
December 2010 Evaluating VS2010
Modern developer workflow
http://tinyurl.com/ALM2012 http://tinyurl.com/TFS2012Book http://tinyurl.com/Agile2012Book
Modern developer workflow

More Related Content

PDF
Katalon Studio - Best automation solution for software testing team
PPT
Keyword Driven Testing using TestComplete
PDF
Katalon Studio - Successful Test Automation for both Testers and Developers
PPTX
B4usolution performance testing
PPTX
Jdev Extensions & Custom Audit Rules
PDF
Bdd and-testing
PDF
Need for automation testing
PDF
Tutorial - 14 How to insert a verification point from the script explorer usi...
Katalon Studio - Best automation solution for software testing team
Keyword Driven Testing using TestComplete
Katalon Studio - Successful Test Automation for both Testers and Developers
B4usolution performance testing
Jdev Extensions & Custom Audit Rules
Bdd and-testing
Need for automation testing
Tutorial - 14 How to insert a verification point from the script explorer usi...

What's hot (20)

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

Viewers also liked (14)

PDF
Pengenalan pre klinik opak 2014
PPTX
FCB Partners Webinar: Weaving Social into Customer-Facing Processes
PDF
06j003
PDF
Slide training nls 2014 how to be community leader
PPTX
PDF
Certificate_NE_NinaDuca
PDF
FCB Partners Webinar: Mastering Data
ODP
Poema hind
PPT
Contrato administrativo 1
PPTX
Tour de bandung part 2
DOCX
Reference MY Jems
PDF
Git workflow step by step
PPTX
Ultimate Git Workflow - Seoul 2015
PPTX
Dixons Carphone - Acton Office
Pengenalan pre klinik opak 2014
FCB Partners Webinar: Weaving Social into Customer-Facing Processes
06j003
Slide training nls 2014 how to be community leader
Certificate_NE_NinaDuca
FCB Partners Webinar: Mastering Data
Poema hind
Contrato administrativo 1
Tour de bandung part 2
Reference MY Jems
Git workflow step by step
Ultimate Git Workflow - Seoul 2015
Dixons Carphone - Acton Office
Ad

Similar to Modern developer workflow (20)

PDF
Chicago Code Camp 2014 - Agile Testing in a waterfall world
PPTX
PPTX
Improving Software Quality- 2-day Tester Training
PPTX
Whats New In 2010 (Msdn & Visual Studio)
PPT
The Magic Of Application Lifecycle Management In Vs Public
PDF
Sgin2013 scrumfromthe trenches-loadandperformancetestsinagilescrumframework-s...
PPT
Expert Days: The VP R&D Open Seminar: Project Management
PPTX
ALM with TFS: From the Drawing Board to the Cloud
PDF
Agile Gurugram 2016 | Conference | Why your Agile Project will fail? Softwar...
PPTX
Agile Chennai 2023 | Agile story with new age leadership and empiricism - She...
PDF
To successfully deliver your IT project: build your team, build your Agile it...
PDF
Microsoft DevOps Journey
PPTX
(Agile) engineering best practices - What every project manager should know
PDF
DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...
PPTX
Agile-plus-DevOps Testing for Packaged Applications
PPTX
Introductie Visual Studio ALM 2012
PPTX
Introductie Visual Studio ALM 2012
PPTX
Holistic Product Development
PPTX
Agile Engineering Sparker GLASScon 2015
PPTX
PHX Session #1: Development Best Practices And How Microsoft Helps
Chicago Code Camp 2014 - Agile Testing in a waterfall world
Improving Software Quality- 2-day Tester Training
Whats New In 2010 (Msdn & Visual Studio)
The Magic Of Application Lifecycle Management In Vs Public
Sgin2013 scrumfromthe trenches-loadandperformancetestsinagilescrumframework-s...
Expert Days: The VP R&D Open Seminar: Project Management
ALM with TFS: From the Drawing Board to the Cloud
Agile Gurugram 2016 | Conference | Why your Agile Project will fail? Softwar...
Agile Chennai 2023 | Agile story with new age leadership and empiricism - She...
To successfully deliver your IT project: build your team, build your Agile it...
Microsoft DevOps Journey
(Agile) engineering best practices - What every project manager should know
DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...
Agile-plus-DevOps Testing for Packaged Applications
Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012
Holistic Product Development
Agile Engineering Sparker GLASScon 2015
PHX Session #1: Development Best Practices And How Microsoft Helps

More from Giulio Vian (20)

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

Recently uploaded (20)

PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
cuic standard and advanced reporting.pdf
PDF
Approach and Philosophy of On baking technology
PDF
KodekX | Application Modernization Development
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Cloud computing and distributed systems.
PDF
Empathic Computing: Creating Shared Understanding
Chapter 3 Spatial Domain Image Processing.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Diabetes mellitus diagnosis method based random forest with bat algorithm
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
sap open course for s4hana steps from ECC to s4
Review of recent advances in non-invasive hemoglobin estimation
cuic standard and advanced reporting.pdf
Approach and Philosophy of On baking technology
KodekX | Application Modernization Development
Programs and apps: productivity, graphics, security and other tools
20250228 LYD VKU AI Blended-Learning.pptx
Spectral efficient network and resource selection model in 5G networks
MIND Revenue Release Quarter 2 2025 Press Release
Cloud computing and distributed systems.
Empathic Computing: Creating Shared Understanding

Modern developer workflow

Editor's Notes

  • #18: 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.
  • #19: 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.
  • #21: http://pytools.codeplex.com/
  • #22: http://msdn.microsoft.com/en-us/library/ee308011.aspx
  • #42: 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.
  • #52: Low level hook