Enviar búsqueda
Cargar
Agile and Frameworks
•
2 recomendaciones
•
982 vistas
Sander Hoogendoorn
Seguir
Slide deck for my talk at the Avisi Software Architecture Symposium 2012.
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 102
Descargar ahora
Descargar para leer sin conexión
Recomendados
Scaling Scrum
Scaling Scrum
Me Myself And I (affiliated with Scrum.org)
Adopting Scrum
Adopting Scrum
Alexey Krivitsky
Dependency Injection & IoC
Dependency Injection & IoC
Dennis Loktionov
Inversion of Control and Dependency Injection
Inversion of Control and Dependency Injection
Andriy Buday
Practical Inversion Of Control
Practical Inversion Of Control
mhinze
Dependency Injection Inversion Of Control And Unity
Dependency Injection Inversion Of Control And Unity
rainynovember12
20080531 Intro To Dependency Injection & Inversion Of Control
20080531 Intro To Dependency Injection & Inversion Of Control
donnfelker
The Spring Framework:A brief introduction toInversion of Control
The Spring Framework:A brief introduction toInversion of Control
VisualBee.com
Recomendados
Scaling Scrum
Scaling Scrum
Me Myself And I (affiliated with Scrum.org)
Adopting Scrum
Adopting Scrum
Alexey Krivitsky
Dependency Injection & IoC
Dependency Injection & IoC
Dennis Loktionov
Inversion of Control and Dependency Injection
Inversion of Control and Dependency Injection
Andriy Buday
Practical Inversion Of Control
Practical Inversion Of Control
mhinze
Dependency Injection Inversion Of Control And Unity
Dependency Injection Inversion Of Control And Unity
rainynovember12
20080531 Intro To Dependency Injection & Inversion Of Control
20080531 Intro To Dependency Injection & Inversion Of Control
donnfelker
The Spring Framework:A brief introduction toInversion of Control
The Spring Framework:A brief introduction toInversion of Control
VisualBee.com
How Frameworks Can Kill Your Projects at XP Days Ukraine 2013 in Kiev
How Frameworks Can Kill Your Projects at XP Days Ukraine 2013 in Kiev
Sander Hoogendoorn
20101109 (tech ed) how frameworks kill projects
20101109 (tech ed) how frameworks kill projects
Sander Hoogendoorn
20081027 Smart Use Cases Hogeschool Arnhem Nijmegen
20081027 Smart Use Cases Hogeschool Arnhem Nijmegen
Sander Hoogendoorn
What is this cloud thing?
What is this cloud thing?
Andrew Eisenberg
Open stack summit spring 2014 hybrid cloud landmines - 2014-05-15
Open stack summit spring 2014 hybrid cloud landmines - 2014-05-15
drumulonimbus
7+1 myths of the new os
7+1 myths of the new os
Alexis Richardson
Responsive Design with Backbone
Responsive Design with Backbone
Mauvis Ledford
Micro Frontends.pptx
Micro Frontends.pptx
ShanAli738907
ICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To App
René Winkelmeyer
Max flash based code quality is there a canary in your coal mine-
Max flash based code quality is there a canary in your coal mine-
Xavier Agnetti
Cloud Foundry Introduction and Overview
Cloud Foundry Introduction and Overview
Andy Piper
CloudCamp
CloudCamp
RightScale
Introduction_to_Scrum_Agile_Values
Introduction_to_Scrum_Agile_Values
Laszlo Szalvay
Get the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - Overview
ForgeRock
Modeling, Deploying & Managing Applications on IBM Blue Box with Cloudsoft AMP
Modeling, Deploying & Managing Applications on IBM Blue Box with Cloudsoft AMP
Duncan Johnston-Watt
Docker and microservices - moving from a monolith to microservices
Docker and microservices - moving from a monolith to microservices
Johan Louwers
Case Study: Practical tools and strategies for tackling legacy practices and ...
Case Study: Practical tools and strategies for tackling legacy practices and ...
Alejandro S.
For a Social Local and Mobile Drupal
For a Social Local and Mobile Drupal
Adyax
Introduction to Marketing Cloud UI, Adobe Summit 2014
Introduction to Marketing Cloud UI, Adobe Summit 2014
Damien Antipa
Morden F2E Education - Think of Progressive Web Apps
Morden F2E Education - Think of Progressive Web Apps
Caesar Chi
Flow. The official worst software development approach in history
Flow. The official worst software development approach in history
Sander Hoogendoorn
It's a small world after all. How thinking small changes software big time
It's a small world after all. How thinking small changes software big time
Sander Hoogendoorn
Más contenido relacionado
Similar a Agile and Frameworks
How Frameworks Can Kill Your Projects at XP Days Ukraine 2013 in Kiev
How Frameworks Can Kill Your Projects at XP Days Ukraine 2013 in Kiev
Sander Hoogendoorn
20101109 (tech ed) how frameworks kill projects
20101109 (tech ed) how frameworks kill projects
Sander Hoogendoorn
20081027 Smart Use Cases Hogeschool Arnhem Nijmegen
20081027 Smart Use Cases Hogeschool Arnhem Nijmegen
Sander Hoogendoorn
What is this cloud thing?
What is this cloud thing?
Andrew Eisenberg
Open stack summit spring 2014 hybrid cloud landmines - 2014-05-15
Open stack summit spring 2014 hybrid cloud landmines - 2014-05-15
drumulonimbus
7+1 myths of the new os
7+1 myths of the new os
Alexis Richardson
Responsive Design with Backbone
Responsive Design with Backbone
Mauvis Ledford
Micro Frontends.pptx
Micro Frontends.pptx
ShanAli738907
ICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To App
René Winkelmeyer
Max flash based code quality is there a canary in your coal mine-
Max flash based code quality is there a canary in your coal mine-
Xavier Agnetti
Cloud Foundry Introduction and Overview
Cloud Foundry Introduction and Overview
Andy Piper
CloudCamp
CloudCamp
RightScale
Introduction_to_Scrum_Agile_Values
Introduction_to_Scrum_Agile_Values
Laszlo Szalvay
Get the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - Overview
ForgeRock
Modeling, Deploying & Managing Applications on IBM Blue Box with Cloudsoft AMP
Modeling, Deploying & Managing Applications on IBM Blue Box with Cloudsoft AMP
Duncan Johnston-Watt
Docker and microservices - moving from a monolith to microservices
Docker and microservices - moving from a monolith to microservices
Johan Louwers
Case Study: Practical tools and strategies for tackling legacy practices and ...
Case Study: Practical tools and strategies for tackling legacy practices and ...
Alejandro S.
For a Social Local and Mobile Drupal
For a Social Local and Mobile Drupal
Adyax
Introduction to Marketing Cloud UI, Adobe Summit 2014
Introduction to Marketing Cloud UI, Adobe Summit 2014
Damien Antipa
Morden F2E Education - Think of Progressive Web Apps
Morden F2E Education - Think of Progressive Web Apps
Caesar Chi
Similar a Agile and Frameworks
(20)
How Frameworks Can Kill Your Projects at XP Days Ukraine 2013 in Kiev
How Frameworks Can Kill Your Projects at XP Days Ukraine 2013 in Kiev
20101109 (tech ed) how frameworks kill projects
20101109 (tech ed) how frameworks kill projects
20081027 Smart Use Cases Hogeschool Arnhem Nijmegen
20081027 Smart Use Cases Hogeschool Arnhem Nijmegen
What is this cloud thing?
What is this cloud thing?
Open stack summit spring 2014 hybrid cloud landmines - 2014-05-15
Open stack summit spring 2014 hybrid cloud landmines - 2014-05-15
7+1 myths of the new os
7+1 myths of the new os
Responsive Design with Backbone
Responsive Design with Backbone
Micro Frontends.pptx
Micro Frontends.pptx
ICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To App
Max flash based code quality is there a canary in your coal mine-
Max flash based code quality is there a canary in your coal mine-
Cloud Foundry Introduction and Overview
Cloud Foundry Introduction and Overview
CloudCamp
CloudCamp
Introduction_to_Scrum_Agile_Values
Introduction_to_Scrum_Agile_Values
Get the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - Overview
Modeling, Deploying & Managing Applications on IBM Blue Box with Cloudsoft AMP
Modeling, Deploying & Managing Applications on IBM Blue Box with Cloudsoft AMP
Docker and microservices - moving from a monolith to microservices
Docker and microservices - moving from a monolith to microservices
Case Study: Practical tools and strategies for tackling legacy practices and ...
Case Study: Practical tools and strategies for tackling legacy practices and ...
For a Social Local and Mobile Drupal
For a Social Local and Mobile Drupal
Introduction to Marketing Cloud UI, Adobe Summit 2014
Introduction to Marketing Cloud UI, Adobe Summit 2014
Morden F2E Education - Think of Progressive Web Apps
Morden F2E Education - Think of Progressive Web Apps
Más de Sander Hoogendoorn
Flow. The official worst software development approach in history
Flow. The official worst software development approach in history
Sander Hoogendoorn
It's a small world after all. How thinking small changes software big time
It's a small world after all. How thinking small changes software big time
Sander Hoogendoorn
Welcome to the world of micro-apps
Welcome to the world of micro-apps
Sander Hoogendoorn
Welcome to the world of micro-applications
Welcome to the world of micro-applications
Sander Hoogendoorn
Wat is agile en wat betekent het voor mij?
Wat is agile en wat betekent het voor mij?
Sander Hoogendoorn
20180509 - It's a small world after all. How thinking small is changing softw...
20180509 - It's a small world after all. How thinking small is changing softw...
Sander Hoogendoorn
W-JAX 2017 Keynote. It's a small world after all. How thinking small is chang...
W-JAX 2017 Keynote. It's a small world after all. How thinking small is chang...
Sander Hoogendoorn
Swanseacon 2017 Keynote - It's a small world after all.
Swanseacon 2017 Keynote - It's a small world after all.
Sander Hoogendoorn
Building Better Software Faster
Building Better Software Faster
Sander Hoogendoorn
Geecon Prague 2016 - Thirty months of microservices
Geecon Prague 2016 - Thirty months of microservices
Sander Hoogendoorn
Thirty months of microservices. Stairway to heaven or highway to hell
Thirty months of microservices. Stairway to heaven or highway to hell
Sander Hoogendoorn
Beyond breaking bad. The current state of agile in ten easy lessons
Beyond breaking bad. The current state of agile in ten easy lessons
Sander Hoogendoorn
Beyond breaking bad. The current state of agile in ten easy lessons
Beyond breaking bad. The current state of agile in ten easy lessons
Sander Hoogendoorn
Microservices. Stairway to heaven or highway to hell
Microservices. Stairway to heaven or highway to hell
Sander Hoogendoorn
Microservices. The good, the bad and the ugly.
Microservices. The good, the bad and the ugly.
Sander Hoogendoorn
Modeling Microservices
Modeling Microservices
Sander Hoogendoorn
Designing and building a micro-services architecture. Stairway to heaven or a...
Designing and building a micro-services architecture. Stairway to heaven or a...
Sander Hoogendoorn
Microservices. The good the bad and the ugly
Microservices. The good the bad and the ugly
Sander Hoogendoorn
Scaling agile from the ground up
Scaling agile from the ground up
Sander Hoogendoorn
Growing a microservices landscape (with smart use cases)
Growing a microservices landscape (with smart use cases)
Sander Hoogendoorn
Más de Sander Hoogendoorn
(20)
Flow. The official worst software development approach in history
Flow. The official worst software development approach in history
It's a small world after all. How thinking small changes software big time
It's a small world after all. How thinking small changes software big time
Welcome to the world of micro-apps
Welcome to the world of micro-apps
Welcome to the world of micro-applications
Welcome to the world of micro-applications
Wat is agile en wat betekent het voor mij?
Wat is agile en wat betekent het voor mij?
20180509 - It's a small world after all. How thinking small is changing softw...
20180509 - It's a small world after all. How thinking small is changing softw...
W-JAX 2017 Keynote. It's a small world after all. How thinking small is chang...
W-JAX 2017 Keynote. It's a small world after all. How thinking small is chang...
Swanseacon 2017 Keynote - It's a small world after all.
Swanseacon 2017 Keynote - It's a small world after all.
Building Better Software Faster
Building Better Software Faster
Geecon Prague 2016 - Thirty months of microservices
Geecon Prague 2016 - Thirty months of microservices
Thirty months of microservices. Stairway to heaven or highway to hell
Thirty months of microservices. Stairway to heaven or highway to hell
Beyond breaking bad. The current state of agile in ten easy lessons
Beyond breaking bad. The current state of agile in ten easy lessons
Beyond breaking bad. The current state of agile in ten easy lessons
Beyond breaking bad. The current state of agile in ten easy lessons
Microservices. Stairway to heaven or highway to hell
Microservices. Stairway to heaven or highway to hell
Microservices. The good, the bad and the ugly.
Microservices. The good, the bad and the ugly.
Modeling Microservices
Modeling Microservices
Designing and building a micro-services architecture. Stairway to heaven or a...
Designing and building a micro-services architecture. Stairway to heaven or a...
Microservices. The good the bad and the ugly
Microservices. The good the bad and the ugly
Scaling agile from the ground up
Scaling agile from the ground up
Growing a microservices landscape (with smart use cases)
Growing a microservices landscape (with smart use cases)
Último
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
Alex Barbosa Coqueiro
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
Fwdays
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
Zilliz
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
charlottematthew16
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Fwdays
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
Padma Pradeep
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
Scott Keck-Warren
Training state-of-the-art general text embedding
Training state-of-the-art general text embedding
Zilliz
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Commit University
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
RankYa
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Wonjun Hwang
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
null - The Open Security Community
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Zilliz
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
BookNet Canada
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
Manik S Magar
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
Dubai Multi Commodity Centre
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
UiPathCommunity
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
Fwdays
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Mark Simos
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
Memoori
Último
(20)
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
Training state-of-the-art general text embedding
Training state-of-the-art general text embedding
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
Agile and Frameworks
1.
HOW FRAMEWORKS CAN
KILL YOUR AGILE PROJECTS Sander Hoogendoorn | Principal Technology Officer, Global Agile Thought Leader | Capgemini www.sanderhoogendoorn.com | sander.hoogendoorn@capgemini.com | @aahoogendoorn
2.
SANDER HOOGENDOORN Capgemini
Principal technology officer Global agile thought leader Chief architect Accelerated Delivery Platform (ADP) Other Author books on UML, agile Author +200 articles, columns Speaker +100 international conferences and seminars Microsoft Partner Advisory Council .NET Editorial boards & Advisory boards Capping IT Off Blog Web www.sanderhoogendoorn.com www.ditisagile.nl | www.smartusecase.com sander@ditisagile.nl @aahoogendoorn @ditisagile 2 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
3.
3
HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
4.
4
HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
5.
AGENDA An
short story How frameworks can Software architecture about frameworks get you in trouble versus frameworks The layer Introducing the The supertype descriptor pattern manager-provider 5 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
6.
AGENDA An
short story How frameworks can Software architecture about frameworks get you in trouble versus frameworks The layer Introducing the The supertype descriptor pattern manager-provider 6 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
7.
WATERFALL? BIG-UP FRONT? Architecture!
7 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
8.
WATERFALL? BIG-UP FRONT?
8 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
9.
THE WATERFALL DENTIST
9 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
10.
BOEHM’S LAW 10
HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
11.
11
HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
12.
AGILE. NO UP-FRONT? Architecture?
12 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
13.
BOEHM’S LAW. PER
ITERATION 13 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
14.
AGILE. SOME UP-FRONT Just
enough architecting! Frameworks? 14 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
15.
HOFSTADTER’S LAW It always
takes longer than you expect, even when you take into account Hofstadter’s Law
16.
MYFIRSTSURVEY 16
HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
17.
LIFE IS NEVER
EASY … Frameworks, like pizzas, come in only two sizes: too big and too small.
18.
MYFIRSTSURVEY 18
HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
19.
General purpose frameworks
WHAT’S IT GONNA BE PUNK? Enterprise Library, Spring.Net, Castle, NakedObjects, Accelerated Delivery Framework (ADF), SubSonic Single goaled frameworks – verticals Single goaled frameworks – architectural Dependency injection: ObjectBuilder, Unity, Castle Windsor User interface: Silverlight, ASP.NET MVC, WPF, ASP.NET Ajax, Spring MVC Logging: Log4Net, Logging Block, Common.Logging Process: UI Process Application Block, WF Exception handling: Exception Handling Block Domain: Entity Framework, Hibernate, NEO Apect orientation: PostSharp, SetPoint Search: Lucene.net, NLucene Data: Entity Framework, Hibernate, Castle ActiveRecord, CSLA Portals: DotNetNukeSpatial, Umbraco Service s: WCF, WCF RIA 19 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
20.
FRAMEWORKS - CODEPLEX 20
HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
21.
FRAMEWORKS – WWW.CSHARPOPENSOURCE.COM 21
HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
22.
FRAMEWORKS – MICROSOFT
ENTERPRISE LIBRARY 22 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
23.
FRAMEWORKS – PROJECT
CASTLE 23 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
24.
DON’T BELIEVE THE
HYPE – IT’S A SQL 24 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
25.
CONVINCING THE MANAGEMENT
TO APPLY THE FRAMEWORK (25.5 %) 25 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
26.
UNDERSTANDING THE FRAMEWORK
(56.4 %) 26 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
27.
CONVINCING OTHER DEVELOPERS
TO USE THE FRAMEWORK (23.6 %) 27 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
28.
CONVINCING OTHER DEVELOPERS
TO USE THE FRAMEWORK (23.6 %) 28 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
29.
TRAINING THE DEVELOPERS
(20 %) 29 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
30.
THE EYE OF
THE TIGER 30 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
31.
AGENDA An
short story How frameworks can Software architecture about frameworks get you in trouble versus frameworks The layer Introducing the The supertype descriptor pattern manager-provider 31 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
32.
APPLYING FRAMEWORKS My software
never has bugs. It just develops random features
33.
AGILE. SOME UP-FRONT Just
enough architecting! Frameworks? Just enough re-architecting 33 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
34.
SO GLAD YOU
MADE IT! What if the author of our favorite framework suddenly What if we require stops developing it? additional features that aren’t covered by our framework? And what if the new version of our framework is implemented totally different? What if we decide that another framework might be better than the one we’re using now? What if the framework contains bugs? 34 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
35.
MORE THAN ANYTHING,
DEPENDENCIES WILL KILL YOUR PROJECT 35 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
36.
KENTUCKY FRIED ARCHITECTURE A
short story about framework developers and application developers
37.
PIGS & CHICKENS The
framework The application developer developer 37 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
38.
KFC ARCHITECTURE –
ENTITY FRAMEWORK 38 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
39.
KFC ARCHITECTURE –
ENTITY FRAMEWORK 39 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
40.
KFC ARCHITECTURE –
ENTITY FRAMEWORK 40 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
41.
beta!
Here’s … beta ! LETTING THE LUNATICS RUN THE ASYLUM I don’t care if it works on your machine! We are not shipping your machine!
42.
HOT OR NOT? Hot?
From hot to not? Not? Metro Expression Blend Entity Framework 2.0 HTML5 ASP.NET Ajax LINQ2SQL LightSwitch REST LINQ2Entities WCF RIA Services Unity Entity Data Model Silverlight 4.0? BizTalk Dublin ASP.NET MVC 3 Surface DSL’s MEF Duet Silverlight 2.0 jQuery SketchFlow F# NService Bus Azure Services ASP.NET Entity Framework - Code First ADO.NET Data Services PopFly ASP.NET Dynamic Data M WPF Oslo MGrammar 42 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
43.
BE A F***ING
GENIUS Metro? WTF? I just figured out ASP.NET MVC 43 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
44.
HERE’S JOHNNY! –
ASP.NET MVC 44 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
45.
HERE’S JOHNNY! –
ASP.NET MVC 45 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
46.
NO STRINGS ATTACHED It’s
only in theory that practice and theory are the same
47.
MYFIRSTSURVEY 47
HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
48.
CHANGING BASE CLASSES
– – NHIBERNATE / LOG4NET 48 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
49.
CHANGING BASE CLASSES
– NHIBERNATE / LOG4NET 49 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
50.
YES, YOUR FRAMEWORKS
VERSION TOO Programming is like sex. One mistake and you have to support it for the rest of your life
51.
IT AIN’T OVER
TILL IT’S OVER 51 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
52.
MISSING BASE CLASSES
– WORKFLOW FOUNDATION 4.0 52 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
53.
MISSING BASE CLASSES
– WORKFLOW FOUNDATION 4.0 53 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
54.
AGENDA An
short story How frameworks can Software architecture about frameworks get you in trouble versus frameworks The layer Introducing the The supertype descriptor pattern manager-provider 54 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
55.
SOUND ARCHITECTURE Architecture starts
when you carefully put two bricks together. There it begins.
56.
(SOFTWARE.ARCHITECTURE != LIST<FRAMEWORK>)
57.
A SOFTWARE ARCHITECTURE 57
HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
58.
Pages Presentation
Android? UserControls XAML? Panels What to do? ASPX? Use cases Process Workflow • Identify your architectural requirements Entities (from EF) • Set up a (layered) architecture Domain MVVM? Services MVP? • Identify layers and layer elements Domain Domain objects / Entities MVWTF? Factories / Repositories • List the elements responsibilities Enums / Value objects / Smart references Metadata? • List the elements collaborations JSON? • And only then map to frameworks Service gateways Data / Services Service locators • Create a thin “umbrella” of independence [Mapping] EF? responsible for managing dependencies LINQ? Exact SAP BizTalk Java Nhibernate? Databases Outside world Services / ESB 58 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
59.
LAYER SUPERTYPE From a
developers point of view the user is a peripheral that types when you issue a read request.
60.
LAYER SUPERTYPE
What’s a layer supertype Ollie? Acts as a supertype for all types in its layer All types inherit from the layer supertype Well Stan, it’s characteristics are Name expresses common behaviour Forces common features on all inherited types Ideal starting point for services Initially the layer supertype is empty Reserve layer supertype for future additions 60 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS Extension methods don’t (always) help, you know ©2012 Sander Hoogendoorn. All Rights Reserved
61.
LAYER SUPERTYPE –
ASP.NET MVC 61 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
62.
LAYER SUPERTYPE –
ASP.NET MVC 62 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
63.
Pages Presentation
UserControls Panels Use cases Process Workflow Domain objects / Entities Domain Factories / Repositories Enums / Value objects / Smart references Service gateways Data / Services Service locators [Mapping] Exact SAP BizTalk Java Databases Outside world Services / ESB 63 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
64.
LAYER SUPERTYPE –
USING A LAYER SUPERTYPE 64 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
65.
LAYER SUPERTYPE –
REASON ABOUT LAYER SUPERTYPES 65 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
66.
LAYER SUPERTYPE –
EXTENSION METHODS ON LAYER SUPERTYPES 66 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
67.
AGENDA An
short story How frameworks can Software architecture about frameworks get you in trouble versus frameworks The layer Introducing the The supertype descriptor pattern manager-provider 67 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
68.
DESCRIPTOR Always code as
if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.
69.
I KNOW NOTHING.
I’M FROM BARCELONA What is the matter Mister Fawlty? The problem Manuel, is that I want to use constants in my application But I want to define them in my framework and extend them in my application Enumeration won’t do – there’s no inheritance 69 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
70.
DESCRIPTOR – THE
PROBLEM (1) 70 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
71.
DESCRIPTOR – THE
PROBLEM (2) 71 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
72.
ENUM? 72
HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
73.
STRING COLLECTION? 73
HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
74.
STRING COLLECTION 74
HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
75.
I KNOW NOTHING.
I’M FROM BARCELONA Descriptor Defines a restricted but application specific extendible list of definitions Useful when Enums can not be inherited Framework defines enumeration types that need to be extended in application code Define layer supertype using reflection Pre-define frequently used instances 75 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
76.
DESCRIPTOR PATTERN 76
HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
77.
DESCRIPTOR PATTERN -
DEFINITION 77 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
78.
DESCRIPTOR PATTERN –
EXTENDED DEFINITION 78 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
79.
DESCRIPTOR PATTERN –
USE IN FRAMEWORK 79 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
80.
DESCRIPTOR PATTERN –
USE IN APPLICATION 80 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
81.
MYFIRSTSURVEY 81
HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
82.
DESCRIPTOR PATTERN –
USE IN ASP.NET MVC 82 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
83.
DESCRIPTOR PATTERN –
USE IN ASP.NET MVC 83 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
84.
AGENDA An
short story How frameworks can Software architecture about frameworks get you in trouble versus frameworks The layer Introducing the The supertype descriptor pattern manager-provider 84 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
85.
DEPENDENCY INJECTION XML is
like violence. If it doesn’t solve your problems, you are not using enough of it.
86.
A NEW DISEASE?
What do you think it is? Create true separation between definition and implementation, so that the two can vary independently and can be replaced easily So … Single topic services Looks like a typical case of dependency injection Single or multiple implemenations need to Call functionality without having to know be handled, which differs dependant on the actual implementation context, like with Windows API, logging or error handling Implement replaceable services Unit testing Apply implementations in different contexts Plug-in services at run-time 86 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
87.
DIFFERENT VARIATIONS?
Did you know that there are different types of this dependency injection? Yeah, sure. There’s Arggh… Constructor injection Property (setter) injection And even manual injection Who cares doc? 87 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
88.
DEPENDENCY INJECTION –
CONSTRUCTOR INJECTION 88 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
89.
DEPENDENCY INJECTION –
MANUAL INJECTION c 89 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
90.
DEPENDENCY INJECTION –
WHAT TO PLUG IN 90 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
91.
MANAGER – PROVIDER "Teamwork
is a lot of people doing what I say“ - Marketing executive, Citrix Corporation
92.
MANAGER-PROVIDER PATTERN Definition
Create a simple static facade (manager) for a (set of) interfaced implementations (providers) In practice Manager holds one or a collection of providers Provider implement a particular interface Manager has methods to call methods from interface At run-time, using dependency injection, actual providers are injected 92 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
93.
MANAGER – VALIDATIONMANAGER 93
HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
94.
INTERFACE 94
HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
95.
MANAGER – INITIALIZATION
(USING DEPENDENCY INJECTION) 95 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
96.
CONFIGURATION OF IMPLEMENTATION 96
HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
97.
MANAGER - EXECUTING
METHODS 97 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
98.
CLIENT – CALLING
METHODS 98 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
99.
MANAGER-PROVIDER PATTERN Useful when
Generic services need to be called, which may have different implementations Manager prevents having to loop through each of a list of providers Flexibility to add or remove providers without changing application code Providers differ e.g. in development code, test code or deployed code Use for Task Management View Management Binding and Persisting Resource Management State Management Logging Datasource interaction Testing! 99 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
100.
ARCHITECTURAL CHANGES IN
AGILE? Re-factoring or re-architecting?
101.
Pages Presentation
UserControls Panels What to do? Use cases Process Workflow • Identify your architectural requirements • Set up a (layered) architecture Domain • Identify layers and layer elements Domain objects / Entities Factories / Repositories • List the elements responsibilities / Value objects / Smart references Enums • List the elements collaborations • And only then map to frameworks Service gateways Data / Services Service locators • Create a thin “umbrella” of independence [Mapping] responsible for managing dependencies Exact SAP BizTalk Java Databases Outside world Services / ESB 101 HOW FRAMEWORKS CAN KILL YOUR AGILE PROJECTS ©2012 Sander Hoogendoorn. All Rights Reserved
102.
REFERENCES AND QUESTIONS sander.hoogendoorn@capgemini.com
| sander@ditisagile.nl | @aahoogendoorn | @ditisagile www.sanderhoogendoorn.com | www.ditisagile.nl | www.smartusecase.com | www.accelerateddeliveryplatform.com
Descargar ahora