SlideShare a Scribd company logo
1
Nimble Framework
Software architecture & design in agile era
http://agileanswer.blogspot.com
Tushar Jain
CSP, CSM, CSPO, Six Sigma & Lean Black Belt
Oct 22, 2015 – Agile Strategic Solutions meetup
2
Agile
2
3
Architecture & Design Activities Contd…
3
4
Previous illustration shows very clear boxes but
• Activities are diffused in terms of actions and temporal distance.
• Activities provide feedback to each other.
The more nuanced illustration might looks like happenings in an exotic liquid
river where most of the liquid is flowing in one direction but it has few spirals
which keep on sending feedback to previous spirals. To add the complexity this
river is flowing on the system context. And since it is a river, it has not very
defined banks. Sometime this river is deep and narrow while other time it is
shallow and wide. To add one more level of realism, various spirals are not very
distinct and keep on changing with change in system context. Since spirals are
not very distinct, there is also feed forward.
Architecture & Design Activities
4
5
• Architecture & design process is diffuses and interacting
• Dynamic business and technical environment
• New leanings
Truth
5
6
Visualize architecture consists of three layers of thoughts:
• Process
• Technique
• Pattern
Nimble Framework
6
Contd…
7
Visualize architecture consists of three layers of thoughts:
• Process: At this thought layer architects decide which architectural process
should be chosen. This choice is driven by
• Enterprise policies,
• Size of project,
• Complexity of business domain, …
Few of the Architectural processes:
• Zachman, TOGAF, Risk Driven, Emergent, …
Lot of people may call these as frameworks or any other name but I chose to call them
as processes.
• Technique
• Pattern
Nimble Framework
7
Contd…
8
Visualize architecture consists of three layers of thoughts:
• Process
• Technique: This is second layer of architectural thought. This layer demands that big
technology decisions should be taken like
• RDBMS vs NO SQL,
• Which AppServer,
• Which libraries (Log4j vs Java logging),
• Which architectural pattern (IoC, MVC, etc.),
• Definition of walking skeleton,
• Definition of prototype, etc.
How much architecture is sufficient ?
Majority of decision makers are from Dev Teams but guidance of out of team architects is available to
enforce consistency across teams, enterprise policies, and get benefit of T & I shaped skill sets.
• Pattern
Nimble Framework
8
Contd…
9
Visualize architecture consists of three layers of thoughts:
• Process
• Technique
• Pattern: In this layer core working frameworks are chosen, so Dev Team can
write the code in accordance. Decision like
• SEDAhttp://www.eecs.harvard.edu/~mdw/proj/seda) or
• MicroService or
• SOA or
• Event based or some thing else are made.
Once this decision is made, next level of frameworks is chosen (if required) like Spring
Data or Hibernate.
Nimble Framework
9
Contd…
10
Design phase
• Prototyping and selection of design patterns
• Making choices within architectural container (use annotation or properties
file)
Nimble Framework
10
11
Thank You
Tushar Jain
CSP, CSM, CSPO, Six Sigma & Lean Black Belt
http://agileanswer.blogspot.comOct 22, 2015 – Agile Strategic Solutions meetup

More Related Content

Viewers also liked

Process Design on Prabandhan Framework
Process Design on Prabandhan FrameworkProcess Design on Prabandhan Framework
Process Design on Prabandhan Framework
Anil Mande
 
OSVR Software Framework - Core - April 2015
OSVR Software Framework - Core - April 2015OSVR Software Framework - Core - April 2015
OSVR Software Framework - Core - April 2015
Ryan A. Pavlik
 
Software Engineering - 02. Framework
Software Engineering - 02. FrameworkSoftware Engineering - 02. Framework
Software Engineering - 02. Framework
Arry Arman
 
Design Frameworks for Analysis and Synthesis of Complex Systems
Design Frameworks for Analysis and Synthesis of Complex SystemsDesign Frameworks for Analysis and Synthesis of Complex Systems
Design Frameworks for Analysis and Synthesis of Complex Systems
drjanroodt
 
Teaching requirements analysis REET 2014 at RE2014
Teaching requirements analysis REET 2014 at RE2014Teaching requirements analysis REET 2014 at RE2014
Teaching requirements analysis REET 2014 at RE2014
Luisa Mich
 
Software Frameworks for Music Information Retrieval
Software Frameworks for Music Information RetrievalSoftware Frameworks for Music Information Retrieval
Software Frameworks for Music Information Retrieval
Xavier Amatriain
 
How UI Framework improves design process
How UI Framework improves design processHow UI Framework improves design process
How UI Framework improves design process
Marian Mota
 
ADUF - Adaptable Design Up Front
ADUF -  Adaptable Design Up FrontADUF -  Adaptable Design Up Front
ADUF - Adaptable Design Up Front
Hayim Makabee
 
A modern approach to game analysis and design: the AGE framework
A modern approach to game analysis and design: the AGE frameworkA modern approach to game analysis and design: the AGE framework
A modern approach to game analysis and design: the AGE framework
Roberto Dillon
 
Using Environment as a Framework for Urban Design
Using Environment as a Framework for Urban DesignUsing Environment as a Framework for Urban Design
Using Environment as a Framework for Urban Design
Rutgers University
 
How UI Framework improves design process - 2015 (Dribbble meetup)
How UI Framework improves design process - 2015  (Dribbble meetup)How UI Framework improves design process - 2015  (Dribbble meetup)
How UI Framework improves design process - 2015 (Dribbble meetup)
Marian Mota
 
A Comparative study of Rational Unified process( RUP ), Agile & Microsoft Fra...
A Comparative study of Rational Unified process( RUP ), Agile & Microsoft Fra...A Comparative study of Rational Unified process( RUP ), Agile & Microsoft Fra...
A Comparative study of Rational Unified process( RUP ), Agile & Microsoft Fra...
shailesh.bohra
 
Frameworks Are The Future of Design
Frameworks  Are The Future of DesignFrameworks  Are The Future of Design
Frameworks Are The Future of Design
Joe Lamantia
 
A Security Analysis Framework Powered By An Expert System
A Security Analysis Framework Powered By An Expert SystemA Security Analysis Framework Powered By An Expert System
A Security Analysis Framework Powered By An Expert System
Maher Gamal
 
Framework Design Guidelines
Framework Design GuidelinesFramework Design Guidelines
Framework Design Guidelines
brada
 
Test Automation Framework Design | www.idexcel.com
Test Automation Framework Design | www.idexcel.comTest Automation Framework Design | www.idexcel.com
Test Automation Framework Design | www.idexcel.com
Idexcel Technologies
 

Viewers also liked (17)

Process Design on Prabandhan Framework
Process Design on Prabandhan FrameworkProcess Design on Prabandhan Framework
Process Design on Prabandhan Framework
 
OSVR Software Framework - Core - April 2015
OSVR Software Framework - Core - April 2015OSVR Software Framework - Core - April 2015
OSVR Software Framework - Core - April 2015
 
Software Engineering - 02. Framework
Software Engineering - 02. FrameworkSoftware Engineering - 02. Framework
Software Engineering - 02. Framework
 
Design Frameworks for Analysis and Synthesis of Complex Systems
Design Frameworks for Analysis and Synthesis of Complex SystemsDesign Frameworks for Analysis and Synthesis of Complex Systems
Design Frameworks for Analysis and Synthesis of Complex Systems
 
Teaching requirements analysis REET 2014 at RE2014
Teaching requirements analysis REET 2014 at RE2014Teaching requirements analysis REET 2014 at RE2014
Teaching requirements analysis REET 2014 at RE2014
 
Software Frameworks for Music Information Retrieval
Software Frameworks for Music Information RetrievalSoftware Frameworks for Music Information Retrieval
Software Frameworks for Music Information Retrieval
 
How UI Framework improves design process
How UI Framework improves design processHow UI Framework improves design process
How UI Framework improves design process
 
ADUF - Adaptable Design Up Front
ADUF -  Adaptable Design Up FrontADUF -  Adaptable Design Up Front
ADUF - Adaptable Design Up Front
 
A modern approach to game analysis and design: the AGE framework
A modern approach to game analysis and design: the AGE frameworkA modern approach to game analysis and design: the AGE framework
A modern approach to game analysis and design: the AGE framework
 
Using Environment as a Framework for Urban Design
Using Environment as a Framework for Urban DesignUsing Environment as a Framework for Urban Design
Using Environment as a Framework for Urban Design
 
How UI Framework improves design process - 2015 (Dribbble meetup)
How UI Framework improves design process - 2015  (Dribbble meetup)How UI Framework improves design process - 2015  (Dribbble meetup)
How UI Framework improves design process - 2015 (Dribbble meetup)
 
A Comparative study of Rational Unified process( RUP ), Agile & Microsoft Fra...
A Comparative study of Rational Unified process( RUP ), Agile & Microsoft Fra...A Comparative study of Rational Unified process( RUP ), Agile & Microsoft Fra...
A Comparative study of Rational Unified process( RUP ), Agile & Microsoft Fra...
 
Frameworks Are The Future of Design
Frameworks  Are The Future of DesignFrameworks  Are The Future of Design
Frameworks Are The Future of Design
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
A Security Analysis Framework Powered By An Expert System
A Security Analysis Framework Powered By An Expert SystemA Security Analysis Framework Powered By An Expert System
A Security Analysis Framework Powered By An Expert System
 
Framework Design Guidelines
Framework Design GuidelinesFramework Design Guidelines
Framework Design Guidelines
 
Test Automation Framework Design | www.idexcel.com
Test Automation Framework Design | www.idexcel.comTest Automation Framework Design | www.idexcel.com
Test Automation Framework Design | www.idexcel.com
 

Similar to Nimble framework

Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuable
Comsysto Reply GmbH
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
Comsysto Reply GmbH
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
Comsysto Reply GmbH
 
The Role of the Architect
The Role of the ArchitectThe Role of the Architect
The Role of the Architect
Jonathan Holloway
 
Session on scalability - by isaka traore - 19 may 2016 - rockstart
Session on scalability - by isaka traore - 19 may 2016 - rockstartSession on scalability - by isaka traore - 19 may 2016 - rockstart
Session on scalability - by isaka traore - 19 may 2016 - rockstart
Isaka Traore
 
Agile methodology in cloud computing
Agile methodology in cloud computingAgile methodology in cloud computing
Agile methodology in cloud computingAhmed M. Abed
 
WaterFall Model.ppt
WaterFall Model.pptWaterFall Model.ppt
WaterFall Model.ppt
AbhishekKumar526855
 
From the Monolith to Microservices - CraftConf 2015
From the Monolith to Microservices - CraftConf 2015From the Monolith to Microservices - CraftConf 2015
From the Monolith to Microservices - CraftConf 2015
Randy Shoup
 
Architecture - December 2013 - Avinash Ramineni, Shekhar Veumuri
Architecture   - December 2013 - Avinash Ramineni, Shekhar VeumuriArchitecture   - December 2013 - Avinash Ramineni, Shekhar Veumuri
Architecture - December 2013 - Avinash Ramineni, Shekhar Veumuri
clairvoyantllc
 
Service Architectures at Scale
Service Architectures at ScaleService Architectures at Scale
Service Architectures at Scale
Randy Shoup
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
Srinivasan Nanduri
 
Systems development fall 2006
Systems development   fall 2006Systems development   fall 2006
Systems development fall 2006eeetq
 
Ch 9-design-engineering
Ch 9-design-engineeringCh 9-design-engineering
Ch 9-design-engineering
SHREEHARI WADAWADAGI
 
Why We Need Architects (and Architecture) on Agile Projects
Why We Need Architects (and Architecture) on Agile ProjectsWhy We Need Architects (and Architecture) on Agile Projects
Why We Need Architects (and Architecture) on Agile Projects
Rebecca Wirfs-Brock
 
Architecture of Object Oriented Software Engineering
Architecture of Object Oriented Software EngineeringArchitecture of Object Oriented Software Engineering
Architecture of Object Oriented Software Engineering
Sandesh Jonchhe
 
Architectural design
Architectural designArchitectural design
Architectural design
SHREEHARI WADAWADAGI
 
unit 3 Design 1
unit 3 Design 1unit 3 Design 1
unit 3 Design 1
TharuniDiddekunta
 
An introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptsAn introduction to fundamental architecture concepts
An introduction to fundamental architecture concepts
wweinmeyer79
 

Similar to Nimble framework (20)

Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuable
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
 
The Role of the Architect
The Role of the ArchitectThe Role of the Architect
The Role of the Architect
 
Session on scalability - by isaka traore - 19 may 2016 - rockstart
Session on scalability - by isaka traore - 19 may 2016 - rockstartSession on scalability - by isaka traore - 19 may 2016 - rockstart
Session on scalability - by isaka traore - 19 may 2016 - rockstart
 
Pawan111
Pawan111Pawan111
Pawan111
 
Agile methodology in cloud computing
Agile methodology in cloud computingAgile methodology in cloud computing
Agile methodology in cloud computing
 
WaterFall Model.ppt
WaterFall Model.pptWaterFall Model.ppt
WaterFall Model.ppt
 
From the Monolith to Microservices - CraftConf 2015
From the Monolith to Microservices - CraftConf 2015From the Monolith to Microservices - CraftConf 2015
From the Monolith to Microservices - CraftConf 2015
 
Architecture - December 2013 - Avinash Ramineni, Shekhar Veumuri
Architecture   - December 2013 - Avinash Ramineni, Shekhar VeumuriArchitecture   - December 2013 - Avinash Ramineni, Shekhar Veumuri
Architecture - December 2013 - Avinash Ramineni, Shekhar Veumuri
 
Unit 2
Unit 2Unit 2
Unit 2
 
Service Architectures at Scale
Service Architectures at ScaleService Architectures at Scale
Service Architectures at Scale
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
 
Systems development fall 2006
Systems development   fall 2006Systems development   fall 2006
Systems development fall 2006
 
Ch 9-design-engineering
Ch 9-design-engineeringCh 9-design-engineering
Ch 9-design-engineering
 
Why We Need Architects (and Architecture) on Agile Projects
Why We Need Architects (and Architecture) on Agile ProjectsWhy We Need Architects (and Architecture) on Agile Projects
Why We Need Architects (and Architecture) on Agile Projects
 
Architecture of Object Oriented Software Engineering
Architecture of Object Oriented Software EngineeringArchitecture of Object Oriented Software Engineering
Architecture of Object Oriented Software Engineering
 
Architectural design
Architectural designArchitectural design
Architectural design
 
unit 3 Design 1
unit 3 Design 1unit 3 Design 1
unit 3 Design 1
 
An introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptsAn introduction to fundamental architecture concepts
An introduction to fundamental architecture concepts
 

More from tusjain

Introduction to No SQL
Introduction to No SQLIntroduction to No SQL
Introduction to No SQL
tusjain
 
Map reduce functional programming
Map reduce   functional programmingMap reduce   functional programming
Map reduce functional programming
tusjain
 
NaiBoli
NaiBoliNaiBoli
NaiBoli
tusjain
 
BPEL PM 11g performance tuning - 6
BPEL PM 11g performance tuning  - 6BPEL PM 11g performance tuning  - 6
BPEL PM 11g performance tuning - 6
tusjain
 
BPEL PM 11g performance tuning - 5
BPEL PM 11g performance tuning  - 5BPEL PM 11g performance tuning  - 5
BPEL PM 11g performance tuning - 5
tusjain
 
BPEL PM 11g performance tuning - 4
BPEL PM 11g performance tuning  - 4BPEL PM 11g performance tuning  - 4
BPEL PM 11g performance tuning - 4
tusjain
 
BPEL PM 11g performance tuning - 3
BPEL PM 11g performance tuning  - 3BPEL PM 11g performance tuning  - 3
BPEL PM 11g performance tuning - 3
tusjain
 
BPEL PM 11g performance tuning - 2
BPEL PM 11g performance tuning  - 2BPEL PM 11g performance tuning  - 2
BPEL PM 11g performance tuning - 2
tusjain
 
BPEL PM 11g performance tuning - 1
BPEL PM 11g performance tuning  - 1BPEL PM 11g performance tuning  - 1
BPEL PM 11g performance tuning - 1
tusjain
 
Journey to success v1.0
Journey to success v1.0Journey to success v1.0
Journey to success v1.0
tusjain
 
Card scrum v1.0
Card scrum v1.0Card scrum v1.0
Card scrum v1.0
tusjain
 
Inverted funnel model
Inverted funnel modelInverted funnel model
Inverted funnel model
tusjain
 
Resume
ResumeResume
Resume
tusjain
 

More from tusjain (13)

Introduction to No SQL
Introduction to No SQLIntroduction to No SQL
Introduction to No SQL
 
Map reduce functional programming
Map reduce   functional programmingMap reduce   functional programming
Map reduce functional programming
 
NaiBoli
NaiBoliNaiBoli
NaiBoli
 
BPEL PM 11g performance tuning - 6
BPEL PM 11g performance tuning  - 6BPEL PM 11g performance tuning  - 6
BPEL PM 11g performance tuning - 6
 
BPEL PM 11g performance tuning - 5
BPEL PM 11g performance tuning  - 5BPEL PM 11g performance tuning  - 5
BPEL PM 11g performance tuning - 5
 
BPEL PM 11g performance tuning - 4
BPEL PM 11g performance tuning  - 4BPEL PM 11g performance tuning  - 4
BPEL PM 11g performance tuning - 4
 
BPEL PM 11g performance tuning - 3
BPEL PM 11g performance tuning  - 3BPEL PM 11g performance tuning  - 3
BPEL PM 11g performance tuning - 3
 
BPEL PM 11g performance tuning - 2
BPEL PM 11g performance tuning  - 2BPEL PM 11g performance tuning  - 2
BPEL PM 11g performance tuning - 2
 
BPEL PM 11g performance tuning - 1
BPEL PM 11g performance tuning  - 1BPEL PM 11g performance tuning  - 1
BPEL PM 11g performance tuning - 1
 
Journey to success v1.0
Journey to success v1.0Journey to success v1.0
Journey to success v1.0
 
Card scrum v1.0
Card scrum v1.0Card scrum v1.0
Card scrum v1.0
 
Inverted funnel model
Inverted funnel modelInverted funnel model
Inverted funnel model
 
Resume
ResumeResume
Resume
 

Recently uploaded

Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 

Recently uploaded (20)

Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 

Nimble framework

  • 1. 1 Nimble Framework Software architecture & design in agile era http://agileanswer.blogspot.com Tushar Jain CSP, CSM, CSPO, Six Sigma & Lean Black Belt Oct 22, 2015 – Agile Strategic Solutions meetup
  • 3. 3 Architecture & Design Activities Contd… 3
  • 4. 4 Previous illustration shows very clear boxes but • Activities are diffused in terms of actions and temporal distance. • Activities provide feedback to each other. The more nuanced illustration might looks like happenings in an exotic liquid river where most of the liquid is flowing in one direction but it has few spirals which keep on sending feedback to previous spirals. To add the complexity this river is flowing on the system context. And since it is a river, it has not very defined banks. Sometime this river is deep and narrow while other time it is shallow and wide. To add one more level of realism, various spirals are not very distinct and keep on changing with change in system context. Since spirals are not very distinct, there is also feed forward. Architecture & Design Activities 4
  • 5. 5 • Architecture & design process is diffuses and interacting • Dynamic business and technical environment • New leanings Truth 5
  • 6. 6 Visualize architecture consists of three layers of thoughts: • Process • Technique • Pattern Nimble Framework 6 Contd…
  • 7. 7 Visualize architecture consists of three layers of thoughts: • Process: At this thought layer architects decide which architectural process should be chosen. This choice is driven by • Enterprise policies, • Size of project, • Complexity of business domain, … Few of the Architectural processes: • Zachman, TOGAF, Risk Driven, Emergent, … Lot of people may call these as frameworks or any other name but I chose to call them as processes. • Technique • Pattern Nimble Framework 7 Contd…
  • 8. 8 Visualize architecture consists of three layers of thoughts: • Process • Technique: This is second layer of architectural thought. This layer demands that big technology decisions should be taken like • RDBMS vs NO SQL, • Which AppServer, • Which libraries (Log4j vs Java logging), • Which architectural pattern (IoC, MVC, etc.), • Definition of walking skeleton, • Definition of prototype, etc. How much architecture is sufficient ? Majority of decision makers are from Dev Teams but guidance of out of team architects is available to enforce consistency across teams, enterprise policies, and get benefit of T & I shaped skill sets. • Pattern Nimble Framework 8 Contd…
  • 9. 9 Visualize architecture consists of three layers of thoughts: • Process • Technique • Pattern: In this layer core working frameworks are chosen, so Dev Team can write the code in accordance. Decision like • SEDAhttp://www.eecs.harvard.edu/~mdw/proj/seda) or • MicroService or • SOA or • Event based or some thing else are made. Once this decision is made, next level of frameworks is chosen (if required) like Spring Data or Hibernate. Nimble Framework 9 Contd…
  • 10. 10 Design phase • Prototyping and selection of design patterns • Making choices within architectural container (use annotation or properties file) Nimble Framework 10
  • 11. 11 Thank You Tushar Jain CSP, CSM, CSPO, Six Sigma & Lean Black Belt http://agileanswer.blogspot.comOct 22, 2015 – Agile Strategic Solutions meetup

Editor's Notes

  1. Architectural Analysis Architectural analysis activity is one of the first activities in hashing out the architecture of to be product. In this activity functionality of the product, its non-functional requirements, and technology concerns are taken as input and architectural significant requirements are produced. Effectiveness of this activity is affected by organization’s policies (e.g. we are Java shop), skill of architects, time in hand, clarity in product vision, details of functional and non-functional requirements. Architectural Coalescence Architectural Coalescence is the activity where various options of architecture are hashed out. This activity accepts input from analysis activity. This step requires creation on various models which can fit into system context and propose and/or create engineering practices. Architectural Evaluation Architectural evaluation activity evaluates various models and engineering practices which are output of architectural coalescence activity. Prototypes are created and evaluated for current & expected functional & non-functional requirements, technical concerns, and organizational policies. The output of this activity is validated architectural options. Design Analysis, Coalescence, and Evaluation Design analysis, coalescence, and evaluation involves creating sample designs, evaluating and choosing. Although this activity is clearly consists of set of activities but due to locality of design, they are clubbed together. This activity follows the path of creating prototypes and then testing under architectural boundaries, functional & non-functional requirements. This step is highly influenced by design patterns. Coding and QA This is ever going activity. Here working product is created. This activity accepts input from design activity and also provide feedback to same on continuous basis. This feedback results in refined or alternate design patterns. Usage Now users use the product. Usage provides active feedback by uses and passive feedback via monitoring. Observations from this activity is fed into loop for better understand of evolving system context.
  2. While making decisions about Architectural Techniques and Patterns, one should consider changeability of framework in light of – cost of having changeability vs probability of change. The decisions about architectural process generally taken in sync with elaboration of product vision while architectural technique decisions get affected by how scrum teams are structured and also affect how scrum teams will be structured. The architectural pattern decisions are mostly driven by features, abilities (NFRs) and complexity of business domain. It does not mean these are the only factors but dominant factors. Architectural techniques and pattern decisions both are also influenced by communication pattern with in and across scrum teams, NFRs, business domain complexity, product features, layout of product backlog w.r.t. story mapping technique, etc.