SlideShare a Scribd company logo
1 of 27
Download to read offline
Technological Agility
https://enterprisersproject.com/article/2018/2/anthem-cio-how-agile-helped-us-drive-value
Omar Bashir
Associate Director
https://www.linkedin.com/in/obprofile/
@OmarBashir_40
Traditional Agile Transformation
Organisation
Talent
Process
Culture
Process
In fact, in an agile project, technical excellence is
measured by both capacity to deliver customer
value today and create an adaptable product
for tomorrow.
Jim Highsmith
Agile Transformation for Disruption
Organisation
Talent
Process
Culture
Process
Engineering
Technology and Business Change
● Technology optimises business processes.
● Business change necessitates technology
change.
● Not all technology facilitates business change.
– Shorter the time to realise a business opportunity
more challenging is the corresponding technical
change.
Inflexible Technology
● Each change adds complexity.
● Complexity leads to brittleness.
● Brittleness leads to further inflexibility.
I very frequently get the question: ‘What’s going
to change in the next 10 years?’ And that is a
very interesting question; it’s a very common
one. I almost never get the question: ‘What’s
not going to change in the next 10 years?’
And I submit to you that that second question is
actually the more important of the two—because   
you can build a business strategy around the
things that are stable in time…
Jeff Bezos
Disruption 101
● Fundamental needs don’t change.
● How these needs are delivered is the
differentiator.
● Leading and managing disruption,
– A strategic focus on the domain.
– Decoupling the domain from delivery mechanisms.
– Enabling extensibility in the domain and flexibility in
delivery.
Strategic Focus on Domain
● Domain Driven Design (DDD),
– Focuses on core domain,
– Explores models for creative collaboration between
domain practitioners and software developers.
– Encourages separation of concerns.
● Facilitates,
– Strategic definition of sub-domains and interactions
between them.
– Definition of the domain information models.
Domain Model
● Foundation for defining the strategic
representation and deriving infrastructure data
models.
● Consists of
– Entities,
– Value objects
– Events
– Aggregates
– Abstractions
● Factories
● Repositories
● Services
Bounded Contexts
● Incremental construction of the domain by domain
decomposition.
– Helps identify generic sub-domains with commoditised
implementations.
– Sub-domains logically separated by bounded contexts.
Event Storming
● Rapid, lightweight group modeling technique.
– Capturing domain events without implementation
specifics.
● Using the Ubiquitous Language,
– Capture domain events on a timeline.
– Add triggers,
● Commands causing the events.
– Identify sources of triggers.
– Describe data for every command event pair.
– Identify policies, reactive logic after an event that
triggers other events.
Software development is a learning process; working code is a side effect. Alberto Brandolini
Bounded Contexts From Event Model
● Pivotal Events
– Indicate major changes in the domain.
– Often form boundaries between sub-domains.
● Swim Lanes
– Event series in overlapped timelines.
● Aggregates
– Logically related entities and value objects.
● E.g., orders and order lines.
– Emerge from grouping of events and commands.
Message
Received
Message
Xformed
Message
Validated
Message
Enriched
New Trade
Booked
Trade
Amended
Trade
Cancelled
Trader
Notified
Xform
Failed
Validation
Failed
Enrichment
Failed
Failure
Notified
Trade Moved
To Book
Risk & P&L
Calculated
Pivotal Events
SwimLanes
Impact of NFRs
● NFRs (Non-functional Requirements) define
architectural styles on which the functional
design is implemented.
● NFRs also steer infrastructure choices.
● NFRs vary over the life of an application.
– May necessitate adopting different architectural styles
or technologies.
● Tight coupling between functional code and
infrastructure leads to inflexible technology.
● Relegating NFRs in a development cycle leads to
inefficient systems.
Reducing Coupling and Leakage
Account
Management
Credentials
Management
LDAP
Access
Management
Database
API
Reducing Coupling and Leakage
Account
Management
Credentials
Management
LDAP
Access
Management
Database
API
Generic Sub-domains
Core Domain
Infrastructure
Independence
● Reducing dependencies to the minimum.
– Lower app binary footprint.
– Reduce risks.
– Simplify testing.
● Isolating dependencies from functional logic.
– Functional logic need not change when replacing
dependencies.
– Hexagonal architecture
Hexagonal Architecture
Agility vs Over Engineering
● Over engineered applications
– Cater for all possible eventualities.
– Are prematurely and speculatively optimised.
– Inflexible due to increased complexity.
● Agile applications are
– Flexible and extensible.
– Scalable to increase performance on demand.
DIPSy
A Framework for Technological Agility
Domain Focus
Independence
Patternise Pragmatically
Simplify Aggressively
Technology Agility

More Related Content

Similar to Technology Agility

Advance Microservice Patterns - Event Souring , CQRS
Advance Microservice Patterns - Event Souring , CQRSAdvance Microservice Patterns - Event Souring , CQRS
Advance Microservice Patterns - Event Souring , CQRSMohit Mittal
 
Managing technical debt
Managing technical debtManaging technical debt
Managing technical debtFadi Stephan
 
GoCrackIt presentation consulting case workshop
GoCrackIt presentation consulting case workshopGoCrackIt presentation consulting case workshop
GoCrackIt presentation consulting case workshopSupportGCI
 
Agile Intro - Saint Louis Day of Dot Net
Agile Intro - Saint Louis Day of Dot NetAgile Intro - Saint Louis Day of Dot Net
Agile Intro - Saint Louis Day of Dot NetBrian Blanchard
 
Giedrius Krisčiukaitis. Communication
Giedrius Krisčiukaitis. CommunicationGiedrius Krisčiukaitis. Communication
Giedrius Krisčiukaitis. CommunicationAgile Lietuva
 
Technical stories v1.2
Technical stories v1.2Technical stories v1.2
Technical stories v1.2Jim Brisson
 
How to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software EngineeringHow to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software EngineeringAndré Agostinho
 
Agile and Lean Software Development
Agile and Lean Software DevelopmentAgile and Lean Software Development
Agile and Lean Software DevelopmentTathagat Varma
 
Digital Workspaces and the Customer Experience
Digital Workspaces and the Customer ExperienceDigital Workspaces and the Customer Experience
Digital Workspaces and the Customer ExperienceeG Innovations
 
Professional Project Manager Should Be Proficient in Agile
Professional Project Manager Should Be Proficient in AgileProfessional Project Manager Should Be Proficient in Agile
Professional Project Manager Should Be Proficient in AgileNitor
 
From prototype to production - The journey of re-designing SmartUp.io
From prototype to production - The journey of re-designing SmartUp.ioFrom prototype to production - The journey of re-designing SmartUp.io
From prototype to production - The journey of re-designing SmartUp.ioMáté Lang
 
Distilling Agile for Effective Execution
Distilling Agile for Effective ExecutionDistilling Agile for Effective Execution
Distilling Agile for Effective ExecutionOmar Bashir
 
Agile contract for working software
Agile contract for working softwareAgile contract for working software
Agile contract for working softwareJoshua Lai
 
Lecture 6 agile software development
Lecture 6   agile software developmentLecture 6   agile software development
Lecture 6 agile software developmentIIUI
 
Stream me to the Cloud (and back) with Confluent & MongoDB
Stream me to the Cloud (and back) with Confluent & MongoDBStream me to the Cloud (and back) with Confluent & MongoDB
Stream me to the Cloud (and back) with Confluent & MongoDBconfluent
 
EBE 2020 How METRO & Ciklum built a new B2B marketplace
EBE 2020 How METRO & Ciklum built a new B2B marketplaceEBE 2020 How METRO & Ciklum built a new B2B marketplace
EBE 2020 How METRO & Ciklum built a new B2B marketplaceE-Commerce Berlin EXPO
 
OT Security Architecture & Resilience: Designing for Security Success
OT Security Architecture & Resilience:  Designing for Security SuccessOT Security Architecture & Resilience:  Designing for Security Success
OT Security Architecture & Resilience: Designing for Security Successaccenture
 
Scot Secure 2019 Edinburgh (Day 2)
Scot Secure 2019 Edinburgh (Day 2)Scot Secure 2019 Edinburgh (Day 2)
Scot Secure 2019 Edinburgh (Day 2)Ray Bugg
 
Agile Presentation Standing Committee on Gov't Operations Oct 17
Agile Presentation Standing Committee on Gov't Operations Oct 17Agile Presentation Standing Committee on Gov't Operations Oct 17
Agile Presentation Standing Committee on Gov't Operations Oct 17Dan Murphy, PMP, CSPO, CSM
 

Similar to Technology Agility (20)

Advance Microservice Patterns - Event Souring , CQRS
Advance Microservice Patterns - Event Souring , CQRSAdvance Microservice Patterns - Event Souring , CQRS
Advance Microservice Patterns - Event Souring , CQRS
 
Managing technical debt
Managing technical debtManaging technical debt
Managing technical debt
 
GoCrackIt presentation consulting case workshop
GoCrackIt presentation consulting case workshopGoCrackIt presentation consulting case workshop
GoCrackIt presentation consulting case workshop
 
Agile Intro - Saint Louis Day of Dot Net
Agile Intro - Saint Louis Day of Dot NetAgile Intro - Saint Louis Day of Dot Net
Agile Intro - Saint Louis Day of Dot Net
 
Giedrius Krisčiukaitis. Communication
Giedrius Krisčiukaitis. CommunicationGiedrius Krisčiukaitis. Communication
Giedrius Krisčiukaitis. Communication
 
Technical stories v1.2
Technical stories v1.2Technical stories v1.2
Technical stories v1.2
 
How to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software EngineeringHow to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software Engineering
 
Agile and Lean Software Development
Agile and Lean Software DevelopmentAgile and Lean Software Development
Agile and Lean Software Development
 
Digital Workspaces and the Customer Experience
Digital Workspaces and the Customer ExperienceDigital Workspaces and the Customer Experience
Digital Workspaces and the Customer Experience
 
Professional Project Manager Should Be Proficient in Agile
Professional Project Manager Should Be Proficient in AgileProfessional Project Manager Should Be Proficient in Agile
Professional Project Manager Should Be Proficient in Agile
 
From prototype to production - The journey of re-designing SmartUp.io
From prototype to production - The journey of re-designing SmartUp.ioFrom prototype to production - The journey of re-designing SmartUp.io
From prototype to production - The journey of re-designing SmartUp.io
 
Distilling Agile for Effective Execution
Distilling Agile for Effective ExecutionDistilling Agile for Effective Execution
Distilling Agile for Effective Execution
 
Agile contract for working software
Agile contract for working softwareAgile contract for working software
Agile contract for working software
 
The Economics of Security
The Economics of SecurityThe Economics of Security
The Economics of Security
 
Lecture 6 agile software development
Lecture 6   agile software developmentLecture 6   agile software development
Lecture 6 agile software development
 
Stream me to the Cloud (and back) with Confluent & MongoDB
Stream me to the Cloud (and back) with Confluent & MongoDBStream me to the Cloud (and back) with Confluent & MongoDB
Stream me to the Cloud (and back) with Confluent & MongoDB
 
EBE 2020 How METRO & Ciklum built a new B2B marketplace
EBE 2020 How METRO & Ciklum built a new B2B marketplaceEBE 2020 How METRO & Ciklum built a new B2B marketplace
EBE 2020 How METRO & Ciklum built a new B2B marketplace
 
OT Security Architecture & Resilience: Designing for Security Success
OT Security Architecture & Resilience:  Designing for Security SuccessOT Security Architecture & Resilience:  Designing for Security Success
OT Security Architecture & Resilience: Designing for Security Success
 
Scot Secure 2019 Edinburgh (Day 2)
Scot Secure 2019 Edinburgh (Day 2)Scot Secure 2019 Edinburgh (Day 2)
Scot Secure 2019 Edinburgh (Day 2)
 
Agile Presentation Standing Committee on Gov't Operations Oct 17
Agile Presentation Standing Committee on Gov't Operations Oct 17Agile Presentation Standing Committee on Gov't Operations Oct 17
Agile Presentation Standing Committee on Gov't Operations Oct 17
 

More from Omar Bashir

Cloud migration challenges london ct os
Cloud migration challenges   london ct osCloud migration challenges   london ct os
Cloud migration challenges london ct osOmar Bashir
 
5 Software Development Lessons From a Mountaineer
5 Software Development Lessons From a Mountaineer5 Software Development Lessons From a Mountaineer
5 Software Development Lessons From a MountaineerOmar Bashir
 
Quality Loopback
Quality LoopbackQuality Loopback
Quality LoopbackOmar Bashir
 
Technical Debt: Measured and Implied
Technical Debt: Measured and ImpliedTechnical Debt: Measured and Implied
Technical Debt: Measured and ImpliedOmar Bashir
 
Authorisation: Concepts and Implementation
Authorisation: Concepts and ImplementationAuthorisation: Concepts and Implementation
Authorisation: Concepts and ImplementationOmar Bashir
 
Coding for 11 Year Olds
Coding for 11 Year OldsCoding for 11 Year Olds
Coding for 11 Year OldsOmar Bashir
 
High Speed Networks - Applications in Finance
High Speed Networks - Applications in FinanceHigh Speed Networks - Applications in Finance
High Speed Networks - Applications in FinanceOmar Bashir
 
Functional Programming in Java 8
Functional Programming in Java 8Functional Programming in Java 8
Functional Programming in Java 8Omar Bashir
 
An Introduction to Java Compiler and Runtime
An Introduction to Java Compiler and RuntimeAn Introduction to Java Compiler and Runtime
An Introduction to Java Compiler and RuntimeOmar Bashir
 
Computing at Schools: A Guide to Parents
Computing at Schools: A Guide to ParentsComputing at Schools: A Guide to Parents
Computing at Schools: A Guide to ParentsOmar Bashir
 
Information technology
Information technologyInformation technology
Information technologyOmar Bashir
 
Maths with Programming
Maths with ProgrammingMaths with Programming
Maths with ProgrammingOmar Bashir
 
Code Club Talk 2014
Code Club Talk 2014Code Club Talk 2014
Code Club Talk 2014Omar Bashir
 

More from Omar Bashir (15)

Cloud migration challenges london ct os
Cloud migration challenges   london ct osCloud migration challenges   london ct os
Cloud migration challenges london ct os
 
5 Software Development Lessons From a Mountaineer
5 Software Development Lessons From a Mountaineer5 Software Development Lessons From a Mountaineer
5 Software Development Lessons From a Mountaineer
 
Why Java ?
Why Java ?Why Java ?
Why Java ?
 
Quality Loopback
Quality LoopbackQuality Loopback
Quality Loopback
 
Technical Debt: Measured and Implied
Technical Debt: Measured and ImpliedTechnical Debt: Measured and Implied
Technical Debt: Measured and Implied
 
Authorisation: Concepts and Implementation
Authorisation: Concepts and ImplementationAuthorisation: Concepts and Implementation
Authorisation: Concepts and Implementation
 
SOLID Java Code
SOLID Java CodeSOLID Java Code
SOLID Java Code
 
Coding for 11 Year Olds
Coding for 11 Year OldsCoding for 11 Year Olds
Coding for 11 Year Olds
 
High Speed Networks - Applications in Finance
High Speed Networks - Applications in FinanceHigh Speed Networks - Applications in Finance
High Speed Networks - Applications in Finance
 
Functional Programming in Java 8
Functional Programming in Java 8Functional Programming in Java 8
Functional Programming in Java 8
 
An Introduction to Java Compiler and Runtime
An Introduction to Java Compiler and RuntimeAn Introduction to Java Compiler and Runtime
An Introduction to Java Compiler and Runtime
 
Computing at Schools: A Guide to Parents
Computing at Schools: A Guide to ParentsComputing at Schools: A Guide to Parents
Computing at Schools: A Guide to Parents
 
Information technology
Information technologyInformation technology
Information technology
 
Maths with Programming
Maths with ProgrammingMaths with Programming
Maths with Programming
 
Code Club Talk 2014
Code Club Talk 2014Code Club Talk 2014
Code Club Talk 2014
 

Recently uploaded

XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 

Recently uploaded (20)

XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 

Technology Agility

  • 3.
  • 5. In fact, in an agile project, technical excellence is measured by both capacity to deliver customer value today and create an adaptable product for tomorrow. Jim Highsmith
  • 6. Agile Transformation for Disruption Organisation Talent Process Culture Process Engineering
  • 7. Technology and Business Change ● Technology optimises business processes. ● Business change necessitates technology change. ● Not all technology facilitates business change. – Shorter the time to realise a business opportunity more challenging is the corresponding technical change.
  • 8. Inflexible Technology ● Each change adds complexity. ● Complexity leads to brittleness. ● Brittleness leads to further inflexibility.
  • 9. I very frequently get the question: ‘What’s going to change in the next 10 years?’ And that is a very interesting question; it’s a very common one. I almost never get the question: ‘What’s not going to change in the next 10 years?’ And I submit to you that that second question is actually the more important of the two—because    you can build a business strategy around the things that are stable in time… Jeff Bezos
  • 10. Disruption 101 ● Fundamental needs don’t change. ● How these needs are delivered is the differentiator. ● Leading and managing disruption, – A strategic focus on the domain. – Decoupling the domain from delivery mechanisms. – Enabling extensibility in the domain and flexibility in delivery.
  • 11. Strategic Focus on Domain ● Domain Driven Design (DDD), – Focuses on core domain, – Explores models for creative collaboration between domain practitioners and software developers. – Encourages separation of concerns. ● Facilitates, – Strategic definition of sub-domains and interactions between them. – Definition of the domain information models.
  • 12.
  • 13. Domain Model ● Foundation for defining the strategic representation and deriving infrastructure data models. ● Consists of – Entities, – Value objects – Events – Aggregates – Abstractions ● Factories ● Repositories ● Services
  • 14. Bounded Contexts ● Incremental construction of the domain by domain decomposition. – Helps identify generic sub-domains with commoditised implementations. – Sub-domains logically separated by bounded contexts.
  • 15. Event Storming ● Rapid, lightweight group modeling technique. – Capturing domain events without implementation specifics. ● Using the Ubiquitous Language, – Capture domain events on a timeline. – Add triggers, ● Commands causing the events. – Identify sources of triggers. – Describe data for every command event pair. – Identify policies, reactive logic after an event that triggers other events.
  • 16. Software development is a learning process; working code is a side effect. Alberto Brandolini
  • 17. Bounded Contexts From Event Model ● Pivotal Events – Indicate major changes in the domain. – Often form boundaries between sub-domains. ● Swim Lanes – Event series in overlapped timelines. ● Aggregates – Logically related entities and value objects. ● E.g., orders and order lines. – Emerge from grouping of events and commands.
  • 19. Impact of NFRs ● NFRs (Non-functional Requirements) define architectural styles on which the functional design is implemented. ● NFRs also steer infrastructure choices. ● NFRs vary over the life of an application. – May necessitate adopting different architectural styles or technologies. ● Tight coupling between functional code and infrastructure leads to inflexible technology. ● Relegating NFRs in a development cycle leads to inefficient systems.
  • 20. Reducing Coupling and Leakage Account Management Credentials Management LDAP Access Management Database API
  • 21. Reducing Coupling and Leakage Account Management Credentials Management LDAP Access Management Database API Generic Sub-domains Core Domain Infrastructure
  • 22. Independence ● Reducing dependencies to the minimum. – Lower app binary footprint. – Reduce risks. – Simplify testing. ● Isolating dependencies from functional logic. – Functional logic need not change when replacing dependencies. – Hexagonal architecture
  • 24. Agility vs Over Engineering ● Over engineered applications – Cater for all possible eventualities. – Are prematurely and speculatively optimised. – Inflexible due to increased complexity. ● Agile applications are – Flexible and extensible. – Scalable to increase performance on demand.
  • 25. DIPSy A Framework for Technological Agility