SlideShare a Scribd company logo
Agile and Azure
Emergent Code, BDD , TDD , Team City , Cerebrata
CmdLets
Presented by
Blushpackages : John Mitchell , Becca Martin
We started with a single test
Practise and Architectural Aims
 To use Emergent Architecture and coding practises
 To follow a Test Driven approach
 To extend our test foot print to Azure
 To put quality first
 To be responsive to requirement change
 To be continually releasable
Demonstration Introduction
 What will we demonstrate?
 Creation of a simple “Hello world” Azure MVC application
 Run this application under the Azure emulator to see it working
 Create a StoryQ integration test.
 Add the Azure support to the acceptance test
 Push that down into a base class for reuse.
 Run the acceptance test.
 Talk about how this would then fit with Team City or another CI
engine
Lets cut to some code
Azure Project Configuration
Architecture Diagram
CI Process – In Detail
Components For CI publish on
Azure
 JetBrains TeamCity
 Cerebrata Cmdlets
 Microsoft Azure Account
 Oracle VirtualBox Local VM Container
 Powershell
 Msbuild
CI Process
 Build (Locally)
 Run Unit Tests (Locally)
 Commit
 Run Unit Tests on commit build (CI)
 Publish to staging (Azure)
 Run Watin tests (Azure)
 If all green, VIP swop staging to production for BA (Azure)
 Send notification email with link to published test output
including rich StoryQ output tagged with story numbers
Build Output
Final Thoughts
 Azure can be integrated into a true Agile Process
 We can evolve our architecture to target Azure with out initial
commitment
 We can use TDD and BDD with Azure
 We can successfully automate deployment with tools like
Teamcity and Cerebrata CmdLets
 We will be publishing the technical details on the blush
packages blog http://blushpackages.com/blog
Links and Resources
 Watin : http://watin.org/
 Team City : http://www.jetbrains.com/teamcity/
 CommandLets : http://www.cerebrata.com/
 StoryQ : http://storyq.codeplex.com/
 Azure : https://www.windowsazure.com
 Nunit : http://www.nunit.org/
 NSubstitute : http://nsubstitute.github.com/
 Agile : http://www.blushpackages.com/Blog/post/WAgile-or-Agile-.aspx
 Emergent Architecture :
http://www.blushpackages.com/Blog/post/emergent-design-
overview.aspx
 BDD : http://www.blushpackages.com/Blog/post/bdd-overview.aspx
That’s All Folks
 John Mitchell - Freelance Developer / Architect
Johnm@blushpackages.com
Twitter @jemmitch1
 Becca Martin - Developer /Architect, Agile Coach, Azure
Evangelist
beccam@blushpackages.com
Twitter @martindotnet
Blush Packages Blog : http://blushpackages.com/blog
Slides : http://blushpackages.com/presentations

More Related Content

What's hot

Serverless Computing with Azure
Serverless Computing with AzureServerless Computing with Azure
Serverless Computing with Azure
Analben Mehta
 
CI CD with Docker and Kubernetes
CI CD with Docker and Kubernetes CI CD with Docker and Kubernetes
CI CD with Docker and Kubernetes
Nilesh Gule
 
Cloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with KnativeCloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Mauricio (Salaboy) Salatino
 
SPRING BOOT DANS UN CONTAINER OUTILS ET PRATIQUES
 SPRING BOOT DANS UN CONTAINER OUTILS ET PRATIQUES SPRING BOOT DANS UN CONTAINER OUTILS ET PRATIQUES
SPRING BOOT DANS UN CONTAINER OUTILS ET PRATIQUES
VMware Tanzu
 
Build Proactive bot using Microsoft Bot Framework
Build Proactive bot using Microsoft Bot FrameworkBuild Proactive bot using Microsoft Bot Framework
Build Proactive bot using Microsoft Bot Framework
Sri Kanth
 
Tce automation-d4
Tce automation-d4Tce automation-d4
Tce automation-d4
Tikal Knowledge
 
.NET Overview & Roadmap
.NET Overview & Roadmap.NET Overview & Roadmap
.NET Overview & Roadmap
Microsoft Tech Community
 
DevOps Turkey Test Automation with Docker and Seleniumhub
DevOps Turkey Test Automation with Docker and SeleniumhubDevOps Turkey Test Automation with Docker and Seleniumhub
DevOps Turkey Test Automation with Docker and Seleniumhub
kloia
 
7200bf5a 1bf1-4bb3-8430-904161845cce.presentation20934 ut209343d-modelingprac...
7200bf5a 1bf1-4bb3-8430-904161845cce.presentation20934 ut209343d-modelingprac...7200bf5a 1bf1-4bb3-8430-904161845cce.presentation20934 ut209343d-modelingprac...
7200bf5a 1bf1-4bb3-8430-904161845cce.presentation20934 ut209343d-modelingprac...
ngoctang
 
Large Scale Cloud Infrastructure Using Shared Components
Large Scale Cloud Infrastructure Using Shared ComponentsLarge Scale Cloud Infrastructure Using Shared Components
Large Scale Cloud Infrastructure Using Shared Components
Eficode
 
Durable Azure Functions
Durable Azure FunctionsDurable Azure Functions
Durable Azure Functions
David Opdendries
 
TCE Automation
TCE AutomationTCE Automation
TCE Automation
Tikal Knowledge
 
Test Automation Workshop with BDD Approach
Test Automation Workshop with BDD ApproachTest Automation Workshop with BDD Approach
Test Automation Workshop with BDD Approach
kloia
 
SFDC Seamless Deployment Techniques
SFDC Seamless Deployment TechniquesSFDC Seamless Deployment Techniques
SFDC Seamless Deployment Techniques
Pawan Tyagi (2x)
 
Serverless Orchestration with Azure Durable Functions
Serverless Orchestration with Azure Durable FunctionsServerless Orchestration with Azure Durable Functions
Serverless Orchestration with Azure Durable Functions
Callon Campbell
 
JavaLand - Micrometer and SpringBoot
JavaLand - Micrometer and SpringBootJavaLand - Micrometer and SpringBoot
JavaLand - Micrometer and SpringBoot
Ko Turk
 
PowerShell Scripting and AI-infused Automation
PowerShell Scripting and AI-infused AutomationPowerShell Scripting and AI-infused Automation
PowerShell Scripting and AI-infused Automation
Mitul Rana
 
Google Cloud Build - Sfeir Lunch Janvier 2019
Google Cloud Build - Sfeir Lunch Janvier 2019Google Cloud Build - Sfeir Lunch Janvier 2019
Google Cloud Build - Sfeir Lunch Janvier 2019
Gaëlle Acas
 
Facilitez votre transition DevOps grâce à l'automatisation de votre infras...
 Facilitez votre transition DevOps grâce à l'automatisation de votre infras... Facilitez votre transition DevOps grâce à l'automatisation de votre infras...
Facilitez votre transition DevOps grâce à l'automatisation de votre infras...
VMware Tanzu
 
Continuous Delivery in the Cloud with Bitbucket Pipelines
Continuous Delivery in the Cloud with Bitbucket PipelinesContinuous Delivery in the Cloud with Bitbucket Pipelines
Continuous Delivery in the Cloud with Bitbucket Pipelines
Atlassian
 

What's hot (20)

Serverless Computing with Azure
Serverless Computing with AzureServerless Computing with Azure
Serverless Computing with Azure
 
CI CD with Docker and Kubernetes
CI CD with Docker and Kubernetes CI CD with Docker and Kubernetes
CI CD with Docker and Kubernetes
 
Cloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with KnativeCloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
 
SPRING BOOT DANS UN CONTAINER OUTILS ET PRATIQUES
 SPRING BOOT DANS UN CONTAINER OUTILS ET PRATIQUES SPRING BOOT DANS UN CONTAINER OUTILS ET PRATIQUES
SPRING BOOT DANS UN CONTAINER OUTILS ET PRATIQUES
 
Build Proactive bot using Microsoft Bot Framework
Build Proactive bot using Microsoft Bot FrameworkBuild Proactive bot using Microsoft Bot Framework
Build Proactive bot using Microsoft Bot Framework
 
Tce automation-d4
Tce automation-d4Tce automation-d4
Tce automation-d4
 
.NET Overview & Roadmap
.NET Overview & Roadmap.NET Overview & Roadmap
.NET Overview & Roadmap
 
DevOps Turkey Test Automation with Docker and Seleniumhub
DevOps Turkey Test Automation with Docker and SeleniumhubDevOps Turkey Test Automation with Docker and Seleniumhub
DevOps Turkey Test Automation with Docker and Seleniumhub
 
7200bf5a 1bf1-4bb3-8430-904161845cce.presentation20934 ut209343d-modelingprac...
7200bf5a 1bf1-4bb3-8430-904161845cce.presentation20934 ut209343d-modelingprac...7200bf5a 1bf1-4bb3-8430-904161845cce.presentation20934 ut209343d-modelingprac...
7200bf5a 1bf1-4bb3-8430-904161845cce.presentation20934 ut209343d-modelingprac...
 
Large Scale Cloud Infrastructure Using Shared Components
Large Scale Cloud Infrastructure Using Shared ComponentsLarge Scale Cloud Infrastructure Using Shared Components
Large Scale Cloud Infrastructure Using Shared Components
 
Durable Azure Functions
Durable Azure FunctionsDurable Azure Functions
Durable Azure Functions
 
TCE Automation
TCE AutomationTCE Automation
TCE Automation
 
Test Automation Workshop with BDD Approach
Test Automation Workshop with BDD ApproachTest Automation Workshop with BDD Approach
Test Automation Workshop with BDD Approach
 
SFDC Seamless Deployment Techniques
SFDC Seamless Deployment TechniquesSFDC Seamless Deployment Techniques
SFDC Seamless Deployment Techniques
 
Serverless Orchestration with Azure Durable Functions
Serverless Orchestration with Azure Durable FunctionsServerless Orchestration with Azure Durable Functions
Serverless Orchestration with Azure Durable Functions
 
JavaLand - Micrometer and SpringBoot
JavaLand - Micrometer and SpringBootJavaLand - Micrometer and SpringBoot
JavaLand - Micrometer and SpringBoot
 
PowerShell Scripting and AI-infused Automation
PowerShell Scripting and AI-infused AutomationPowerShell Scripting and AI-infused Automation
PowerShell Scripting and AI-infused Automation
 
Google Cloud Build - Sfeir Lunch Janvier 2019
Google Cloud Build - Sfeir Lunch Janvier 2019Google Cloud Build - Sfeir Lunch Janvier 2019
Google Cloud Build - Sfeir Lunch Janvier 2019
 
Facilitez votre transition DevOps grâce à l'automatisation de votre infras...
 Facilitez votre transition DevOps grâce à l'automatisation de votre infras... Facilitez votre transition DevOps grâce à l'automatisation de votre infras...
Facilitez votre transition DevOps grâce à l'automatisation de votre infras...
 
Continuous Delivery in the Cloud with Bitbucket Pipelines
Continuous Delivery in the Cloud with Bitbucket PipelinesContinuous Delivery in the Cloud with Bitbucket Pipelines
Continuous Delivery in the Cloud with Bitbucket Pipelines
 

Viewers also liked

1st response Final ppj (hqp)
1st response Final ppj (hqp)1st response Final ppj (hqp)
1st response Final ppj (hqp)
floodprojects
 
March 7
March 7March 7
March 7
khyps13
 
Herramientas tecnológicas(2)
Herramientas tecnológicas(2)Herramientas tecnológicas(2)
Herramientas tecnológicas(2)
sabasUGMEX
 
Naturaleza
NaturalezaNaturaleza
Articulo comse dia tabaco
Articulo comse dia tabacoArticulo comse dia tabaco
Articulo comse dia tabaco
Myriam Rodríguez Melo
 
Tabla evaluación de recursos web
Tabla evaluación de recursos webTabla evaluación de recursos web
Tabla evaluación de recursos web
gloritam225
 
Architecture and technology overview
Architecture and technology overview Architecture and technology overview
Architecture and technology overview
jaye Martin
 
Presentación1
Presentación1Presentación1
Michele Oka Doner Donfreeman2010
Michele Oka Doner Donfreeman2010Michele Oka Doner Donfreeman2010
Michele Oka Doner Donfreeman2010
guest0fff30
 
Presentación1
Presentación1Presentación1
Brochure biology
Brochure biologyBrochure biology
Brochure biology
isaabramo
 
LinkedIn for business
LinkedIn for businessLinkedIn for business
LinkedIn for business
Vincenzo Migliore
 
"Dato e información" (conceptos)
"Dato e información" (conceptos)"Dato e información" (conceptos)
"Dato e información" (conceptos)
sabasUGMEX
 
Presentación Homotecia
Presentación HomoteciaPresentación Homotecia
Presentación Homotecia
Alejandra Ojeda
 
Erroma
ErromaErroma
Erroma
Jon
 
Teorema de Tales
Teorema de TalesTeorema de Tales
Teorema de Tales
Ferran Cardenyes Parés
 
SEMEJANZA. TEOREMA DE TALES.
SEMEJANZA. TEOREMA DE TALES.SEMEJANZA. TEOREMA DE TALES.
SEMEJANZA. TEOREMA DE TALES.
murilloalmi
 

Viewers also liked (18)

1st response Final ppj (hqp)
1st response Final ppj (hqp)1st response Final ppj (hqp)
1st response Final ppj (hqp)
 
March 7
March 7March 7
March 7
 
Herramientas tecnológicas(2)
Herramientas tecnológicas(2)Herramientas tecnológicas(2)
Herramientas tecnológicas(2)
 
Naturaleza
NaturalezaNaturaleza
Naturaleza
 
Articulo comse dia tabaco
Articulo comse dia tabacoArticulo comse dia tabaco
Articulo comse dia tabaco
 
Tabla evaluación de recursos web
Tabla evaluación de recursos webTabla evaluación de recursos web
Tabla evaluación de recursos web
 
Tâches cartographiques
Tâches cartographiquesTâches cartographiques
Tâches cartographiques
 
Architecture and technology overview
Architecture and technology overview Architecture and technology overview
Architecture and technology overview
 
Presentación1
Presentación1Presentación1
Presentación1
 
Michele Oka Doner Donfreeman2010
Michele Oka Doner Donfreeman2010Michele Oka Doner Donfreeman2010
Michele Oka Doner Donfreeman2010
 
Presentación1
Presentación1Presentación1
Presentación1
 
Brochure biology
Brochure biologyBrochure biology
Brochure biology
 
LinkedIn for business
LinkedIn for businessLinkedIn for business
LinkedIn for business
 
"Dato e información" (conceptos)
"Dato e información" (conceptos)"Dato e información" (conceptos)
"Dato e información" (conceptos)
 
Presentación Homotecia
Presentación HomoteciaPresentación Homotecia
Presentación Homotecia
 
Erroma
ErromaErroma
Erroma
 
Teorema de Tales
Teorema de TalesTeorema de Tales
Teorema de Tales
 
SEMEJANZA. TEOREMA DE TALES.
SEMEJANZA. TEOREMA DE TALES.SEMEJANZA. TEOREMA DE TALES.
SEMEJANZA. TEOREMA DE TALES.
 

Similar to Agile azure manchester azure user group v3

JSS build and deployment
JSS build and deploymentJSS build and deployment
JSS build and deployment
David Szöke
 
Windows azure overview for SharePoint Pros
Windows azure overview for SharePoint Pros Windows azure overview for SharePoint Pros
Windows azure overview for SharePoint Pros
Usama Wahab Khan Cloud, Data and AI
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Janusz Nowak
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
tdc-globalcode
 
Kubernetes vs App Service
Kubernetes vs App ServiceKubernetes vs App Service
Kubernetes vs App Service
Lorenzo Barbieri
 
Azure DevOps in Action
Azure DevOps in ActionAzure DevOps in Action
Azure DevOps in Action
Callon Campbell
 
Azure from scratch part 4
Azure from scratch part 4Azure from scratch part 4
Azure from scratch part 4
Girish Kalamati
 
Using Azure DevOps to continuously build, test, and deploy containerized appl...
Using Azure DevOps to continuously build, test, and deploy containerized appl...Using Azure DevOps to continuously build, test, and deploy containerized appl...
Using Azure DevOps to continuously build, test, and deploy containerized appl...
Adrian Todorov
 
Tour of Azure DevOps
Tour of Azure DevOpsTour of Azure DevOps
Tour of Azure DevOps
Callon Campbell
 
Leveraging Microsoft Azure for Next Gen App Development
Leveraging Microsoft Azure for Next Gen App DevelopmentLeveraging Microsoft Azure for Next Gen App Development
Leveraging Microsoft Azure for Next Gen App Development
WinWire Technologies Inc
 
Kubernetes for .NET Developers
Kubernetes for .NET DevelopersKubernetes for .NET Developers
Kubernetes for .NET Developers
Lorenzo Barbieri
 
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
Callon Campbell
 
Put Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzurePut Your Existing Application On Windows Azure
Put Your Existing Application On Windows Azure
Maarten Balliauw
 
[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin
HanLing Shen
 
Back from Microsoft //Build 2018
Back from Microsoft //Build 2018Back from Microsoft //Build 2018
Back from Microsoft //Build 2018
SOAT
 
Azure presentation nnug dec 2010
Azure presentation nnug  dec 2010Azure presentation nnug  dec 2010
Azure presentation nnug dec 2010
Ethos Technologies
 
[AI] ML Operationalization with Microsoft Azure
[AI] ML Operationalization with Microsoft Azure[AI] ML Operationalization with Microsoft Azure
[AI] ML Operationalization with Microsoft Azure
Korkrid Akepanidtaworn
 
How (and why) to roll your own Docker SaaS
How (and why) to roll your own Docker SaaSHow (and why) to roll your own Docker SaaS
How (and why) to roll your own Docker SaaS
Ryan Crawford
 
Global Azure 2024 - On-Premises to Azure Cloud: .NET Web App Journey
Global Azure 2024 - On-Premises to Azure Cloud: .NET Web App JourneyGlobal Azure 2024 - On-Premises to Azure Cloud: .NET Web App Journey
Global Azure 2024 - On-Premises to Azure Cloud: .NET Web App Journey
Callon Campbell
 
DCSF 19 Developing Apps with Containers, Functions and Cloud Services
DCSF 19 Developing Apps with Containers, Functions and Cloud ServicesDCSF 19 Developing Apps with Containers, Functions and Cloud Services
DCSF 19 Developing Apps with Containers, Functions and Cloud Services
Docker, Inc.
 

Similar to Agile azure manchester azure user group v3 (20)

JSS build and deployment
JSS build and deploymentJSS build and deployment
JSS build and deployment
 
Windows azure overview for SharePoint Pros
Windows azure overview for SharePoint Pros Windows azure overview for SharePoint Pros
Windows azure overview for SharePoint Pros
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Kubernetes vs App Service
Kubernetes vs App ServiceKubernetes vs App Service
Kubernetes vs App Service
 
Azure DevOps in Action
Azure DevOps in ActionAzure DevOps in Action
Azure DevOps in Action
 
Azure from scratch part 4
Azure from scratch part 4Azure from scratch part 4
Azure from scratch part 4
 
Using Azure DevOps to continuously build, test, and deploy containerized appl...
Using Azure DevOps to continuously build, test, and deploy containerized appl...Using Azure DevOps to continuously build, test, and deploy containerized appl...
Using Azure DevOps to continuously build, test, and deploy containerized appl...
 
Tour of Azure DevOps
Tour of Azure DevOpsTour of Azure DevOps
Tour of Azure DevOps
 
Leveraging Microsoft Azure for Next Gen App Development
Leveraging Microsoft Azure for Next Gen App DevelopmentLeveraging Microsoft Azure for Next Gen App Development
Leveraging Microsoft Azure for Next Gen App Development
 
Kubernetes for .NET Developers
Kubernetes for .NET DevelopersKubernetes for .NET Developers
Kubernetes for .NET Developers
 
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
 
Put Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzurePut Your Existing Application On Windows Azure
Put Your Existing Application On Windows Azure
 
[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin
 
Back from Microsoft //Build 2018
Back from Microsoft //Build 2018Back from Microsoft //Build 2018
Back from Microsoft //Build 2018
 
Azure presentation nnug dec 2010
Azure presentation nnug  dec 2010Azure presentation nnug  dec 2010
Azure presentation nnug dec 2010
 
[AI] ML Operationalization with Microsoft Azure
[AI] ML Operationalization with Microsoft Azure[AI] ML Operationalization with Microsoft Azure
[AI] ML Operationalization with Microsoft Azure
 
How (and why) to roll your own Docker SaaS
How (and why) to roll your own Docker SaaSHow (and why) to roll your own Docker SaaS
How (and why) to roll your own Docker SaaS
 
Global Azure 2024 - On-Premises to Azure Cloud: .NET Web App Journey
Global Azure 2024 - On-Premises to Azure Cloud: .NET Web App JourneyGlobal Azure 2024 - On-Premises to Azure Cloud: .NET Web App Journey
Global Azure 2024 - On-Premises to Azure Cloud: .NET Web App Journey
 
DCSF 19 Developing Apps with Containers, Functions and Cloud Services
DCSF 19 Developing Apps with Containers, Functions and Cloud ServicesDCSF 19 Developing Apps with Containers, Functions and Cloud Services
DCSF 19 Developing Apps with Containers, Functions and Cloud Services
 

Recently uploaded

Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
GDSC PJATK
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
alexjohnson7307
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
saastr
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 

Recently uploaded (20)

Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 

Agile azure manchester azure user group v3

  • 1. Agile and Azure Emergent Code, BDD , TDD , Team City , Cerebrata CmdLets Presented by Blushpackages : John Mitchell , Becca Martin
  • 2. We started with a single test
  • 3. Practise and Architectural Aims  To use Emergent Architecture and coding practises  To follow a Test Driven approach  To extend our test foot print to Azure  To put quality first  To be responsive to requirement change  To be continually releasable
  • 4. Demonstration Introduction  What will we demonstrate?  Creation of a simple “Hello world” Azure MVC application  Run this application under the Azure emulator to see it working  Create a StoryQ integration test.  Add the Azure support to the acceptance test  Push that down into a base class for reuse.  Run the acceptance test.  Talk about how this would then fit with Team City or another CI engine
  • 5. Lets cut to some code
  • 8. CI Process – In Detail
  • 9. Components For CI publish on Azure  JetBrains TeamCity  Cerebrata Cmdlets  Microsoft Azure Account  Oracle VirtualBox Local VM Container  Powershell  Msbuild
  • 10. CI Process  Build (Locally)  Run Unit Tests (Locally)  Commit  Run Unit Tests on commit build (CI)  Publish to staging (Azure)  Run Watin tests (Azure)  If all green, VIP swop staging to production for BA (Azure)  Send notification email with link to published test output including rich StoryQ output tagged with story numbers
  • 12. Final Thoughts  Azure can be integrated into a true Agile Process  We can evolve our architecture to target Azure with out initial commitment  We can use TDD and BDD with Azure  We can successfully automate deployment with tools like Teamcity and Cerebrata CmdLets  We will be publishing the technical details on the blush packages blog http://blushpackages.com/blog
  • 13. Links and Resources  Watin : http://watin.org/  Team City : http://www.jetbrains.com/teamcity/  CommandLets : http://www.cerebrata.com/  StoryQ : http://storyq.codeplex.com/  Azure : https://www.windowsazure.com  Nunit : http://www.nunit.org/  NSubstitute : http://nsubstitute.github.com/  Agile : http://www.blushpackages.com/Blog/post/WAgile-or-Agile-.aspx  Emergent Architecture : http://www.blushpackages.com/Blog/post/emergent-design- overview.aspx  BDD : http://www.blushpackages.com/Blog/post/bdd-overview.aspx
  • 14. That’s All Folks  John Mitchell - Freelance Developer / Architect Johnm@blushpackages.com Twitter @jemmitch1  Becca Martin - Developer /Architect, Agile Coach, Azure Evangelist beccam@blushpackages.com Twitter @martindotnet Blush Packages Blog : http://blushpackages.com/blog Slides : http://blushpackages.com/presentations