SlideShare une entreprise Scribd logo
1  sur  62
Connected Systems Consulting Ltd
Sponsored & Brought to you by
The Analysis Part of Integration Projects
Michael Stephenson
https://twitter.com/michael_stephen
https://www.linkedin.com/in/michaelstephensonuk1
The Analysis Part of Integration Projects
Connected Systems Consulting Ltd
Connected Systems Consulting Ltd
Who am I?
Michael Stephenson
– UK-Based Freelance Consultant specializing in:
• BizTalk
• Windows Azure
• Integration
– Microsoft Integration MVP for 6+ years
– Pluralsight Author
– Azure Insider/Advisor
– One of organizers of UK Connected Systems User Group
– Founder of BizTalk Maturity Assessment – www.biztalkmaturity.com
– Worked on approx. 30 projects that have leveraged Azure
– First project went live about 4 years ago
– Contact Info:
• Blog: http://microsoftintegration.guru
• Twitter: @michael_Stephen
• Linked In: http://www.linkedin.com/in/michaelstephensonuk1
• Email: michael_stephensonuk@yahoo.co.uk
Thanks to….
Question
“How often do you feel thrown in at the deep end when starting an integration
development project because no one seems to have a clear understanding of
what is required”?
+1 in the chat window if you think this is common
The Usual Story
Common Scenario 1
“I need a feed of customer data from system A to system B”
Err…. Ok so what
does this mean?
Common Scenario 2
Contoso
Fabrikam
Acme
CRM System
ERP
System
Finance
System
Marketing
System
Products
System
Products
System
Orders
System
Orders
System
Orders
System
Customers
System
Its this interface here, can we just do this?
Those arrows
are pretty but
we don’t know
anything about
what it means
Common Scenario 3
“I need an additional data attribute added to an
Existing integration process”
This may be
straightforward and
we could just get on
with it… but lets get a
little info to be sure
Common Scenario 4
“We need to change the existing new customer process
So it also updates the new CRM system”
I hope we have all
of the data we
might need
The Problem
What systems
are involved?
What does the
data look like?
How much
data do we
need to
process?
What do things
happen?
What is the
process flow?
Are there any
alternative or
exception
scenarios?
How do I talk
to each
application?
Are there any
SLA’s?
Is there any
business logic?
What are the
data
transformation
rules?
Will we need
any new
infrastructure?
Are there any
performance
requirements?
Are there any
security
requirements?
Is there any
documentation
?
When do
things
happen?
“There’s just so much unknown that affects how we design
and build the system”
How Important is Analysis?
Integration is easy when…
• The solution is very like something you have done before
• You are reusing stuff you have build in the past
• The applications involved are well understood
• Only a small number of people are involved
• The data is not complicated
• The process logic is simple
• You have a good test environment setup
• Everyone understands the process to be built
• You have good testing
• Your dependencies are well understood
Integration is hard when…
• You need new infrastructure
• You have lots of dependencies or they are poorly understood
• Lots of external vendors or people are involved
• You need to use patterns you have not implemented before
• The applications involved are not well understood
• The applications involved are unreliable
• You have a poor test environment setup
• You follow good ALM practices
• You don’t have enough information
• Your requirements are not well understood or clear
• You have a poor or incorrect solution design
• Your making it up as you go along
Getting it wrong
Not enough analysis
• Developer gets things wrong
• Architect makes bad assumptions
• Poor documentation
• Testing problems
• Delays to redo and fix things
• Developer ends up chasing around to do analysis that wasn’t
done
• Takes longer to deliver value
• Unhappy team
• Unhappy customer
Too much analysis
• Wasted time
• Too much documentation
• Lots of the information doesn’t add value
• Takes longer to deliver
• Costs too much
• Over complicates things
• Difficult to deal with change
• Time to delivering value is high
• Unhappy customer
Amount of Analysis
Amount of Analysis
High
HighLow
Sweet spot = Just enough 0
20
40
60
80
100
120
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Chart Title
Cost of Project Risk
We are usually in one of these places
Methodologies
I have a methodology doesn’t this solve the problem?
Methodologies – In Theory
Waterfall Agile
Analysis
Design
DevelopAnalysis Design Develop
Methodologies – In Practice
Waterfall Agile
Analysis &
Development
Re-doing
Analysis &
Develop that
we missed or
got wrong
Analysis Design Develop
Analysis Design Develop
Time Spent
Value Delivered
What
happened to
architecture?
Agile v’s Waterfall
Agile
• Just give it to the scrum team
• We are doing agile so things are assumed to be simpler
• The team will figure it out
• Often teams don’t do analysis sprints
• Often This should be a sprint 0 type activity
• You usually have more stakeholders than just the product
owner
• Encourages POC of risk areas which is good
Waterfall
• Lots of analysis and design before any real world
validation
• Analyst/Architect not close enough to delivery to handle
change
• Analysis sometimes too detailed and overkill in terms of
presentation format
• Analysis that doesn’t add value
“In the real world a methodology often doesn’t solve the problem
as they aren’t getting the right amount of the right information”
Doing it effectively
Lets take the best
things and make
them work?
“Gathering the information we need to allow us to design, build and test the solution the customer
needs, and being able to communicate that information to the entire team”
Analysis is….
“Just enough analysis to do an effective job”
“Analyst and Architect working together”
The
Project
Developer
Legacy Application
Team
ERP System Team
Infrastructure Team Support Team Security Team
Finance Team
Project Manager
Senior Management
Change Team
Definition of Ready
Do we feel ready?
• Do we feel confident about what
we need to do
• Is the project broken down into
stories or features?
• Do we need or have the right
analysis artefacts
Measuring Readiness
• INVEST
• I – Independent (of others)
• N – Negotiable
• V – Valuable
• E – Estimatable
• S – Small
• T - Testable
Analysis Iterations
• Iteration 1 – High Level
• Iteration 2 - More Detail
• Iteration 3 – Reduce Risk
Iteration 1
Iteration 2
Iteration n
Iteration 1 - Analysis
Step 1 – The User Story
Structure
In order to (why is it important)
As a ………. (who wants it)
I want …… (what do you need)
Example
In order to collect money from customers
As a sales director
I want the CRM system to process credit card
payments on a monthly basis
“If you cant explain the value statement
then why do we want to do it”?
Step 2 – The Context Diagram
Old CRM New CRM
Orders
Website
Lookup Customer
Customer Transfer
Orders
System
Process Orders
Step 3 – Integration Use Cases
Step 4 – High Level Process Logic
• Could you easily explain the process logic to
someone
Step 5 – High Level Data Items
• What entities?
• Any relationships?
• Any key data attributes?
• Where does data come from?
Step 6 – Applications Involved
• What are the supported interfaces?
• What protocols are supported?
• Where are the applications?
• Who manages them?
• Who are the key contacts?
Step 7 – Non-Functional Requirements
• Is there a general list of NFR’s
• Are there any specific NFR’s raised by the business
• Are their any IT NFR’s
• How should the system perform?
Step 8 – Stakeholder Map
Keep Satisfied
• CRM Development
Team
• Infrastructure Team
Actively Engage
• Product Owner
• HR Department
• Support Team
Monitor
• Warehouse Dept
Keep Informed
• ERP Development
Team
• Finance Dept
• Make sure we identify stakeholders and where
they fit into the map so we can make sure we talk
to the right people at the right time
• Make sure owners of error conditions are
identified not just owners of processes
Step 9 – Which type of Integration?
• API & Services
• ESB / Messaging
• Batch Based
• Simple Orchestration
• Complex Orchestration
• Mixed
Step 10 – Candidate Architecture
• Is it something we already do?
• What patterns do we need?
• How might we build it?
• How confident are we about the design?
Step 11 – Create Integration Catalogue
• Agree a friendly Interface Name
• Identify Source and Destination Systems
• Identify Candidate Integration Type
• Batch
• API
• ESB/Messaging
• Complex Orchestration
• Identify Types of Data involved
• Identify grouping of interfaces
• Identify related Use Cases
• Relate non functional requirements
• Relate candidate architecture
Checklist
What have we done
• Created an Integration Catalogue for project which
pulls together:
• User Stories
• High Level Context
• Identified Use Cases
• Draw Process Logic
• High Level Data Model
• Applications Involved
• Stakeholders
• Non-Functional Req’s
• Candidate architecture
How do we feel
• Are we confident about process
• Are we confident about data
• Are we confident about candidate architecture
• Does it feel simple or complex
• Do we feel we have a good understanding
Iteration Summary
Iteration 2 – Analysis & Design
“We have decided we need more information & detail before proceeding, what do we get next?”
What next?
Where do we look – Key Areas
1 Processing Logic • What processing logic is
required
• What data transformation is
required
• Are there any patterns
2 Application
Connectivity
• How might we connect to the
application
• Is the application interface well
defined and easy to work with
3 The Data • Does the data make sense
• Does the data map between
systems well
1
2
2
2
2
3
3
3
Step 1 – Flush out features
• Find alternative scenarios
• Specification by example
• Find exceptions
• Confirm owner of exception scenarios
Step 2 – Define Data
• Get sample data
• Data Model
• Get data specifications if existing
• XSD/XML
• WSDL/Swagger
• JSON
• Flat File Structure
• HL7
• EDI
Step 3 – Define Data Mappings
• Encoding formats
• Reference data mappings (Look up values)
• Mr  AA
• Mrs  AB
• Miss  AC
• Number formatting
• Leading zeros
• Decimal places
• Text
• Length
• Alignment
• Padding
• Date formatting
Important this can often be an area
Which can throw up more integration
use cases or maintenance challenges
Step 4 – Application Integration Capabilities
• Do we have connectors?
• Are the connectors well understood?
• Are there challenges doing the connection?
• How will security work?
• Are there any throttling requirements?
Step 5 – Non Functional’s
• Revisit the NFR’s and validate with stakeholders
Step 6 – Patterns
• Are there any obvious integration patterns
involved
• Patterns can help create a common understanding
Step 7 – Design Decisions
• Are there any key design decisions to make
• Who will be involved
• How will the decision be made
• How do we communicate to the decision to everyone
• How do we ensure the decision is followed?
Step 8 – Update Candidate Architecture
• Is our candidate still good?
• Are there any new things
Checklist
What have we done
• More detailed process definition using
Specification by Example
• Defined data in more detail
• Define mappings
• Reviewed NFR’s
• Identify Patterns
• Update Architecture
How do we feel
• Are we confident about process
• Are we confident about data
• Are we confident about candidate architecture
• Do we understand the complexity
Iteration Summary
Iteration 3 – Reduce Risk
“How do we reduce the risk around the areas we have concerns with”
What next?
Step 1 – Logical Process POC
• What to do
• Implement light weight stubs to prove the applications will
work
• What does it achieve
• Allows focus on “will the applications work”
• Mitigates risk that the process logic will not work
Step 2 – Application Integration POC
• What to do
• Test we can connect to the application
• Create BDD style Specflow tests of the Application interface
• What does this achieve
• Test the application behaves the way we expect it to
• Tests the data looks like what we expect it to
• Tests assumptions about error conditions
Step 3 – Update Candidate Architecture
• Is our candidate still good?
• Are there any new things
Checklist
What have we done
• POC the key risk areas
• Updated architecture candidate
How do we feel
• Do we have any concerns?
• Have we mitigated risks?
Iteration Summary
Analysis Iterations
• Just enough analysis to set us up to be successful
• Use the iterations that are needed
• Make sure information is clear and can be
understood by anyone in the team
Iteration 1
Iteration 2
Iteration n
Takeaway
• Define your organisations definition of ready?
• What analysis artefacts do you usually need?
• Share it?
• Who is up for some community guidance around this?
• Technet wiki or something?

Contenu connexe

Tendances

A quick overview of Eaagle
A quick overview of EaagleA quick overview of Eaagle
A quick overview of EaagleEaagle
 
Data Detectives - Presentation
Data Detectives - PresentationData Detectives - Presentation
Data Detectives - PresentationClint Campbell
 
Join 2017_Deep Dive_To Use or Not Use PDT's
Join 2017_Deep Dive_To Use or Not Use PDT'sJoin 2017_Deep Dive_To Use or Not Use PDT's
Join 2017_Deep Dive_To Use or Not Use PDT'sLooker
 
Nimble Framework - Software architecture and design in agile era - PSQT Template
Nimble Framework - Software architecture and design in agile era - PSQT TemplateNimble Framework - Software architecture and design in agile era - PSQT Template
Nimble Framework - Software architecture and design in agile era - PSQT Templatetjain
 
Nimble Framework - Software architecture and design in agile era
Nimble Framework - Software architecture and design in agile eraNimble Framework - Software architecture and design in agile era
Nimble Framework - Software architecture and design in agile eratjain
 
Agile Analytics: Delivering on Promises by Atif Abdul Rahman
Agile Analytics: Delivering on Promises by Atif Abdul RahmanAgile Analytics: Delivering on Promises by Atif Abdul Rahman
Agile Analytics: Delivering on Promises by Atif Abdul RahmanAgile ME
 
5 ways to improve performance through indexing
5 ways to improve performance through indexing5 ways to improve performance through indexing
5 ways to improve performance through indexingJason Strate
 
Creating a culture of continuous delivery & value
Creating a culture of continuous delivery & valueCreating a culture of continuous delivery & value
Creating a culture of continuous delivery & valueallan kelly
 
Project management for Big Data projects
Project management for Big Data projectsProject management for Big Data projects
Project management for Big Data projectsSandeep Kumar, PMP®
 
Beyond Projects/#NoProjects
Beyond Projects/#NoProjectsBeyond Projects/#NoProjects
Beyond Projects/#NoProjectsallan kelly
 
SGCI Extended Developer Support All Hands 15march2017
SGCI Extended Developer Support All Hands 15march2017SGCI Extended Developer Support All Hands 15march2017
SGCI Extended Developer Support All Hands 15march2017Marlon Pierce
 
Software Development is Upside Down
Software Development is Upside DownSoftware Development is Upside Down
Software Development is Upside Downallan kelly
 
Creating a DevOps Practice for Analytics -- Strata Data, September 28, 2017
Creating a DevOps Practice for Analytics -- Strata Data, September 28, 2017Creating a DevOps Practice for Analytics -- Strata Data, September 28, 2017
Creating a DevOps Practice for Analytics -- Strata Data, September 28, 2017Caserta
 

Tendances (15)

Lean Analytics: How to get more out of your data science team
Lean Analytics: How to get more out of your data science teamLean Analytics: How to get more out of your data science team
Lean Analytics: How to get more out of your data science team
 
A quick overview of Eaagle
A quick overview of EaagleA quick overview of Eaagle
A quick overview of Eaagle
 
Agile Analytics
Agile AnalyticsAgile Analytics
Agile Analytics
 
Data Detectives - Presentation
Data Detectives - PresentationData Detectives - Presentation
Data Detectives - Presentation
 
Join 2017_Deep Dive_To Use or Not Use PDT's
Join 2017_Deep Dive_To Use or Not Use PDT'sJoin 2017_Deep Dive_To Use or Not Use PDT's
Join 2017_Deep Dive_To Use or Not Use PDT's
 
Nimble Framework - Software architecture and design in agile era - PSQT Template
Nimble Framework - Software architecture and design in agile era - PSQT TemplateNimble Framework - Software architecture and design in agile era - PSQT Template
Nimble Framework - Software architecture and design in agile era - PSQT Template
 
Nimble Framework - Software architecture and design in agile era
Nimble Framework - Software architecture and design in agile eraNimble Framework - Software architecture and design in agile era
Nimble Framework - Software architecture and design in agile era
 
Agile Analytics: Delivering on Promises by Atif Abdul Rahman
Agile Analytics: Delivering on Promises by Atif Abdul RahmanAgile Analytics: Delivering on Promises by Atif Abdul Rahman
Agile Analytics: Delivering on Promises by Atif Abdul Rahman
 
5 ways to improve performance through indexing
5 ways to improve performance through indexing5 ways to improve performance through indexing
5 ways to improve performance through indexing
 
Creating a culture of continuous delivery & value
Creating a culture of continuous delivery & valueCreating a culture of continuous delivery & value
Creating a culture of continuous delivery & value
 
Project management for Big Data projects
Project management for Big Data projectsProject management for Big Data projects
Project management for Big Data projects
 
Beyond Projects/#NoProjects
Beyond Projects/#NoProjectsBeyond Projects/#NoProjects
Beyond Projects/#NoProjects
 
SGCI Extended Developer Support All Hands 15march2017
SGCI Extended Developer Support All Hands 15march2017SGCI Extended Developer Support All Hands 15march2017
SGCI Extended Developer Support All Hands 15march2017
 
Software Development is Upside Down
Software Development is Upside DownSoftware Development is Upside Down
Software Development is Upside Down
 
Creating a DevOps Practice for Analytics -- Strata Data, September 28, 2017
Creating a DevOps Practice for Analytics -- Strata Data, September 28, 2017Creating a DevOps Practice for Analytics -- Strata Data, September 28, 2017
Creating a DevOps Practice for Analytics -- Strata Data, September 28, 2017
 

En vedette

Application Insights for Integration Developers
Application Insights for Integration DevelopersApplication Insights for Integration Developers
Application Insights for Integration DevelopersSriram Hariharan
 
How to automate your BizTalk Installations and Deployments with Chef
How to automate your BizTalk Installations and Deployments with ChefHow to automate your BizTalk Installations and Deployments with Chef
How to automate your BizTalk Installations and Deployments with ChefBizTalk360
 
BizTalk Server with SQL Server AlwaysOn
BizTalk Server with SQL Server AlwaysOnBizTalk Server with SQL Server AlwaysOn
BizTalk Server with SQL Server AlwaysOnBizTalk360
 
Azure Service Bus Overview
Azure Service Bus OverviewAzure Service Bus Overview
Azure Service Bus OverviewBizTalk360
 

En vedette (6)

Embrace your customer, get digital!
Embrace your customer, get digital!Embrace your customer, get digital!
Embrace your customer, get digital!
 
Application Insights for Integration Developers
Application Insights for Integration DevelopersApplication Insights for Integration Developers
Application Insights for Integration Developers
 
c-quilibrium R forecasting integration
c-quilibrium R forecasting integrationc-quilibrium R forecasting integration
c-quilibrium R forecasting integration
 
How to automate your BizTalk Installations and Deployments with Chef
How to automate your BizTalk Installations and Deployments with ChefHow to automate your BizTalk Installations and Deployments with Chef
How to automate your BizTalk Installations and Deployments with Chef
 
BizTalk Server with SQL Server AlwaysOn
BizTalk Server with SQL Server AlwaysOnBizTalk Server with SQL Server AlwaysOn
BizTalk Server with SQL Server AlwaysOn
 
Azure Service Bus Overview
Azure Service Bus OverviewAzure Service Bus Overview
Azure Service Bus Overview
 

Similaire à The Analysis Part of Integration Projects

Building SharePoint Enterprise Platforms - Off the beaten path - SharePoint S...
Building SharePoint Enterprise Platforms - Off the beaten path - SharePoint S...Building SharePoint Enterprise Platforms - Off the beaten path - SharePoint S...
Building SharePoint Enterprise Platforms - Off the beaten path - SharePoint S...Andy Talbot
 
Visualising montioring and evaluation data
Visualising montioring and evaluation dataVisualising montioring and evaluation data
Visualising montioring and evaluation dataRob Worthington
 
Data Governance: Why, What & How
Data Governance: Why, What & HowData Governance: Why, What & How
Data Governance: Why, What & HowSenturus
 
Kontextdrivna krav - effektiv kravställning för din organisation
Kontextdrivna krav - effektiv kravställning för din organisationKontextdrivna krav - effektiv kravställning för din organisation
Kontextdrivna krav - effektiv kravställning för din organisationADDQ
 
Building enterprise platforms - off the beaten path - SharePoint User Group U...
Building enterprise platforms - off the beaten path - SharePoint User Group U...Building enterprise platforms - off the beaten path - SharePoint User Group U...
Building enterprise platforms - off the beaten path - SharePoint User Group U...Andy Talbot
 
2015 ISACA NACACS - Audit as Controls Factory
2015 ISACA NACACS - Audit as Controls Factory2015 ISACA NACACS - Audit as Controls Factory
2015 ISACA NACACS - Audit as Controls FactoryNathan Anderson
 
Bua 235 teamwork
Bua 235 teamwork Bua 235 teamwork
Bua 235 teamwork UMaine
 
Engineering Teams and Systems for Velocity
Engineering Teams and Systems for VelocityEngineering Teams and Systems for Velocity
Engineering Teams and Systems for VelocityJean Barmash
 
Why Bad Data May Be Your Best Opportunity
Why Bad Data May Be Your Best OpportunityWhy Bad Data May Be Your Best Opportunity
Why Bad Data May Be Your Best OpportunityZach Gardner
 
Best Practices for a Successful SharePoint Migration or Upgrade to the Cloud
Best Practices for a Successful SharePoint Migration or Upgrade to the CloudBest Practices for a Successful SharePoint Migration or Upgrade to the Cloud
Best Practices for a Successful SharePoint Migration or Upgrade to the CloudPerficient, Inc.
 
10 Essentials for Effective Teams Governance
10 Essentials for Effective Teams Governance10 Essentials for Effective Teams Governance
10 Essentials for Effective Teams GovernanceChristian Buckley
 
What You Need to Know Before Upgrading to SharePoint 2013
What You Need to Know Before Upgrading to SharePoint 2013What You Need to Know Before Upgrading to SharePoint 2013
What You Need to Know Before Upgrading to SharePoint 2013Perficient, Inc.
 
Building SharePoint Enterprise Platforms - Off the beaten path
Building SharePoint Enterprise Platforms - Off the beaten pathBuilding SharePoint Enterprise Platforms - Off the beaten path
Building SharePoint Enterprise Platforms - Off the beaten pathAndy Talbot
 
Project Server - Who can benefit from it and how?
Project Server - Who can benefit from it and how?Project Server - Who can benefit from it and how?
Project Server - Who can benefit from it and how?SPC Adriatics
 
Project Server: Who can benefit from it and how?
Project Server: Who can benefit from it and how?Project Server: Who can benefit from it and how?
Project Server: Who can benefit from it and how?SPC Adriatics
 
Advanced Project Data Analytics for Improved Project Delivery
Advanced Project Data Analytics for Improved Project DeliveryAdvanced Project Data Analytics for Improved Project Delivery
Advanced Project Data Analytics for Improved Project DeliveryMark Constable
 
SharePoint 2013 Migration - Your 5 Rules for Success
SharePoint 2013 Migration  - Your 5 Rules for SuccessSharePoint 2013 Migration  - Your 5 Rules for Success
SharePoint 2013 Migration - Your 5 Rules for SuccessChristian Buckley
 
Scaling on Atlassian: Avoiding The Top 5 Pitfalls When Migrating From a Legac...
Scaling on Atlassian: Avoiding The Top 5 Pitfalls When Migrating From a Legac...Scaling on Atlassian: Avoiding The Top 5 Pitfalls When Migrating From a Legac...
Scaling on Atlassian: Avoiding The Top 5 Pitfalls When Migrating From a Legac...Cprime
 
Migration to share point online
Migration to share point onlineMigration to share point online
Migration to share point onlineNetwoven Inc.
 

Similaire à The Analysis Part of Integration Projects (20)

Building SharePoint Enterprise Platforms - Off the beaten path - SharePoint S...
Building SharePoint Enterprise Platforms - Off the beaten path - SharePoint S...Building SharePoint Enterprise Platforms - Off the beaten path - SharePoint S...
Building SharePoint Enterprise Platforms - Off the beaten path - SharePoint S...
 
Visualising montioring and evaluation data
Visualising montioring and evaluation dataVisualising montioring and evaluation data
Visualising montioring and evaluation data
 
Data Governance: Why, What & How
Data Governance: Why, What & HowData Governance: Why, What & How
Data Governance: Why, What & How
 
Kontextdrivna krav - effektiv kravställning för din organisation
Kontextdrivna krav - effektiv kravställning för din organisationKontextdrivna krav - effektiv kravställning för din organisation
Kontextdrivna krav - effektiv kravställning för din organisation
 
Building enterprise platforms - off the beaten path - SharePoint User Group U...
Building enterprise platforms - off the beaten path - SharePoint User Group U...Building enterprise platforms - off the beaten path - SharePoint User Group U...
Building enterprise platforms - off the beaten path - SharePoint User Group U...
 
2015 ISACA NACACS - Audit as Controls Factory
2015 ISACA NACACS - Audit as Controls Factory2015 ISACA NACACS - Audit as Controls Factory
2015 ISACA NACACS - Audit as Controls Factory
 
Bua 235 teamwork
Bua 235 teamwork Bua 235 teamwork
Bua 235 teamwork
 
Engineering Teams and Systems for Velocity
Engineering Teams and Systems for VelocityEngineering Teams and Systems for Velocity
Engineering Teams and Systems for Velocity
 
Why Bad Data May Be Your Best Opportunity
Why Bad Data May Be Your Best OpportunityWhy Bad Data May Be Your Best Opportunity
Why Bad Data May Be Your Best Opportunity
 
Best Practices for a Successful SharePoint Migration or Upgrade to the Cloud
Best Practices for a Successful SharePoint Migration or Upgrade to the CloudBest Practices for a Successful SharePoint Migration or Upgrade to the Cloud
Best Practices for a Successful SharePoint Migration or Upgrade to the Cloud
 
10 Essentials for Effective Teams Governance
10 Essentials for Effective Teams Governance10 Essentials for Effective Teams Governance
10 Essentials for Effective Teams Governance
 
What You Need to Know Before Upgrading to SharePoint 2013
What You Need to Know Before Upgrading to SharePoint 2013What You Need to Know Before Upgrading to SharePoint 2013
What You Need to Know Before Upgrading to SharePoint 2013
 
Building SharePoint Enterprise Platforms - Off the beaten path
Building SharePoint Enterprise Platforms - Off the beaten pathBuilding SharePoint Enterprise Platforms - Off the beaten path
Building SharePoint Enterprise Platforms - Off the beaten path
 
Project Server - Who can benefit from it and how?
Project Server - Who can benefit from it and how?Project Server - Who can benefit from it and how?
Project Server - Who can benefit from it and how?
 
The art of project estimation
The art of project estimationThe art of project estimation
The art of project estimation
 
Project Server: Who can benefit from it and how?
Project Server: Who can benefit from it and how?Project Server: Who can benefit from it and how?
Project Server: Who can benefit from it and how?
 
Advanced Project Data Analytics for Improved Project Delivery
Advanced Project Data Analytics for Improved Project DeliveryAdvanced Project Data Analytics for Improved Project Delivery
Advanced Project Data Analytics for Improved Project Delivery
 
SharePoint 2013 Migration - Your 5 Rules for Success
SharePoint 2013 Migration  - Your 5 Rules for SuccessSharePoint 2013 Migration  - Your 5 Rules for Success
SharePoint 2013 Migration - Your 5 Rules for Success
 
Scaling on Atlassian: Avoiding The Top 5 Pitfalls When Migrating From a Legac...
Scaling on Atlassian: Avoiding The Top 5 Pitfalls When Migrating From a Legac...Scaling on Atlassian: Avoiding The Top 5 Pitfalls When Migrating From a Legac...
Scaling on Atlassian: Avoiding The Top 5 Pitfalls When Migrating From a Legac...
 
Migration to share point online
Migration to share point onlineMigration to share point online
Migration to share point online
 

Plus de BizTalk360

Optimise Business Activity Tracking – Insights from Smurfit Kappa
Optimise Business Activity Tracking – Insights from Smurfit KappaOptimise Business Activity Tracking – Insights from Smurfit Kappa
Optimise Business Activity Tracking – Insights from Smurfit KappaBizTalk360
 
Optimise Business Activity Tracking – Insights from Smurfit Kappa
Optimise Business Activity Tracking – Insights from Smurfit KappaOptimise Business Activity Tracking – Insights from Smurfit Kappa
Optimise Business Activity Tracking – Insights from Smurfit KappaBizTalk360
 
What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)
What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)
What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)BizTalk360
 
Integration Monday - Logic Apps: Development Experiences
Integration Monday - Logic Apps: Development ExperiencesIntegration Monday - Logic Apps: Development Experiences
Integration Monday - Logic Apps: Development ExperiencesBizTalk360
 
Integration Monday - BizTalk Migrator Deep Dive
Integration Monday - BizTalk Migrator Deep DiveIntegration Monday - BizTalk Migrator Deep Dive
Integration Monday - BizTalk Migrator Deep DiveBizTalk360
 
Testing for Logic App Solutions | Integration Monday
Testing for Logic App Solutions | Integration MondayTesting for Logic App Solutions | Integration Monday
Testing for Logic App Solutions | Integration MondayBizTalk360
 
System Integration using Reactive Programming | Integration Monday
System Integration using Reactive Programming | Integration MondaySystem Integration using Reactive Programming | Integration Monday
System Integration using Reactive Programming | Integration MondayBizTalk360
 
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration MondayBuilding workflow solution with Microsoft Azure and Cloud | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration MondayBizTalk360
 
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...BizTalk360
 
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration Monday
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration MondayMigrating BizTalk Solutions to Azure: Mapping Messages | Integration Monday
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration MondayBizTalk360
 
Integration-Monday-Infrastructure-As-Code-With-Terraform
Integration-Monday-Infrastructure-As-Code-With-TerraformIntegration-Monday-Infrastructure-As-Code-With-Terraform
Integration-Monday-Infrastructure-As-Code-With-TerraformBizTalk360
 
Integration-Monday-Stateful-Programming-Models-Serverless-Functions
Integration-Monday-Stateful-Programming-Models-Serverless-FunctionsIntegration-Monday-Stateful-Programming-Models-Serverless-Functions
Integration-Monday-Stateful-Programming-Models-Serverless-FunctionsBizTalk360
 
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-FunctionsIntegration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-FunctionsBizTalk360
 
Integration-Monday-Building-Stateful-Workloads-Kubernetes
Integration-Monday-Building-Stateful-Workloads-KubernetesIntegration-Monday-Building-Stateful-Workloads-Kubernetes
Integration-Monday-Building-Stateful-Workloads-KubernetesBizTalk360
 
Integration-Monday-Logic-Apps-Tips-Tricks
Integration-Monday-Logic-Apps-Tips-TricksIntegration-Monday-Logic-Apps-Tips-Tricks
Integration-Monday-Logic-Apps-Tips-TricksBizTalk360
 
Integration-Monday-Terraform-Serverless
Integration-Monday-Terraform-ServerlessIntegration-Monday-Terraform-Serverless
Integration-Monday-Terraform-ServerlessBizTalk360
 
Integration-Monday-Microsoft-Power-Platform
Integration-Monday-Microsoft-Power-PlatformIntegration-Monday-Microsoft-Power-Platform
Integration-Monday-Microsoft-Power-PlatformBizTalk360
 
One name unify them all
One name unify them allOne name unify them all
One name unify them allBizTalk360
 
Securely Publishing Azure Services
Securely Publishing Azure ServicesSecurely Publishing Azure Services
Securely Publishing Azure ServicesBizTalk360
 

Plus de BizTalk360 (20)

Optimise Business Activity Tracking – Insights from Smurfit Kappa
Optimise Business Activity Tracking – Insights from Smurfit KappaOptimise Business Activity Tracking – Insights from Smurfit Kappa
Optimise Business Activity Tracking – Insights from Smurfit Kappa
 
Optimise Business Activity Tracking – Insights from Smurfit Kappa
Optimise Business Activity Tracking – Insights from Smurfit KappaOptimise Business Activity Tracking – Insights from Smurfit Kappa
Optimise Business Activity Tracking – Insights from Smurfit Kappa
 
What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)
What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)
What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)
 
Integration Monday - Logic Apps: Development Experiences
Integration Monday - Logic Apps: Development ExperiencesIntegration Monday - Logic Apps: Development Experiences
Integration Monday - Logic Apps: Development Experiences
 
Integration Monday - BizTalk Migrator Deep Dive
Integration Monday - BizTalk Migrator Deep DiveIntegration Monday - BizTalk Migrator Deep Dive
Integration Monday - BizTalk Migrator Deep Dive
 
Testing for Logic App Solutions | Integration Monday
Testing for Logic App Solutions | Integration MondayTesting for Logic App Solutions | Integration Monday
Testing for Logic App Solutions | Integration Monday
 
No-Slides
No-SlidesNo-Slides
No-Slides
 
System Integration using Reactive Programming | Integration Monday
System Integration using Reactive Programming | Integration MondaySystem Integration using Reactive Programming | Integration Monday
System Integration using Reactive Programming | Integration Monday
 
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration MondayBuilding workflow solution with Microsoft Azure and Cloud | Integration Monday
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
 
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
 
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration Monday
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration MondayMigrating BizTalk Solutions to Azure: Mapping Messages | Integration Monday
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration Monday
 
Integration-Monday-Infrastructure-As-Code-With-Terraform
Integration-Monday-Infrastructure-As-Code-With-TerraformIntegration-Monday-Infrastructure-As-Code-With-Terraform
Integration-Monday-Infrastructure-As-Code-With-Terraform
 
Integration-Monday-Stateful-Programming-Models-Serverless-Functions
Integration-Monday-Stateful-Programming-Models-Serverless-FunctionsIntegration-Monday-Stateful-Programming-Models-Serverless-Functions
Integration-Monday-Stateful-Programming-Models-Serverless-Functions
 
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-FunctionsIntegration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
 
Integration-Monday-Building-Stateful-Workloads-Kubernetes
Integration-Monday-Building-Stateful-Workloads-KubernetesIntegration-Monday-Building-Stateful-Workloads-Kubernetes
Integration-Monday-Building-Stateful-Workloads-Kubernetes
 
Integration-Monday-Logic-Apps-Tips-Tricks
Integration-Monday-Logic-Apps-Tips-TricksIntegration-Monday-Logic-Apps-Tips-Tricks
Integration-Monday-Logic-Apps-Tips-Tricks
 
Integration-Monday-Terraform-Serverless
Integration-Monday-Terraform-ServerlessIntegration-Monday-Terraform-Serverless
Integration-Monday-Terraform-Serverless
 
Integration-Monday-Microsoft-Power-Platform
Integration-Monday-Microsoft-Power-PlatformIntegration-Monday-Microsoft-Power-Platform
Integration-Monday-Microsoft-Power-Platform
 
One name unify them all
One name unify them allOne name unify them all
One name unify them all
 
Securely Publishing Azure Services
Securely Publishing Azure ServicesSecurely Publishing Azure Services
Securely Publishing Azure Services
 

Dernier

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
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 2024The Digital Insurer
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Dernier (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

The Analysis Part of Integration Projects

  • 1. Connected Systems Consulting Ltd Sponsored & Brought to you by The Analysis Part of Integration Projects Michael Stephenson https://twitter.com/michael_stephen https://www.linkedin.com/in/michaelstephensonuk1
  • 2. The Analysis Part of Integration Projects Connected Systems Consulting Ltd
  • 3. Connected Systems Consulting Ltd Who am I? Michael Stephenson – UK-Based Freelance Consultant specializing in: • BizTalk • Windows Azure • Integration – Microsoft Integration MVP for 6+ years – Pluralsight Author – Azure Insider/Advisor – One of organizers of UK Connected Systems User Group – Founder of BizTalk Maturity Assessment – www.biztalkmaturity.com – Worked on approx. 30 projects that have leveraged Azure – First project went live about 4 years ago – Contact Info: • Blog: http://microsoftintegration.guru • Twitter: @michael_Stephen • Linked In: http://www.linkedin.com/in/michaelstephensonuk1 • Email: michael_stephensonuk@yahoo.co.uk
  • 5. Question “How often do you feel thrown in at the deep end when starting an integration development project because no one seems to have a clear understanding of what is required”? +1 in the chat window if you think this is common
  • 7. Common Scenario 1 “I need a feed of customer data from system A to system B” Err…. Ok so what does this mean?
  • 8. Common Scenario 2 Contoso Fabrikam Acme CRM System ERP System Finance System Marketing System Products System Products System Orders System Orders System Orders System Customers System Its this interface here, can we just do this? Those arrows are pretty but we don’t know anything about what it means
  • 9. Common Scenario 3 “I need an additional data attribute added to an Existing integration process” This may be straightforward and we could just get on with it… but lets get a little info to be sure
  • 10. Common Scenario 4 “We need to change the existing new customer process So it also updates the new CRM system” I hope we have all of the data we might need
  • 12. What systems are involved? What does the data look like? How much data do we need to process? What do things happen? What is the process flow? Are there any alternative or exception scenarios? How do I talk to each application? Are there any SLA’s? Is there any business logic? What are the data transformation rules? Will we need any new infrastructure? Are there any performance requirements? Are there any security requirements? Is there any documentation ? When do things happen?
  • 13. “There’s just so much unknown that affects how we design and build the system”
  • 14. How Important is Analysis? Integration is easy when… • The solution is very like something you have done before • You are reusing stuff you have build in the past • The applications involved are well understood • Only a small number of people are involved • The data is not complicated • The process logic is simple • You have a good test environment setup • Everyone understands the process to be built • You have good testing • Your dependencies are well understood Integration is hard when… • You need new infrastructure • You have lots of dependencies or they are poorly understood • Lots of external vendors or people are involved • You need to use patterns you have not implemented before • The applications involved are not well understood • The applications involved are unreliable • You have a poor test environment setup • You follow good ALM practices • You don’t have enough information • Your requirements are not well understood or clear • You have a poor or incorrect solution design • Your making it up as you go along
  • 15. Getting it wrong Not enough analysis • Developer gets things wrong • Architect makes bad assumptions • Poor documentation • Testing problems • Delays to redo and fix things • Developer ends up chasing around to do analysis that wasn’t done • Takes longer to deliver value • Unhappy team • Unhappy customer Too much analysis • Wasted time • Too much documentation • Lots of the information doesn’t add value • Takes longer to deliver • Costs too much • Over complicates things • Difficult to deal with change • Time to delivering value is high • Unhappy customer
  • 16. Amount of Analysis Amount of Analysis High HighLow Sweet spot = Just enough 0 20 40 60 80 100 120 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Chart Title Cost of Project Risk We are usually in one of these places
  • 17. Methodologies I have a methodology doesn’t this solve the problem?
  • 18. Methodologies – In Theory Waterfall Agile Analysis Design DevelopAnalysis Design Develop
  • 19. Methodologies – In Practice Waterfall Agile Analysis & Development Re-doing Analysis & Develop that we missed or got wrong Analysis Design Develop Analysis Design Develop Time Spent Value Delivered What happened to architecture?
  • 20. Agile v’s Waterfall Agile • Just give it to the scrum team • We are doing agile so things are assumed to be simpler • The team will figure it out • Often teams don’t do analysis sprints • Often This should be a sprint 0 type activity • You usually have more stakeholders than just the product owner • Encourages POC of risk areas which is good Waterfall • Lots of analysis and design before any real world validation • Analyst/Architect not close enough to delivery to handle change • Analysis sometimes too detailed and overkill in terms of presentation format • Analysis that doesn’t add value “In the real world a methodology often doesn’t solve the problem as they aren’t getting the right amount of the right information”
  • 21. Doing it effectively Lets take the best things and make them work?
  • 22. “Gathering the information we need to allow us to design, build and test the solution the customer needs, and being able to communicate that information to the entire team” Analysis is….
  • 23. “Just enough analysis to do an effective job” “Analyst and Architect working together”
  • 24. The Project Developer Legacy Application Team ERP System Team Infrastructure Team Support Team Security Team Finance Team Project Manager Senior Management Change Team
  • 25. Definition of Ready Do we feel ready? • Do we feel confident about what we need to do • Is the project broken down into stories or features? • Do we need or have the right analysis artefacts Measuring Readiness • INVEST • I – Independent (of others) • N – Negotiable • V – Valuable • E – Estimatable • S – Small • T - Testable
  • 26. Analysis Iterations • Iteration 1 – High Level • Iteration 2 - More Detail • Iteration 3 – Reduce Risk Iteration 1 Iteration 2 Iteration n
  • 27. Iteration 1 - Analysis
  • 28. Step 1 – The User Story Structure In order to (why is it important) As a ………. (who wants it) I want …… (what do you need) Example In order to collect money from customers As a sales director I want the CRM system to process credit card payments on a monthly basis “If you cant explain the value statement then why do we want to do it”?
  • 29. Step 2 – The Context Diagram Old CRM New CRM Orders Website Lookup Customer Customer Transfer Orders System Process Orders
  • 30. Step 3 – Integration Use Cases
  • 31. Step 4 – High Level Process Logic • Could you easily explain the process logic to someone
  • 32. Step 5 – High Level Data Items • What entities? • Any relationships? • Any key data attributes? • Where does data come from?
  • 33. Step 6 – Applications Involved • What are the supported interfaces? • What protocols are supported? • Where are the applications? • Who manages them? • Who are the key contacts?
  • 34. Step 7 – Non-Functional Requirements • Is there a general list of NFR’s • Are there any specific NFR’s raised by the business • Are their any IT NFR’s • How should the system perform?
  • 35. Step 8 – Stakeholder Map Keep Satisfied • CRM Development Team • Infrastructure Team Actively Engage • Product Owner • HR Department • Support Team Monitor • Warehouse Dept Keep Informed • ERP Development Team • Finance Dept • Make sure we identify stakeholders and where they fit into the map so we can make sure we talk to the right people at the right time • Make sure owners of error conditions are identified not just owners of processes
  • 36. Step 9 – Which type of Integration? • API & Services • ESB / Messaging • Batch Based • Simple Orchestration • Complex Orchestration • Mixed
  • 37. Step 10 – Candidate Architecture • Is it something we already do? • What patterns do we need? • How might we build it? • How confident are we about the design?
  • 38. Step 11 – Create Integration Catalogue • Agree a friendly Interface Name • Identify Source and Destination Systems • Identify Candidate Integration Type • Batch • API • ESB/Messaging • Complex Orchestration • Identify Types of Data involved • Identify grouping of interfaces • Identify related Use Cases • Relate non functional requirements • Relate candidate architecture
  • 39. Checklist What have we done • Created an Integration Catalogue for project which pulls together: • User Stories • High Level Context • Identified Use Cases • Draw Process Logic • High Level Data Model • Applications Involved • Stakeholders • Non-Functional Req’s • Candidate architecture How do we feel • Are we confident about process • Are we confident about data • Are we confident about candidate architecture • Does it feel simple or complex • Do we feel we have a good understanding
  • 41. Iteration 2 – Analysis & Design
  • 42. “We have decided we need more information & detail before proceeding, what do we get next?” What next?
  • 43. Where do we look – Key Areas 1 Processing Logic • What processing logic is required • What data transformation is required • Are there any patterns 2 Application Connectivity • How might we connect to the application • Is the application interface well defined and easy to work with 3 The Data • Does the data make sense • Does the data map between systems well 1 2 2 2 2 3 3 3
  • 44. Step 1 – Flush out features • Find alternative scenarios • Specification by example • Find exceptions • Confirm owner of exception scenarios
  • 45. Step 2 – Define Data • Get sample data • Data Model • Get data specifications if existing • XSD/XML • WSDL/Swagger • JSON • Flat File Structure • HL7 • EDI
  • 46. Step 3 – Define Data Mappings • Encoding formats • Reference data mappings (Look up values) • Mr  AA • Mrs  AB • Miss  AC • Number formatting • Leading zeros • Decimal places • Text • Length • Alignment • Padding • Date formatting Important this can often be an area Which can throw up more integration use cases or maintenance challenges
  • 47. Step 4 – Application Integration Capabilities • Do we have connectors? • Are the connectors well understood? • Are there challenges doing the connection? • How will security work? • Are there any throttling requirements?
  • 48. Step 5 – Non Functional’s • Revisit the NFR’s and validate with stakeholders
  • 49. Step 6 – Patterns • Are there any obvious integration patterns involved • Patterns can help create a common understanding
  • 50. Step 7 – Design Decisions • Are there any key design decisions to make • Who will be involved • How will the decision be made • How do we communicate to the decision to everyone • How do we ensure the decision is followed?
  • 51. Step 8 – Update Candidate Architecture • Is our candidate still good? • Are there any new things
  • 52. Checklist What have we done • More detailed process definition using Specification by Example • Defined data in more detail • Define mappings • Reviewed NFR’s • Identify Patterns • Update Architecture How do we feel • Are we confident about process • Are we confident about data • Are we confident about candidate architecture • Do we understand the complexity
  • 54. Iteration 3 – Reduce Risk
  • 55. “How do we reduce the risk around the areas we have concerns with” What next?
  • 56. Step 1 – Logical Process POC • What to do • Implement light weight stubs to prove the applications will work • What does it achieve • Allows focus on “will the applications work” • Mitigates risk that the process logic will not work
  • 57. Step 2 – Application Integration POC • What to do • Test we can connect to the application • Create BDD style Specflow tests of the Application interface • What does this achieve • Test the application behaves the way we expect it to • Tests the data looks like what we expect it to • Tests assumptions about error conditions
  • 58. Step 3 – Update Candidate Architecture • Is our candidate still good? • Are there any new things
  • 59. Checklist What have we done • POC the key risk areas • Updated architecture candidate How do we feel • Do we have any concerns? • Have we mitigated risks?
  • 61. Analysis Iterations • Just enough analysis to set us up to be successful • Use the iterations that are needed • Make sure information is clear and can be understood by anyone in the team Iteration 1 Iteration 2 Iteration n
  • 62. Takeaway • Define your organisations definition of ready? • What analysis artefacts do you usually need? • Share it? • Who is up for some community guidance around this? • Technet wiki or something?

Notes de l'éditeur

  1. Purple means they are related to the analysis and design phase of a project
  2. Sometimes we use a methodology which proposes ideas around how things should be done which are misinterpreted or misused and it results in not doing an effective job. Regardless of methodology we need a certain minimum level of understanding of what we need to do otherwise we will be guessing which is never a good thing. Sometimes too much analysis can be detrimental though
  3. We need to appreciate that all stakeholders in the project have a different perspective and will see things in a different way. As an architect we need to be able to imagine ourselves in each of these positions to understand the needs of each different